Operable Navegable Nivel AA Nuevo en WCAG 2.2

2.4.11 Enfoque no oscurecido (mínimo)

Meta Mantener visible el elemento que tiene el foco del teclado.
Qué hacer Asegurar que cuando un elemento reciba el foco, esté al menos parcialmente visible — no completamente oculto.
Por qué importa Las personas que no pueden usar un ratón necesitan ver qué elemento tiene el foco del teclado.

Criterio de éxito oficial

2.4.11 Enfoque no oscurecido (mínimo) Nivel AA

Cuando un componente de la interfaz de usuario recibe el foco del teclado, el componente no queda completamente oculto debido al contenido creado por el autor.

Notas sobre el alcance

Si el contenido que oscurece es reposicionable por el usuario, solo se evalúan las posiciones iniciales por defecto del contenido. Si el usuario puede revelar el componente enfocado sin mover el foco (por ejemplo, con la tecla Escape), se considera que el criterio se cumple.

Relación con 2.4.12 (AAA)

Este criterio (AA) exige que el elemento enfocado no quede completamente oculto. El criterio 2.4.12 (AAA) va más lejos: ninguna parte del componente puede quedar oculta por el contenido del autor.

¿Qué es?

Cuando un usuario navega por una página con el teclado, el elemento que recibe el foco debe ser al menos parcialmente visible. Si el elemento queda completamente cubierto por contenido superpuesto (como un banner de cookies, un encabezado fijo o un chat de soporte), el usuario pierde la referencia visual de dónde se encuentra.

Contenido que habitualmente oscurece el foco

Encabezados fijos (position: sticky)

Pies de página pegajosos

Banners de cookies

Widgets de chat de soporte

Diálogos no modales

Comparación: foco oculto vs. visible

✗ Foco completamente oculto

El botón tiene foco pero el footer fijo lo cubre por completo. Falla 2.4.11.

✓ Foco parcialmente visible

Con scroll-padding, el botón enfocado queda visible por encima del footer. Cumple 2.4.11.

¿Por qué es importante?

Los usuarios que navegan con teclado dependen del indicador de foco para saber en qué parte de la página se encuentran. Si el elemento enfocado queda oculto por contenido superpuesto, el usuario pierde completamente la referencia visual y no puede continuar interactuando con la página de forma predecible.

Esto es especialmente crítico para personas con discapacidades motoras que usan el teclado como único dispositivo de entrada, y para personas con discapacidades cognitivas que necesitan pistas visuales claras para orientarse.

¿Quién se ve afectado?

Usuarios de teclado: Dependen del indicador de foco para navegar. Si el elemento está completamente oculto, no saben qué elemento tiene el foco ni cómo interactuar con él.

Personas con baja visión: Usan ampliación de pantalla. Si el elemento enfocado queda tapado por una capa superpuesta, la zona ampliada no les ayuda a encontrarlo.

Personas con discapacidades cognitivas: Necesitan saber siempre dónde están en la página. La pérdida del foco visible les genera confusión y puede impedir completar tareas.

Cómo implementar 2.4.11

Prueba de verificación

Para verificar el cumplimiento: navega por la página usando únicamente el teclado (Tab y Shift+Tab). Comprueba que en ningún momento el elemento enfocado queda completamente oculto por otro contenido —como un encabezado fijo, un footer sticky, un banner o un widget superpuesto.

Solución principal: scroll-padding

La técnica más efectiva es añadir scroll-padding al elemento raíz para dejar espacio libre que compense la altura del contenido superpuesto. Esto garantiza que al navegar con teclado, el elemento enfocado aparezca en una zona visible de la pantalla.

CSS
/* Compensar encabezado fijo de 64px y footer pegajoso de 80px */
html {
  scroll-padding-top: 80px;    /* Margen superior = altura del header fijo */
  scroll-padding-bottom: 96px; /* Margen inferior = altura del footer sticky */
  scroll-behavior: smooth;
}

Estrategias por tipo de contenido

1

Encabezados fijos

Usa scroll-padding-top con un valor igual o superior a la altura del header. Actualízalo si el header cambia de altura.

2

Footers pegajosos

Usa scroll-padding-bottom o asegúrate de que el footer no superpone el área de contenido al navegar con teclado.

3

Banners de cookies

El banner debe poder descartarse con la tecla Escape. Al descartarse, el criterio pasa a cumplirse automáticamente.

4

Widgets de chat

Posiciona el widget de forma que no solape el área de contenido principal, o incluye un modo para minimizarlo con teclado.

5

Diálogos no modales

Usa z-index con cuidado y asegúrate de que los diálogos no modales sean descartables con Escape para liberar el área de foco.

Ejemplos prácticos

Encabezado fijo Enlace de navegación oculto por header sticky

Al navegar con Tab por los enlaces del menú de navegación, el último enlace queda completamente tapado por la barra de navegación fija al hacer scroll. Falla 2.4.11. Solución: añadir scroll-padding-top igual a la altura del header.

Banner de cookies Botón de formulario cubierto por el banner

Un banner de consentimiento de cookies ocupa la parte inferior de la pantalla. Al llegar con Tab al botón «Enviar», queda completamente tapado. Falla 2.4.11. Si el banner puede cerrarse con Escape antes de que el foco llegue al botón, el criterio se cumple.

Correcto Footer fijo con scroll-padding compensado

La página tiene un footer fijo de 72px. El CSS del sitio incluye scroll-padding-bottom: 88px. Al navegar con Tab, todos los elementos enfocados quedan visibles por encima del footer. Cumple 2.4.11.

Excepción Tooltip descartable con Escape

Un tooltip aparece sobre un elemento enfocado. Si el usuario puede cerrarlo con Escape sin mover el foco, el criterio se cumple, aunque el tooltip tape momentáneamente el elemento enfocado.

Técnicas recomendadas

Técnicas suficientes para CE 2.4.11
CódigoTécnicaTipo
C43Usar scroll-padding para desplazar el contenido fuera de los elementos de posicionamiento fijoCSS

Errores comunes

  • Encabezados fijos o footers sticky sin scroll-padding compensatorio que ocultan completamente el elemento enfocado.
  • Banners de cookies persistentes que no se pueden descartar con teclado y cubren los elementos enfocados.
  • Widgets de chat de soporte posicionados de forma que solapan el contenido principal al navegar con teclado.
  • No probar la navegación con teclado después de añadir elementos con position: fixed o position: sticky.

Criterios de éxito relacionados