Diferencia entre revisiones de «Principio 2/2.4 Navegable/2.4.11-A»

De WCAG Wiki
Sin resumen de edición
Sin resumen de edición
 
(No se muestra una edición intermedia del mismo usuario)
Línea 3: Línea 3:
|id_wcag_subcriterio=2.4.11-A
|id_wcag_subcriterio=2.4.11-A
|wcag_titulo_criterio=2.4.11-A. Foco no oculto (mínimo)
|wcag_titulo_criterio=2.4.11-A. Foco no oculto (mínimo)
|wcag_nivel=AA*
|wcag_nivel=AA
|wcag_version=2.2
|wcag_version=2.2
|wcag_principio=2_Operable
|wcag_principio=2_Operable
|wcag_principio_url=Principio_2
|wcag_principio_url=Principio_2
|wcag_pauta=2.4_Navegacion_clara
|wcag_pauta=2.4_Navegable
|wcag_pauta_url=Principio_2/2.4_Navegacion_clara
|wcag_pauta_url=Principio_2/2.4_Navegable
|wcag_grupo=Teclado
|wcag_grupo=Teclado
|wcag_subgrupo=Foco_visible
|wcag_subgrupo=Foco_visible
Línea 27: Línea 27:


<li class="discapacidad-item">
<li class="discapacidad-item">
   [[Archivo:Sinvision.png|20px|class=icon-discapacidad|alt=Discapacidad visual total]]
   [[Archivo:Cognitiva.png|20px|class=icon-discapacidad|alt=Discapacidad visual total]]
   <span class="discapacidad-texto">[[:Categoría:Discapacidad visual total|Visual total]]</span> –  
   <span class="discapacidad-texto">[[:Categoría:Discapacidad Cognitiva|Cognitiva]]</span> –  
   <span class="gravedad gravedad-leve">Barrera leve</span>
   <span class="gravedad gravedad-moderada">Barrera moderada</span>
</li>
</li>


Línea 35: Línea 35:
[[Categoría:Discapacidad motriz]]
[[Categoría:Discapacidad motriz]]
[[Categoría:Discapacidad baja visión]]
[[Categoría:Discapacidad baja visión]]
[[Categoría:Discapacidad visual total]]
[[Categoría:Discapacidad cognitiva]]


|wcag_texto_criterioOAW=
|wcag_texto_criterioOAW=
Línea 41: Línea 41:


|wcag_descripcion_resumida=
|wcag_descripcion_resumida=
Los elementos que reciben foco deben permanecer visibles. Ningún elemento fijo, ventana emergente, banner o overlay puede ocultar totalmente el control enfocado.
Los elementos que reciben foco deben permanecer visibles.  
 
Ningún elemento fijo, ventana emergente, banner o overlay puede ocultar totalmente el control enfocado.


|wcag_objetivo=
|wcag_objetivo=
Línea 51: Línea 53:
|wcag_referencias=
|wcag_referencias=
<ul>
<ul>
<li>Understanding Success Criterion 2.4.11: Focus Not Obscured (Minimum) — WCAG 2.2</li>
<li><span lang="en">[https://www.w3.org/WAI/WCAG22/Understanding/focus-not-obscured-minimum Understanding Success Criterion 2.4.11: Focus Not Obscured (Minimum) — WCAG 2.2]</span></li>
<li>WCAG Quick Reference — 2.4.11</li>
<li><span lang="en">[https://www.w3.org/WAI/WCAG22/quickref/#focus-not-obscured-minimum WCAG Quick Reference — 2.4.11 Focus Not Obscured (Minimum)]</span></li>
<li>WAI-ARIA Authoring Practices — Gestión del foco y capas superpuestas</li>
<li><span lang="en">[https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface WAI-ARIA Authoring Practices — Focus Management and Overlays]</span></li>
</ul>
</ul>


|wcag_recursos=
|wcag_recursos=
<strong> Consejos </strong>
<ul>
<ul>
<li>Buenas prácticas para banners, modales y overlays</li>
<li>Buenas prácticas para banners, modales y overlays</li>
Línea 67: Línea 70:
|wcag_pasos_evaluacion=
|wcag_pasos_evaluacion=
<ol class="paso-list">
<ol class="paso-list">
<li><span class="paso-badge">Paso 1.</span> Navegar con teclado (Tab, Shift+Tab, Enter, Space).</li>
<li><span class="paso-badge">Paso 1.</span>
<li><span class="paso-badge">Paso 2.</span> Verificar que ningún contenido superpuesto oculta por completo el foco.</li>
Navegar por la página utilizando únicamente el teclado para desplazar el foco a los distintos componentes de la interfaz.
<li><span class="paso-badge">Paso 3.</span> Revisar overlays, banners, barras fijas, tooltips y notificaciones.</li>
</li>
<li><span class="paso-badge">Paso 4.</span> Probar con zoom (200%–400%) y modo móvil para detectar superposiciones.</li>
 
<li><span class="paso-badge">Paso 5.</span> Confirmar que el foco permanece visible en componentes dinámicos.</li>
<li><span class="paso-badge">Paso 2.</span>
Observar visualmente cada vez que un componente recibe el foco.
</li>
 
<li><span class="paso-badge">Paso 3.</span>
Verificar que el componente enfocado no queda total ni parcialmente oculto por contenido generado por el autor (por ejemplo: ventanas emergentes, banners, menús superpuestos, tooltips persistentes, barras flotantes, etc.).
</li>
 
<li><span class="paso-badge">Paso 4.</span>
Si algún componente queda oculto al recibir el foco, confirmar que se ofrece un mecanismo para desplazar, minimizar o cerrar el contenido superpuesto sin perder el foco del teclado.
</li>
</ol>
</ol>


|wcag_resultado_evaluacion=
|wcag_resultado_evaluacion=
Línea 79: Línea 94:
|wcag_ejemplo_evaluacion=
|wcag_ejemplo_evaluacion=
<div class="accessibility-card">
<div class="accessibility-card">
<strong>✅ Ejemplo accesible: banner que no tapa el foco</strong>
Banner que no tapa el foco
<pre class="wcag-codigo-html">
<pre class="wcag-codigo-html">
<div role="region" style="position:sticky;bottom:0;background:#eee;padding:1rem;">
<div role="region" aria-label="Aviso de cookies" class="cookies-bar">
   <button>Aceptar cookies</button>
   <button>Aceptar cookies</button>
</div>
</div>
</pre>
<pre class="wcag-codigo-html">
.cookies-bar {
  position: sticky;
  bottom: 0;
  background: #eee;
  padding: 1rem;
}
</pre>
</pre>
</div>
</div>
Línea 89: Línea 112:
|wcag_otras_herramientas_evaluacion=
|wcag_otras_herramientas_evaluacion=
<ul>
<ul>
<li>Prueba con teclado</li>
<li>'''Prueba con teclado''': navegar con <kbd>Tab</kbd> y <kbd>Shift+Tab</kbd> y verificar que el elemento que recibe el foco nunca queda total o parcialmente oculto tras overlays, banners, pop-ups, barras fijas o contenido dinámico.</li>
<li>Zoom 200% y 400%</li>
<li>'''Zoom 200% y 400%''': ampliar el contenido para comprobar que, al aumentar el tamaño, el foco sigue siendo visible y no queda fuera de la ventana o tapado por elementos superpuestos.</li>
<li>Modo responsive</li>
<li>'''Modo responsive''': usar herramientas de inspección responsiva para garantizar que en pantallas pequeñas o con orientación cambiada, el foco no quede detrás de menús móviles o contenedores superpuestos.</li>
<li>AXE / WAVE / Accessibility Insights</li>
<li>'''AXE / WAVE / Accessibility Insights''': usar herramientas automáticas para detectar problemas comunes de foco, overlays y navegación.</li>
<li>Lectores de pantalla (confirmar foco narrado)</li>
<li>'''Lectores de pantalla''': (NVDA, JAWS, VoiceOver) confirmar que la narración coincide con el foco visible y que el usuario no “pierde” la ubicación de interacción.</li>
</ul>
</ul>
}}
}}

Revisión actual - 12:45 6 nov 2025

2.4.11-A. Foco no oculto (mínimo)

Discapacidades afectadas

Este criterio puede afectar a distintas personas con discapacidad. A continuación se indican las más relevantes.

Enunciado del criterio (Observatorio de Accesibilidad Web)

  • Cuando un componente de la interfaz de usuario recibe el foco mediante teclado, dicho componente no puede estar completamente oculto por contenido generado por el autor.

Comprensión del criterio

Descripción resumida

Los elementos que reciben foco deben permanecer visibles. Ningún elemento fijo, ventana emergente, banner o overlay puede ocultar totalmente el control enfocado.

Objetivo

Garantizar que las personas que utilizan el teclado pueden localizar en todo momento cuál elemento tiene el foco, manteniendo orientación y control de la interacción.

Importancia de cumplir el criterio

Si el foco queda oculto, el usuario puede perder la posición en la página, bloquearse y no poder continuar usando la interfaz.

Referencias WCAG

Recursos de apoyo

Consejos
  • Buenas prácticas para banners, modales y overlays
  • Pseudoclase :focus-visible para indicar foco
  • Patrones WAI-ARIA para navegación con foco en interfaces dinámicas

Evaluación del criterio

Tipo de evaluación

Evaluación Manual

Procedimiento de evaluación

  1. Paso 1. Navegar por la página utilizando únicamente el teclado para desplazar el foco a los distintos componentes de la interfaz.
  2. Paso 2. Observar visualmente cada vez que un componente recibe el foco.
  3. Paso 3. Verificar que el componente enfocado no queda total ni parcialmente oculto por contenido generado por el autor (por ejemplo: ventanas emergentes, banners, menús superpuestos, tooltips persistentes, barras flotantes, etc.).
  4. Paso 4. Si algún componente queda oculto al recibir el foco, confirmar que se ofrece un mecanismo para desplazar, minimizar o cerrar el contenido superpuesto sin perder el foco del teclado.

Resultado esperado

El elemento enfocado nunca queda completamente oculto. El usuario puede ver siempre dónde está el foco.

Ejemplo ilustrativo

Banner que no tapa el foco

<div role="region" aria-label="Aviso de cookies" class="cookies-bar">
  <button>Aceptar cookies</button>
</div>
.cookies-bar {
  position: sticky;
  bottom: 0;
  background: #eee;
  padding: 1rem;
}


Otras herramientas de evaluación

  • Prueba con teclado: navegar con Tab y Shift+Tab y verificar que el elemento que recibe el foco nunca queda total o parcialmente oculto tras overlays, banners, pop-ups, barras fijas o contenido dinámico.
  • Zoom 200% y 400%: ampliar el contenido para comprobar que, al aumentar el tamaño, el foco sigue siendo visible y no queda fuera de la ventana o tapado por elementos superpuestos.
  • Modo responsive: usar herramientas de inspección responsiva para garantizar que en pantallas pequeñas o con orientación cambiada, el foco no quede detrás de menús móviles o contenedores superpuestos.
  • AXE / WAVE / Accessibility Insights: usar herramientas automáticas para detectar problemas comunes de foco, overlays y navegación.
  • Lectores de pantalla: (NVDA, JAWS, VoiceOver) confirmar que la narración coincide con el foco visible y que el usuario no “pierde” la ubicación de interacción.










Ejemplos accesibles y no accesibles creados por alumnos

<!DOCTYPE html> Formulario de Reserva - NO Accesible 3.3.2-C

⚠️ PROBLEMA 3.3.2-C: Este formulario NO tiene etiquetas ni instrucciones claras

Reserva de Hotel

⚠️ Problemas de este formulario:
  • No hay etiquetas <label> para ningún campo
  • Algunos placeholders son ambiguos ("Código" - ¿qué código?)
  • No se indica qué campos son obligatorios
  • No hay instrucciones sobre el formato esperado
  • El select dice "Selecciona" pero ¿seleccionar qué?
  • Un campo no tiene ni placeholder ni etiqueta (campo de email)
  • No hay indicación de formato de fecha específico
  • No se explica para qué sirve cada campo

<!DOCTYPE html> Formulario de Reserva - ACCESIBLE 3.3.2-C

✅ ACCESIBLE 3.3.2-C: Este formulario tiene etiquetas e instrucciones claras

Reserva de Hotel

Complete el siguiente formulario para reservar su estadía

Nota: Los campos marcados con * son obligatorios

Ingrese su nombre tal como aparece en su documento de identidad

Enviaremos la confirmación de reserva a este correo

Incluya el código de país (Ej: +34 para España)

¿Cuántas personas se alojarán?

Formato: DD/MM/AAAA (Ej: 15/02/2025)

Formato: DD/MM/AAAA (Ej: 20/02/2025)

Seleccione el tipo de habitación que prefiere

Si tiene un código promocional, ingréselo aquí

Indique cualquier necesidad especial o preferencia (cama extra, piso bajo, accesibilidad, etc.)

✅ Implementación correcta:
  • Cada campo tiene una etiqueta <label> clara asociada
  • Los campos obligatorios están claramente marcados con *
  • Hay instrucciones específicas sobre formato y contenido esperado
  • Los selectores tienen opciones descriptivas, no ambiguas
  • Se explica el propósito de cada campo cuando no es obvio
  • Se proporcionan ejemplos en los placeholders
  • Hay una nota inicial explicando la convención de campos obligatorios
  • Se usan atributos ARIA apropiados (aria-required, aria-describedby)

Comentarios

A continuación se muestran comentarios sobre el criterio 2.4.11-A. Foco no oculto (mínimo)

Loading comments...