Los indicadores de foco CSS visibles y accesibles son señales visuales esenciales que informan a los usuarios de teclado qué elemento tiene el foco actualmente. Cuando un usuario navega por una página web usando la tecla Tab, el navegador aplica un contorno predeterminado a los elementos interactivos como enlaces, botones y campos de formulario. Personalizar estos indicadores requiere un equilibrio entre la estética del diseño y estrictas normas de accesibilidad para garantizar que cada usuario pueda identificar su posición en la página sin dificultad durante su sesión de navegación.
¿Por qué es crucial la visibilidad del foco para tu sitio web?
Muchos diseñadores eliminan por error el contorno de foco predeterminado porque creen que desmerece el diseño visual de su sitio. Sin embargo, eliminar este contorno sin proporcionar un reemplazo visible deja a los usuarios de teclado a oscuras. Sin un indicador claro, los usuarios que no pueden usar el ratón no tienen forma de saber por dónde están navegando. Esto crea una barrera significativa que impide a los usuarios interactuar con formularios, menús y botones de llamada a la acción. El criterio 2.4.13 de WCAG 2.2 exige explícitamente que los indicadores de foco tengan suficiente contraste visual y un área clara para poder identificarse fácilmente. Al tratar los estados de foco como un componente central de tu sistema de diseño, garantizas que tu plataforma permanezca abierta a una gama más amplia de usuarios, lo cual es una práctica estándar para el diseño web inclusivo.

¿Cuáles son las reglas del criterio 2.4.13 de WCAG 2.2?
Las directrices WCAG 2.2 proporcionan requisitos específicos para la apariencia del foco con el fin de garantizar que los usuarios no pasen por alto los indicadores. El indicador debe tener una relación de contraste mínima con el fondo y debe cubrir un área específica del elemento. Estos estándares evitan que los diseñadores utilicen líneas sutiles y delgadas que se funden con la interfaz. En su lugar, el indicador de foco debe ser lo suficientemente llamativo como para destacar de inmediato. Al implementar estos indicadores, verifica que no entren en conflicto con el diseño general de la página ni oscurezcan otro contenido importante, al tiempo que proporcionan una señal clara del elemento activo. Un patrón común es utilizar un borde grueso de alto contraste o un cambio de color de fondo que se active al enfocar.
¿Cómo puedes implementar estilos de foco personalizados en CSS?
La implementación de estilos personalizados implica el uso de la pseudoclase :focus en tu CSS. Puedes modificar la propiedad outline, pero también debes considerar otros cambios visuales como el color de fondo, la sombra o el peso del texto para crear un efecto de alta visibilidad. Al definir estos estilos, asegúrate de no utilizar únicamente cambios de color, ya que los usuarios daltónicos podrían tener dificultades para identificar el estado de foco. En su lugar, combina múltiples indicadores visuales. Por ejemplo, agregar un borde sólido y un ligero cambio de fondo crea una fuerte señal visual que es difícil de pasar por alto. También puedes usar la pseudoclase :focus-visible, que es un enfoque moderno que te permite mostrar el indicador de foco solo cuando el usuario navega con el teclado, manteniendo el diseño limpio para los usuarios de ratón.
Mejores prácticas para la implementación del foco CSS
- Utiliza siempre colores de alto contraste que contrasten significativamente con el fondo.
- Asegúrate de que el indicador de foco tenga al menos 2 píxeles de grosor para que se vea fácilmente.
- Evita depender únicamente del color; incorpora cambios de forma o sombra.
- Prueba tus estados de foco navegando por todo tu sitio usando solo las teclas Tab y Enter.
- Usa la propiedad :focus-visible para dirigirnos específicamente a los usuarios que solo usan el teclado.
Comparación de diferentes técnicas de indicadores de foco
| Técnica | Impacto visual | Nivel de accesibilidad |
|---|---|---|
| Contorno predeterminado | Mínimo | Básico |
| Borde personalizado | Alto | Fuerte |
| Sombra de caja | Moderado | Bueno |
Cómo aplica Alien Road los estándares de visibilidad del foco
En Alien Road, integramos la accesibilidad en nuestro proceso de diseño desde la etapa inicial de wireframe. Al construir el sitio de un cliente, definimos un estilo de foco global en nuestras variables CSS que coincide con la identidad de marca al tiempo que cumple con las relaciones de contraste de WCAG 2.2. Realizamos una auditoría manual de todos los componentes interactivos, como campos de entrada, menús de navegación y botones, para garantizar que el estado de foco sea coherente. En un proyecto típico, documentamos estos estados en nuestra guía de estilo, proporcionando a los desarrolladores requisitos claros para los estados hover, active y focus. Esto garantiza que cada elemento permanezca consistente, reduciendo el riesgo de brechas de accesibilidad a medida que el proyecto crece.

Errores comunes que se deben evitar al diseñar el foco
Un error frecuente es establecer outline: none en todos los elementos para eliminar el valor predeterminado del navegador sin proporcionar una alternativa. Esto rompe efectivamente la navegación para los usuarios de teclado, haciendo que el sitio sea inutilizable para cualquier persona que dependa de tecnología de asistencia o atajos de teclado. Otro error es utilizar un indicador de foco que sea demasiado delgado o que coincida demasiado con el color de fondo. Estos indicadores no superan los requisitos de contraste definidos en WCAG 2.2. Comprueba siempre tus estados de foco frente a los colores de fondo de cada sección de tu página, ya que un color que funciona en un encabezado blanco puede ser invisible en un pie de página oscuro. Las pruebas constantes son la única forma de evitar estos escollos y mantener un alto estándar de calidad digital.
Cómo empezar a mejorar tus indicadores de foco esta semana
Comienza auditando tus páginas interactivas más importantes, como tu formulario de contacto o página de pago. Navega por estas páginas usando solo el teclado para identificar dónde falta o es débil el indicador de foco. Una vez que identifiques estas brechas, actualiza tu hoja de estilos CSS para aplicar un estilo de foco coherente en todo tu sitio. Utiliza la lista a continuación para guiar tus esfuerzos de optimización semanales y asegurarte de no perderte ningún componente crítico. Al dedicar tiempo a estos pequeños ajustes, creas una experiencia más profesional e inclusiva para cada visitante que llega a tu sitio.
- Audita los formularios y botones existentes para detectar estados de foco faltantes.
- Define un color de foco de alto contraste en tus variables CSS de todo el sitio.
- Aplica :focus-visible a todos los elementos interactivos para limpiar las interacciones basadas en ratón.
- Comprueba todos los indicadores de foco frente a los estándares de contraste de WCAG 2.2.
- Realiza una prueba de navegación por teclado en todos los flujos de usuario principales.
Preguntas frecuentes
¿Puedo eliminar el contorno de foco predeterminado?
Puedes eliminar el contorno predeterminado solo si lo reemplazas por un indicador de foco personalizado y claro. Eliminarlo sin un reemplazo hace que el sitio sea inaccesible para los usuarios de teclado. Asegúrate de que tu reemplazo cumpla con los requisitos de contraste y proporcione un cambio visible que facilite la identificación del elemento activo.
¿Cuál es la diferencia entre :focus y :focus-visible?
La pseudoclase :focus aplica el estilo siempre que un elemento tiene el foco, independientemente del método de entrada. La pseudoclase :focus-visible es más inteligente; permite que el navegador muestre el indicador de foco solo cuando el usuario está usando un teclado, evitando contornos innecesarios para los usuarios de ratón.
¿Qué tan grueso debe ser un indicador de foco?
Aunque no hay un valor de píxeles único obligatorio, generalmente se recomienda un grosor de al menos 2 píxeles para la visibilidad. La clave es que debe ser fácilmente identificable frente al fondo. Verifica siempre que el indicador sea lo suficientemente grueso como para pasar las comprobaciones de accesibilidad.
¿Debo usar box-shadow para los estados de foco?
Box-shadow es una forma popular de crear un indicador de foco que no cambia el diseño de la página. Es muy flexible y se puede diseñar para que sea muy visible. Solo asegúrate de que la sombra tenga suficiente contraste y no se mezcle con el fondo o los elementos circundantes.
¿Cómo pruebo mi sitio en busca de visibilidad de foco?
La forma más sencilla de probarlo es apartar el ratón y navegar por todo tu sitio usando solo las teclas Tab, Shift+Tab y Enter. Si alguna vez pierdes la noción de dónde estás en la página, el indicador de foco no está funcionando correctamente y necesita ser actualizado.
Sigue leyendo: Diseño y desarrollo web · Diseño web