Escaneo gratis

25 de octubre de 2026

Foco no oculto WCAG: cabecera fija, banner de cookies y scroll-padding (2.4.11)

¿Su cabecera fija tapa por completo el enlace al que acaba de llegar un usuario con el teclado? Eso es justo lo que regula el criterio de foco no oculto WCAG. El criterio de conformidad 2.4.11 «Foco no oculto (mínimo)», de nivel AA, exige que, cuando un componente de interfaz recibe el foco del teclado, no quede completamente oculto por contenido creado por el autor. En la práctica: mientras alguien navega con el teclado, el elemento enfocado debe seguir siendo al menos parcialmente visible. Los casos típicos que cita el W3C son las cabeceras y pies de página fijos y los diálogos no modales; un banner de cookies fijo también puede hacer fallar el criterio. El W3C indica una técnica suficiente, scroll-padding de CSS (técnica C43), y un fallo documentado: un pie de página o una cabecera fijos que ocultan por completo los elementos enfocados (fallo F110).

Qué exige exactamente el criterio 2.4.11 Foco no oculto

El texto normativo es breve: cuando un componente de interfaz recibe el foco del teclado, no queda completamente oculto por contenido creado por el autor. La palabra clave es «completamente»: en el nivel AA, un componente parcialmente cubierto puede cumplir. El W3C justifica esta tolerancia por la complejidad de los diseños responsive actuales, y recuerda que cuanto más cubierto está un componente, menos fácil resulta verlo. Por eso los autores deberían intentar reducir el grado y la frecuencia de ese solapamiento parcial.

El resultado ideal, sin ningún solapamiento, corresponde a otro criterio de nivel AAA: Foco no oculto (mejorado). Considere el nivel AA como un mínimo, no como una meta.

El criterio evalúa el componente enfocado, no el indicador de foco. El indicador solo cuenta si está dentro del componente o si el foco se señala mediante un cambio en el propio componente. Según el W3C, así se obtiene una medida más clara, pero un indicador de foco totalmente oculto probablemente incumpliría el criterio 2.4.7 Foco visible.

Foco no oculto WCAG: por qué una cabecera fija o un banner de cookies puede ocultar el foco

El W3C cita los pies de página fijos, las cabeceras fijas y los diálogos no modales como los tipos de contenido que típicamente pueden solaparse con los elementos enfocados: a medida que el usuario avanza con la tecla Tab, estas capas pueden tapar el elemento que recibe el foco y su indicador de foco.

El W3C cita expresamente el banner de cookies como ejemplo. Una notificación implementada como contenido fijo, por ejemplo un banner de cookies, incumple el criterio si oculta por completo un componente que recibe el foco. Para las personas videntes que usan el teclado, o un dispositivo que funciona a través de la interfaz de teclado como un pulsador o el control por voz, saber dónde está el foco es fundamental: sin verlo, pueden no saber cómo continuar, o incluso pensar que el sistema ha dejado de responder.

Las capas semitransparentes, difuminadas u oscurecidas también merecen atención. Es posible que el elemento enfocado no quede completamente oculto por estas capas, en cuyo caso cumple el 2.4.11, pero puede incumplir por separado el criterio 1.4.11 Contraste no textual: el indicador de foco debe evaluarse según sus requisitos de contraste tal como se ve bajo la capa.

Corregir con scroll-padding: la técnica CSS C43

La técnica suficiente que el W3C indica para este criterio es la C43: usar la propiedad CSS scroll-padding para dejar de ocultar el contenido. El ejemplo del W3C: en una página con un pie de página fijo, el elemento enfocado no queda completamente tapado porque el contenido de la ventana se desplaza para mostrar siempre el elemento con el foco del teclado gracias al scroll padding. El W3C también menciona el scroll padding para los banners, de modo que el banner no se superponga al resto del contenido.

El fragmento siguiente es una ilustración nuestra, que debe adaptar: la página Understanding del W3C cita la técnica C43 sin detallar su sintaxis. Damos a scroll-padding un valor que corresponde a la altura de cada barra fija; compruebe el resultado con el teclado en cada punto de ruptura.

/* Ilustración: reservar espacio para la cabecera y el pie fijos */
html {
  scroll-padding-top: 5rem;    /* altura de la cabecera fija */
  scroll-padding-bottom: 4rem; /* altura del pie de página fijo */
}

.site-header {
  position: sticky;
  top: 0;
}

/* Indicador de foco visible con teclado (técnica C45) */
a:focus-visible,
button:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 2px;
}

Banners de cookies y notificaciones: otras soluciones

El scroll-padding no es la única vía. Para un banner de cookies o una notificación fija, el W3C describe varias formas de cumplir el criterio:

Contenido persistente abierto por el usuario

Para el contenido persistente que abre el propio usuario, como un acordeón, un chatbot o una navegación lateral desplegable, el W3C describe enfoques que evitan ocultar el foco:

La relación con el foco visible (criterio 2.4.7)

El criterio 2.4.7 Foco visible, también de nivel AA, exige que toda interfaz operable por teclado tenga un modo de funcionamiento en el que el indicador de foco del teclado sea visible. Su objetivo es ayudar a saber qué elemento tiene el foco. El W3C precisa que el indicador no debe tener límite de tiempo: una vez mostrado, debe seguir visible.

Ambos criterios se complementan. El 2.4.7 comprueba que el indicador de foco es visible en al menos un modo de funcionamiento; el 2.4.11 comprueba que el componente enfocado no queda completamente oculto por contenido creado por el autor. Un contorno de foco bien diseñado no sirve de nada si desaparece bajo una cabecera fija. Entre las técnicas suficientes del 2.4.7 están C15 (cambiar la presentación de un componente al recibir el foco con CSS), C40 (indicador de dos colores para un contraste suficiente) y C45 (usar :focus-visible). Entre los fallos, F78 se refiere a estilos de contorno o borde que eliminan o hacen invisible el indicador de foco, y F55 al script que quita el foco al recibirlo.

Cómo comprobar el foco no oculto en su sitio

Una prueba manual con el teclado permite verificar este criterio. Recorra cada plantilla de página solo con el teclado, con Tab y Mayús+Tab, observando en cada paso si el elemento enfocado sigue visible.

Preguntas frecuentes

¿Qué es el criterio WCAG 2.4.11 Foco no oculto?

Es un criterio de nivel AA: cuando un componente de interfaz recibe el foco del teclado, no debe quedar completamente oculto por contenido creado por el autor, como una cabecera fija o un banner.

¿Cumple un elemento enfocado parcialmente oculto?

En el nivel AA, sí: el 2.4.11 tolera un solapamiento parcial. El criterio AAA Foco no oculto (mejorado) busca que no haya ningún solapamiento, y el W3C recomienda intentar reducir el grado y la frecuencia del solapamiento parcial.

¿Cómo evitar que una cabecera fija tape el foco?

La técnica suficiente que cita el W3C es la C43: usar la propiedad CSS scroll-padding para que el contenido se desplace y el elemento enfocado no quede completamente tapado por la barra fija. El ejemplo del W3C se refiere a un pie de página fijo.

¿Puede un banner de cookies incumplir el criterio 2.4.11?

Sí, si oculta por completo un componente que recibe el foco. Entre las formas de cumplir: hacerlo modal, usar scroll padding o, si no requiere ninguna acción, cerrarlo cuando pierda el foco.

¿Qué diferencia hay entre foco visible y foco no oculto?

El 2.4.7 exige que toda interfaz operable por teclado tenga al menos un modo de funcionamiento en el que el indicador de foco del teclado sea visible; el 2.4.11 exige que el componente enfocado no quede completamente oculto por contenido creado por el autor. Un indicador totalmente oculto probablemente también incumpliría el 2.4.7.

Más sobre el tema en Conformly

Fuentes

Este artículo se basa en las fuentes oficiales citadas al final de la página.