Operable Navegable Nivel AAA Nuevo en WCAG 2.2

2.4.13 Apariencia del enfoque

Meta Hacer más fácil localizar el foco del teclado gracias a un indicador de tamaño y contraste suficientes.
Qué hacer Usar un indicador de foco de al menos 2 px de grosor perimetral con contraste 3:1 entre estados enfocado y desenfocado.
Por qué importa Muchas personas no pueden ver pequeños cambios visuales, incluyendo personas mayores y con baja visión.

Criterio de éxito oficial

2.4.13 Apariencia del enfoque Nivel AAA

Cuando el indicador de foco del teclado es visible, un área del indicador cumple con todo lo siguiente: es al menos tan grande como el área de un perímetro de 2 píxeles CSS de espesor del componente desenfocado, y tiene una relación de contraste de al menos 3:1 entre los mismos píxeles en los estados enfocado y desenfocado.

Excepciones

No se evalúa si el indicador lo determina el agente de usuario y no puede ser ajustado por el autor, o si el autor no ha modificado ni el indicador predeterminado ni el color de fondo detrás del indicador.

¿Qué es?

Los indicadores de foco deben ser claramente visibles, no simplemente presentes. Este criterio define requisitos concretos de tamaño mínimo y contraste, garantizando que los usuarios puedan identificar con facilidad qué elemento está enfocado.

La forma más sencilla de cumplir es usar un contorno sólido de al menos 2 px de grosor alrededor del componente, con un color que contraste al menos 3:1 con el color que tenía ese mismo espacio cuando el componente estaba desenfocado.

Comparación: 2.4.7 vs 2.4.13

Nivel AA

2.4.7 Enfoque visible

Exige que exista un indicador de foco visible. No especifica su forma, tamaño ni contraste.

¿Existe indicador? ✓
Nivel AAA

2.4.13 Apariencia del enfoque

Define requisitos concretos de tamaño mínimo (perímetro ≥ 2 px) y contraste (≥ 3:1 entre estados). Va más allá de la mera existencia.

¿Es visible y perceptible? ✓

¿Por qué es importante?

Para los usuarios que navegan con teclado, es fundamental saber qué elemento está enfocado. Sin un indicador claro, pueden desorientarse o cometer errores. Un indicador visible no es suficiente si es demasiado sutil — debe ser claramente perceptible.

Las personas con baja visión (incluyendo personas mayores) necesitan indicadores de tamaño y contraste suficientes. Un outline de 1 px en gris claro sobre fondo blanco es técnicamente «visible» pero prácticamente invisible para muchas personas.

¿Quién se ve afectado?

Personas con movilidad reducida: Usan el teclado para interactuar. Un indicador claro reduce la tensión y mejora la precisión de las interacciones.

Personas con baja visión: Quienes dependen de lupas de pantalla necesitan indicadores grandes y de alto contraste para seguir el foco al navegar.

Personas con TDAH y discapacidades cognitivas: Indicadores de foco claros ayudan a seguir su posición en la página, reduciendo la confusión.

Cómo implementar 2.4.13

Los dos requisitos clave

1

Área mínima

≥ 2 px

El indicador debe tener un área al menos igual a un perímetro sólido de 2 px CSS de grosor. La forma más sencilla: un outline de 2 px.

2

Cambio de contraste

≥ 3:1

Relación de contraste de al menos 3:1 entre los mismos píxeles en los estados enfocado y desenfocado. Cuanto mayor, más fácil de ver.

Grosor del indicador

Botón

1 px

✗ Insuficiente
Botón

2 px

✓ Mínimo
Botón

3 px + offset

★ Recomendado
Botón

Doble contorno

★ Mejor práctica

Cambio de contraste entre estados

El criterio mide el cambio de contraste entre los mismos píxeles en estado enfocado vs. desenfocado — no el contraste con píxeles adyacentes.

Estilos CSS recomendados

CSS
/* Indicador básico que cumple 2.4.13 */
a:focus-visible {
  outline: 2px solid #005A9C;
  outline-offset: 2px;
}

/* Doble contorno: visible en cualquier fondo */
button:focus-visible {
  outline: 2px solid transparent; /* Para modo alto contraste */
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #000;
}

Modo de colores forzados

En el modo de alto contraste de Windows, box-shadow puede ser anulado. Al usar outline: 2px solid transparent, el navegador mantiene el estilo de foco predeterminado del sistema, garantizando visibilidad en todos los modos.

Ejemplos prácticos

Enlace Contorno alrededor del enlace con contraste suficiente

Cuando un enlace recibe el foco, se muestra un contorno de 2 px alrededor que contrasta con el fondo adyacente. El cambio de blanco a azul oscuro tiene un ratio superior a 3:1. Cumple el criterio.

Botón Contorno dentro del botón (3 px mínimo)

Al recibir el foco, se muestra un contorno de 3 px dentro del botón alrededor del texto. Al estar incrustado dentro del componente, necesita al menos 3 px para cumplir el requisito de área mínima. Contrasta con el fondo del botón con ratio superior a 3:1.

Fallo Outline de 1 px gris claro

Un botón muestra un outline de 1 px en gris claro al recibir foco. Falla el criterio 2.4.13 porque el área del indicador es inferior al equivalente de 2 px de perímetro, y el contraste de cambio puede ser inferior a 3:1.

Técnicas recomendadas

Técnicas suficientes para CE 2.4.13
CódigoTécnicaTipo
C40Uso de la técnica de doble contorno para garantizar visibilidad en cualquier fondoCSS
G195Uso del indicador de foco visible del agente de usuario fortalecido por el autorSuficiente

Errores comunes

  • Usar outline: none o outline: 0 sin proporcionar un indicador alternativo.
  • Indicadores de foco de 1 px que no alcanzan el área mínima equivalente a 2 px de perímetro.
  • Indicadores con cambio de contraste inferior a 3:1 (por ejemplo, cambiar de gris claro a gris un poco más oscuro).
  • Usar solo box-shadow sin outline: 2px solid transparent como respaldo para modo de alto contraste.
  • Aplicar :focus en lugar de :focus-visible, mostrando el indicador también al hacer clic.

Criterios de éxito relacionados