Skip to content

Foco perdido ​

La revisión de foco perdido verifica que quien navega con teclado siempre pueda saber dónde está en la página. Cuando alguien pulsa Enter, Espacio u otra tecla de activación sobre un botón, un enlace o un checkbox, el indicador de foco del navegador debe quedarse sobre un elemento visible y con sentido.

Si el foco desaparece —aterriza en algo oculto, salta al principio de la página o se esfuma por completo— quien usa teclado o lector de pantalla pierde su ubicación. Esta revisión reporta cada control donde eso ocurre.

Criterio WCAG: 2.4.3 Orden del foco (Nivel AA)


Por qué importa ​

Perder el foco desorienta de una forma difícil de apreciar cuando se usa ratón. El usuario pulsó un botón, algo pasó, y ahora el resaltado no está. No hay manera de saber dónde va a caer el siguiente Tab — muchas veces significa volver a empezar desde el principio de la página.


Cómo se comporta la revisión ​

La herramienta visita cada control interactivo de la página y, para cada uno:

  1. Se desplaza hasta él y confirma que está visible.
  2. Pulsa la tecla a la que ese control debería responder.
  3. Espera a que la página se estabilice.
  4. Comprueba si un elemento visible sigue teniendo el foco.
  5. Restaura la página a su estado original antes de continuar.

Después, una segunda pasada se ocupa de los controles que solo existen después de abrir algo. Algunos botones revelan controles ocultos al activarse — un botón Menú que abre un panel de navegación con un botón Cerrar, por ejemplo. Esos no se pueden encontrar en la página inicial, así que la herramienta activa cada botón visible que quedaba, compara qué botones hay en pantalla antes y después, y prueba los que aparecieron. También comprueba si el propio botón que disparó la acción pierde el foco, algo que ocurre con casos como un botón de reproducir vídeo que se oculta al pulsarlo.

Teclas que se prueban por tipo de control ​

ControlTeclas
BotónEnter, Espacio
Enlace dentro de la misma página (#, javascript:)Enter
CheckboxEspacio
Radio buttonEspacio
DesplegableEnter, Espacio
Botón personalizado (role="button")Enter, Espacio
Checkbox personalizado (role="checkbox")Espacio

Qué cubre la revisión ​

ControlNotas
BotonesControles pulsables estándar
Enlaces dentro de la misma páginaEnlaces que no llevan fuera de la página
Checkboxes y radio buttonsControles de formulario
Controles ARIA personalizadosWidgets que usan role="button", role="checkbox" y similares
Controles revelados en capasBotones de cerrar o descartar dentro de menús y modales

Qué omite, y por qué ​

Se omiteMotivo
Enlaces externosLlevan fuera de la página — eso es lo esperado
<main> o role="main"Recibir el foco aquí es el comportamiento correcto de un skip link
Controles deshabilitadosNo se pueden activar
Elementos invisiblesNo se puede interactuar con ellos
Diálogos nativosCapturan el foco por diseño

Falsos positivos habituales ​

EscenarioPor qué no es un problema real
Un skip link mueve el foco a <main>Excluido explícitamente — para eso sirve un skip link
Un ancla que apunta a un #id válidoPermitido
Un botón abre una alerta del navegadorNo es medible en la página
Un botón abre un diálogo nativoSe detecta y se omite
Un enlace externo pierde el focoComportamiento esperado

Cómo verificarlo a mano ​

  1. Tabula hasta el control en cuestión.
  2. Pulsa Enter o Espacio.
  3. Mira dónde está ahora el contorno de foco. Si no hay nada resaltado en pantalla, o el resaltado está sobre algo que no puedes ver, eso es una pérdida de foco.

Referencia WCAG ​

Criterio de conformidad 2.4.3 Orden del foco (Nivel A)