Trampas de teclado en bucle
WCAG 2.1.2 – Sin trampas para el foco del teclado (Nivel A)
Qué es una trampa en bucle
Hay personas que navegan un sitio web usando solo el teclado, sin ratón. Pulsan Tab para avanzar de un control al siguiente (enlaces, botones, campos de formulario), y Mayús + Tab para retroceder.
Una trampa en bucle ocurre cuando el foco empieza a dar vueltas por el mismo grupo reducido de controles una y otra vez, y nunca continúa hacia el resto de la página. El usuario sigue pulsando Tab, el resaltado sigue saltando entre los mismos dos o tres elementos, y no hay forma de salir.
Ejemplo cotidiano: abres una ventana emergente de boletín en la web de una tienda. Al pulsar Tab te mueves entre Email, Suscribirme y Cerrar — y de ahí directo otra vez a Email. Mayús + Tab hace lo mismo en sentido inverso. Los productos, el menú y el resto de la página quedan ahora inalcanzables. Para quien usa solo el teclado, la página se acabó: lo único que le queda es recargar o cerrar la pestaña.
La regla que aplicamos
Un bucle se reporta como trampa de teclado solo cuando el foco no puede salir en ninguna de las dos direcciones — ni con Tab, ni con Mayús + Tab.
- Se reporta como trampa: el grupo da vueltas hacia delante con Tab y da vueltas hacia atrás con Mayús + Tab. El usuario está genuinamente atrapado.
- No se reporta como trampa: el foco circula en un sentido, pero al pulsar la tecla contraria el usuario sale del grupo y sigue con la página. Es un patrón normal y usable (los menús y los carruseles se comportan así a menudo), así que no lo marcamos.
Cuando se encuentra una trampa real, el reporte nombra los controles que forman el bucle —por ejemplo "FAQs" → "Accessible directions" → "YouTube video"— para que se vea exactamente dónde empieza y termina el ciclo. La detección se reanuda después del grupo atrapado, de modo que los elementos que vienen a continuación no se reportan por error como "nunca enfocados".
La excepción de la alternativa informada
Un bucle tampoco se reporta como trampa cuando el foco puede salir usando otra tecla —lo más habitual, Esc— y se le informa al usuario de que eso es posible.
La condición importa: una salida que existe pero es invisible no le sirve a nadie. Si el diálogo dice algo como "Pulsa Esc para cerrar", o la instrucción está disponible para quienes usan lector de pantalla, el patrón cumple con WCAG 2.1.2 y lo damos por válido. Si no hay ninguna pista de ese tipo, el usuario no tiene forma de saber que la salida existe — y reportamos el bucle como trampa.
Fuera de alcance
La navegación con las teclas de flecha (↑ ↓ ← →) no forma parte de esta revisión, ni tampoco los cambios de contexto inesperados que se disparan al enfocar un elemento. Eso lo cubren revisiones aparte.
