Principio 2/2.4 Navegable/2.4.3-B
De WCAG Wiki
< Principio 2 | 2.4 Navegable
2.4.3-B. Contenido dinámico y orden del foco
- Nivel: A
- Versión: 2.0
- Principio: 2_Operable
- Pauta: 2.4_Navegacion_clara
- Grupo: Navegación
- Subgrupo: Teclado_y_contenido
Discapacidades afectadas
Este criterio puede afectar a distintas personas con discapacidad. A continuación se indican las más relevantes.
-
Motriz –
Barrera grave
-
Visual total –
Barrera grave
-
Sordoceguera
–
Barrera grave
Enunciado del criterio (Observatorio de Accesibilidad Web)
- Si el contenido de una página se modifica dinámicamente se debe hacer de forma que el orden del foco sigue teniendo sentido y sin tabular por elementos ocultos.
Comprensión del criterio
Descripción resumida
Cuando el contenido aparece, desaparece o cambia mediante scripts, el orden de tabulación se debe mantener lógico y el foco debe moverse al contenido visible y relevante.
Objetivo
Asegurar que los usuarios que navegan con teclado y tecnologías de apoyo puedan mantener el contexto cuando el contenido cambia dinámicamente.
Importancia de cumplir el criterio
Si el foco se mueve a elementos ocultos o deja zonas accesibles, los usuarios pueden perder orientación, no completar tareas o quedar atrapados fuera del flujo correcto de interacción.
Referencias WCAG
Recursos de apoyo
No hay
Evaluación del criterio
Tipo de evaluación
Evaluación Manual
Procedimiento de evaluación
- Paso 1. Localizar todos los elementos de contenido dinámico de la página (p. ej., cuadros de diálogo, menús desplegables…).
- Paso 2.
Utilizar el teclado para acceder a dicho contenido. Debe comprobarse que:
- a. El foco se encuentra dentro de dicho contenido.
- b. Cuando se sigue tabulando, el foco avanza en una navegación secuencial dentro de dicho contenido.
- Paso 3.
Utilizar el teclado para salir de dicho contenido. Debe comprobarse que:
- a. El foco se sitúa en el elemento usado para abrir el diálogo o bien en el siguiente elemento de la página.
Nota: Si el comportamiento no es el adecuado, puede ser útil la herramienta Web Developer Toolbar activando Information → Display Tab Index para visualizar el atributo
tabindexy ayudar a identificar el origen del problema.
Resultado esperado
El foco permanece en contenido visible, sigue orden lógico y respeta la interacción dinámica sin exponer elementos ocultos.
Ejemplo
Menú con foco gestionado
<button id="openMenu">Menú</button>
<nav id="menu" hidden aria-hidden="true">
<a href="#a">Opción A</a>
<a href="#b">Opción B</a>
</nav>
<script>
const btn = document.getElementById('openMenu');
const menu = document.getElementById('menu');
btn.addEventListener('click', () => {
menu.hidden = false;
menu.setAttribute('aria-hidden','false');
menu.querySelector('a').focus();
});
</script>
Otras herramientas de evaluación
- Navegación con teclado: interactuar con componentes dinámicos (p. ej. menús desplegables, modales, pestañas, acordeones) usando Tab y Shift + Tab, asegurando que el foco sigue un orden lógico y no pasa por elementos ocultos.
- Inspección del DOM: comprobar que los elementos dinámicamente ocultos se gestionan correctamente (p. ej., usando
display:none,hidden,aria-hidden="true") para que no sean alcanzables con el foco. - Pruebas de cambios de estado: abrir/cerrar componentes y verificar que el foco se mueve al contenido visible relevante y vuelve al punto lógico al cerrar.
- Lectores de pantalla: (NVDA, JAWS, VoiceOver) confirmar que el contenido dinámico se anuncia adecuadamente y que el orden del foco no se rompe al interactuar.
Ejemplos accesibles y no accesibles creados por alumnos
Comentarios
A continuación se muestran comentarios sobre el criterio 2.4.3-B. Contenido dinámico y orden del foco
Loading comments...
