Operable Navegable Nivel A WCAG 2.0, 2.1, 2.2

2.4.3 Orden de enfoque

Meta Los usuarios del teclado navegan por el contenido en un orden correcto y predecible.
Qué hacer Los elementos enfocables reciben el foco en un orden que preserva el significado y la operatividad.
Por qué importa Navegar por un sitio solo con el teclado tendrá sentido y no será confuso.

Criterio de éxito oficial

2.4.3 Orden de enfoque Nivel A

Si se puede navegar secuencialmente por una página web y las secuencias de navegación afectan el significado o la operación, los componentes enfocables reciben el foco en un orden que preserva el significado y la operatividad.

Diferencia con 1.3.2

El criterio 1.3.2 Secuencia significativa trata sobre el orden de lectura del contenido. Este criterio, 2.4.3, trata específicamente sobre el orden en que los elementos interactivos reciben el foco con Tab.

¿Qué es?

Cuando un usuario navega con Tab, el foco debe moverse en un orden lógico: normalmente de izquierda a derecha, de arriba a abajo, siguiendo el flujo de lectura natural. Si el orden de foco no coincide con la estructura visual o lógica de la página, la navegación se vuelve confusa e impredecible.

✗ Orden de foco caótico
1
Nombre
← foco aquí
4
Apellidos
Tab saltó al 4
2
Email
luego Tab al 2
3
Teléfono
luego Tab al 3
✓ Orden de foco lógico
1
Nombre
← foco aquí
2
Apellidos
Tab → siguiente
3
Email
Tab → siguiente
4
Teléfono
Tab → siguiente

¿Por qué es importante?

Un orden de foco incorrecto puede hacer que un formulario sea imposible de rellenar con teclado, que un diálogo modal quede inutilizable o que los usuarios pierdan el hilo de la interacción. La desorientación causada por saltos inesperados del foco es uno de los problemas de accesibilidad más frustrantes.

¿Quién se ve afectado?

Personas ciegas: Navegan secuencialmente con el lector de pantalla. Un orden de foco incorrecto les lleva a partes inesperadas de la página, perdiendo el contexto.

Personas con discapacidades motoras: Navegan exclusivamente con teclado, pedal o switch. Un orden de foco caótico hace inoperables partes del sitio.

Personas con discapacidades cognitivas: Un orden predecible reduce la carga cognitiva y hace la experiencia comprensible.

Cómo implementar 2.4.3

El orden del DOM es el orden del foco

El orden en que los elementos aparecen en el código HTML determina el orden de tabulación por defecto. Diseña el HTML con el orden correcto y evita usar CSS para reordenar visualmente sin actualizar el DOM.

HTML
<!-- ✓ Orden DOM = orden lógico del formulario -->
<label for="nombre">Nombre</label>
<input id="nombre" type="text">

<label for="email">Email</label>
<input id="email" type="email">

<button type="submit">Enviar</button>

Valores de tabindex

-1
tabindex="-1"
El elemento puede recibir foco programáticamente pero no con Tab. Útil para gestionar el foco en modales y diálogos.
Usar con cuidado
0
tabindex="0"
Incluye el elemento en el orden de Tab según su posición en el DOM. Recomendado para elementos personalizados que deben ser enfocables.
Recomendado
+N
tabindex positivo
Fuerza un orden específico no relacionado con el DOM. Casi siempre crea problemas de accesibilidad. Evitar.
Evitar siempre

Gestión de foco en modales

Cuando se abre un modal o diálogo, el foco debe moverse al primer elemento interactivo del modal. Al cerrarlo, el foco debe volver al elemento que lo activó.

JavaScript
// Al abrir el modal
modal.removeAttribute('hidden');
modal.querySelector('button, [href], input').focus();

// Al cerrar el modal
modal.setAttribute('hidden', '');
triggerButton.focus(); // devolver foco al disparador

Ejemplos prácticos

Correcto Formulario con orden DOM lógico

Un formulario de registro tiene los campos en el orden visual: Nombre → Apellidos → Email → Contraseña → Botón. El HTML sigue exactamente el mismo orden, por lo que Tab funciona de forma natural.

Correcto Modal con gestión de foco

Al abrir un cuadro de diálogo de confirmación, el foco se mueve automáticamente al botón «Confirmar». Al cerrarlo (con «Cancelar» o Escape), el foco vuelve al botón que abrió el modal.

Fallo tabindex positivos que desordenan el Tab

Un formulario usa tabindex="3", tabindex="1", tabindex="2" en sus campos. El foco salta de la segunda columna a la primera, luego vuelve a la segunda, confundiendo a cualquier usuario de teclado.

Fallo Foco perdido al cerrar un modal

Un diálogo de confirmación se cierra pero el foco va al inicio del documento en lugar de volver al botón que abrió el modal. El usuario de teclado debe volver a recorrer toda la página.

Técnicas recomendadas

Técnicas suficientes para CE 2.4.3
CódigoTécnicaTipo
G59Colocar los elementos interactivos en un orden coherente con el flujo de lecturaSuficiente
H4Crear un orden lógico de tabulación con tabindexSuficiente
C27Hacer que el orden del DOM coincida con el orden visualSuficiente
SCR26Insertar el elemento dinámico en el DOM justo después del elemento que lo activaSuficiente
SCR37Crear diálogos personalizados de forma accesibleSuficiente

Errores comunes

F44: Usar tabindex con valores mayores que 0 para modificar el orden del foco.
F85: Usar diálogos o ventanas emergentes que no reciben el foco cuando se abren.
  • Usar CSS order o flex-direction: column-reverse sin actualizar el orden del DOM.
  • No devolver el foco al elemento disparador al cerrar un modal.
  • Elementos interactivos generados dinámicamente que aparecen al final del DOM aunque visualmente estén antes.

Criterios de éxito relacionados