Diferencia entre revisiones de «Principio 2/2.4 Navegable/2.4.3-B»
De WCAG Wiki
< Principio 2 | 2.4 Navegable
Sin resumen de edición |
Sin resumen de edición |
||
| (No se muestran 3 ediciones intermedias del mismo usuario) | |||
| Línea 4: | Línea 4: | ||
|wcag_titulo_criterio=2.4.3-B. Contenido dinámico y orden del foco | |wcag_titulo_criterio=2.4.3-B. Contenido dinámico y orden del foco | ||
|wcag_nivel=A | |wcag_nivel=A | ||
|wcag_version=2. | |wcag_version=2.0 | ||
|wcag_principio=2_Operable | |wcag_principio=2_Operable | ||
|wcag_principio_url=Principio_2 | |wcag_principio_url=Principio_2 | ||
|wcag_pauta=2. | |wcag_pauta=2.4_Navegable | ||
|wcag_pauta_url=Principio_2/2. | |wcag_pauta_url=Principio_2/2.4_Navegable | ||
|wcag_grupo=Navegación | |wcag_grupo=Navegación | ||
|wcag_subgrupo=Teclado_y_contenido | |wcag_subgrupo=Teclado_y_contenido | ||
| Línea 25: | Línea 25: | ||
</li> | </li> | ||
<li class="discapacidad-item"> | <li class="discapacidad-item"> | ||
[[Archivo: | [[Archivo:sordoceguera.png|20px|class=icon-discapacidad|alt=Discapacidad sordoceguera]] | ||
<span class="discapacidad-texto">[[:Categoría:Discapacidad | <span class="discapacidad-texto">[[:Categoría:Discapacidad sordoceguera|Sordoceguera]]</span> | ||
– | |||
<span class="gravedad gravedad-grave">Barrera grave</span> | <span class="gravedad gravedad-grave">Barrera grave</span> | ||
</li> | </li> | ||
|wcag_lista_discapacidades= | |wcag_lista_discapacidades= | ||
[[Categoría:Discapacidad motriz]] | [[Categoría:Discapacidad motriz]] | ||
[[Categoría:Discapacidad visual total]] | [[Categoría:Discapacidad visual total]] | ||
[[Categoría:Discapacidad | [[Categoría:Discapacidad sordoceguera]] | ||
|wcag_texto_criterioOAW= | |wcag_texto_criterioOAW= | ||
Si el contenido de una página se modifica dinámicamente | 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. | ||
|wcag_descripcion_resumida= | |wcag_descripcion_resumida= | ||
| Línea 61: | Línea 51: | ||
|wcag_referencias= | |wcag_referencias= | ||
<ul> | <ul> | ||
<li><span lang="en">[https://www.w3.org/WAI/ | <li><span lang="en">[https://www.w3.org/WAI/WCAG21/Techniques/client-side-script/SCR26 SCR26: Inserting dynamic content into the Document Object Model immediately following its trigger element]</span></li> | ||
<li>[https://www.w3.org/ | <li><span lang="en">[https://www.w3.org/WAI/WCAG21/Techniques/client-side-script/SCR37 SCR37: Creating custom dialogs in a device independent way]</span></li> | ||
<li>[https:// | <li><span lang="en">[https://www.w3.org/WAI/WCAG21/Techniques/failures/F85 F85: Failure due to using dialogs or menus that are not adjacent to their trigger control in the sequential navigation order]</span></li> | ||
</ul> | </ul> | ||
|wcag_recursos= | |||
|wcag_recursos= No hay | |||
|wcag_tipo_evaluacion=Manual | |wcag_tipo_evaluacion=Manual | ||
| Línea 78: | Línea 63: | ||
|wcag_pasos_evaluacion= | |wcag_pasos_evaluacion= | ||
<ol class="paso-list"> | <ol class="paso-list"> | ||
<li> | <li><span class="paso-badge">Paso 1.</span> | ||
<li> | Localizar todos los elementos de contenido dinámico de la página (p. ej., cuadros de diálogo, menús desplegables…). | ||
<li> | </li> | ||
<li> | |||
< | <li><span class="paso-badge">Paso 2.</span> | ||
Utilizar el teclado para acceder a dicho contenido. Debe comprobarse que: | |||
<ul> | |||
<li>a. El foco se encuentra dentro de dicho contenido.</li> | |||
<li>b. Cuando se sigue tabulando, el foco avanza en una navegación secuencial dentro de dicho contenido.</li> | |||
</ul> | |||
</li> | |||
<li><span class="paso-badge">Paso 3.</span> | |||
Utilizar el teclado para salir de dicho contenido. Debe comprobarse que: | |||
<ul> | |||
<li>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.</li> | |||
</ul> | |||
<span class="paso-badge"> Nota: </span> | |||
Si el comportamiento no es el adecuado, puede ser útil la herramienta <strong> [https://chromewebstore.google.com/detail/web-developer/bfbameneiokkgbdmiekhjnmfkcnldhhm?hl=es Web Developer Toolbar] </strong> activando <strong>Information → Display Tab Index</strong> para visualizar el atributo <code>tabindex</code> y ayudar a identificar el origen del problema. | |||
</li> | |||
</ol> | </ol> | ||
| Línea 90: | Línea 90: | ||
|wcag_ejemplo_evaluacion= | |wcag_ejemplo_evaluacion= | ||
<div class="accessibility-card"> | <div class="accessibility-card"> | ||
Menú con foco gestionado | |||
<pre class="wcag-codigo-html"> | <pre class="wcag-codigo-html"> | ||
<button id="openMenu">Menú</button> | <button id="openMenu">Menú</button> | ||
| Línea 108: | Línea 109: | ||
}); | }); | ||
</script> | </script> | ||
</pre> | </pre> | ||
</div> | </div> | ||
| Línea 122: | Línea 114: | ||
|wcag_otras_herramientas_evaluacion= | |wcag_otras_herramientas_evaluacion= | ||
<ul> | <ul> | ||
<li> | <li>'''Navegación con teclado''': interactuar con componentes dinámicos (p. ej. menús desplegables, modales, pestañas, acordeones) usando <kbd>Tab</kbd> y <kbd>Shift + Tab</kbd>, asegurando que el foco sigue un orden lógico y no pasa por elementos ocultos.</li> | ||
<li> | <li>'''Inspección del DOM''': comprobar que los elementos dinámicamente ocultos se gestionan correctamente (p. ej., usando <code>display:none</code>, <code>hidden</code>, <code>aria-hidden="true"</code>) para que no sean alcanzables con el foco.</li> | ||
<li> | <li>'''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.</li> | ||
<li> | <li>'''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.</li> | ||
</ul> | </ul> | ||
}} | }} | ||
Revisión actual - 12:44 6 nov 2025
2.4.3-B. Contenido dinámico y orden del foco
- Nivel: A
- Versión: 2.0
- Principio: 2_Operable
- Pauta: 2.4_Navegable
- 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...
