Cómo funciona la comprobación de operabilidad por teclado
Explica, sin detalle técnico, qué hace la comprobación de teclado cuando se revisa un formulario de reserva hotelera: qué mira, qué decide y dónde se detiene deliberadamente.
Qué hace y por qué
Hay personas que no pueden usar el ratón. Se mueven por la página con la tecla Tab y actúan con Enter, Espacio o las flechas. Las normas de accesibilidad exigen que todo lo que se puede hacer con ratón se pueda hacer también solo con teclado.
Esta comprobación responde a una pregunta sobre un formulario de reserva:
Si solo tuvieras teclado, ¿podrías completar una reserva?
Se centra en las tres cajas que tiene todo formulario de reserva:
- Destino («¿A dónde quieres ir?»)
- Fechas (el calendario)
- Huéspedes y habitaciones (adultos, niños, habitaciones)
Para cada una abre la caja e intenta usar lo que hay dentro —casillas de día, botones de más y menos, sugerencias de destino, botones de Aplicar o Aceptar— usando únicamente el teclado.
En realidad hay dos preguntas de teclado distintas, y esta comprobación solo se ocupa de la segunda:
| Pregunta | Quién la responde |
|---|---|
| ¿Puedo siquiera llegar a este control con Tab? | La comprobación de navegación por teclado (otro reporte) |
| Una vez estoy sobre él, ¿pulsar Enter, Espacio o las flechas hace algo? | Esta comprobación |
Qué tiene en cuenta
1. Si la cosa es realmente un control
Solo prueba aquello que puede reconocer como control: botones reales, enlaces, campos de formulario y elementos personalizados que el sitio haya etiquetado correctamente como que se comportan como un botón, una casilla, un deslizador, un desplegable, etc.
Para cada tipo de control hay una «tecla correcta» conocida. Un botón debe reaccionar a Enter o Espacio. Una casilla, a Espacio. Un deslizador, a las flechas izquierda y derecha. Un día de calendario, a Enter. Si la comprobación no sabe a qué tecla se supone que responde algo, no se la inventa y no lo reporta: lo deja en paz.
Dentro de los widgets de reserva concretamente, también reconoce algunas formas propias de las reservas aunque el sitio no las haya etiquetado bien: una casilla de día en un calendario, un contador de más y menos, una fila de sugerencia, una flecha de mes anterior o siguiente.
2. Si el control está visible y presente ahora mismo
Lo que ha desaparecido de la pantalla (porque se cerró el desplegable, o porque un filtro lo ocultó) no se juzga directamente. Cuando una fila oculta pertenece claramente a una familia de filas idénticas que sí se juzgó, se adjunta a ese hallazgo existente como una ocurrencia más en lugar de tratarse como un problema aparte.
3. Qué significa «ha pasado algo»
Después de pulsar una tecla, la comprobación busca cualquier señal real de reacción: un panel que se abre o se cierra, una opción que se selecciona, un número que sube, un diálogo que aparece, la página que intenta ir a otra pantalla.
Deliberadamente, que la página simplemente haga scroll no cuenta como reacción: eso solo significa que el navegador movió la vista, no que el control hiciera nada.
4. El control que abre la caja, no solo lo que hay dentro
Si puedes llegar a la caja de «Huéspedes» con Tab pero ni Enter, ni Espacio, ni las flechas la abren, eso se reporta en sí mismo, porque todo lo de dentro queda inalcanzable. Antes de reportarlo, la comprobación reintenta con las demás teclas razonables, de modo que a una caja que se abre con Espacio en vez de con Enter no se la culpa.
5. Si el widget funciona como un todo
Algunos formularios de reserva están construidos para que recorras las opciones con las flechas en vez de actuar sobre cada fila por separado. Cuando la comprobación confirma que todo el widget se puede manejar así de principio a fin, retira las quejas individuales fila a fila: el enfoque del sitio funciona, aunque cada fila por separado pareciera extraña.
Qué comprueba, paso a paso
Para cada control dentro de una caja de reserva abierta:
- Pone el foco del teclado sobre él.
- Pulsa las teclas a las que ese control debería responder. Un botón recibe Enter y Espacio; un día de calendario, Enter; un contador, las flechas. Basta con que funcione una de las teclas esperadas: un botón que responde a Espacio pero no a Enter está bien.
- Observa si hay reacción, con las señales de arriba.
- Si no pasó nada, hace clic con el ratón y vuelve a observar.
- Compara los dos resultados.
La decisión queda así:
| Teclado | Ratón | Resultado |
|---|---|---|
| Pasó algo | — | ✅ Correcto, no se reporta nada |
| No pasó nada | Pasó algo | ❌ Se reporta: este es el fallo de accesibilidad real |
| No pasó nada | Tampoco pasó nada | ⬜ No se reporta: no es realmente un control |
| Solo hizo scroll la página, en ambos casos | — | ⬜ No se reporta: no existe ninguna acción real |
- Deja las cosas como estaban antes de pasar al siguiente control, para que una prueba no estropee la siguiente.
Las filas idénticas repetidas —por ejemplo, veinte filas de hotel en una lista de destinos que se comportan igual— se agrupan: un hallazgo principal más una lista de los demás sitios donde ocurre, en lugar de veinte quejas separadas.
Restricciones y limitaciones
Cosas que no reporta
- Cosas que nadie puede usar. Si ni el teclado ni el ratón hacen nada, se trata como decoración, no como un control roto. Un control genuinamente muerto, por tanto, no aparecerá aquí.
- Controles a los que ni siquiera se llega con Tab. Eso es un problema de navegación y pertenece al otro reporte. Reportarlo también aquí duplicaría el mismo problema de fondo.
- Campos de texto en los que puedes escribir. Un campo de destino en el que se puede escribir ya es usable con teclado; que pulsar Enter no haga nada no es un fallo. (Un campo de fecha en el que no se puede escribir, usado solo para abrir un calendario, sí se prueba.)
- Enlaces normales con una dirección web real. Seguir un enlace con Enter es comportamiento estándar del navegador.
- Botones de envío, donde enviar el formulario es exactamente lo que debe pasar.
- Desplegables estándar del sistema operativo, que el navegador ya hace usables con teclado.
- Pestañas ya seleccionadas, imágenes decorativas y diapositivas de carrusel, que no son controles sobre los que se actúe.
- Controles dentro de una caja que nunca llega a aparecer en pantalla. Solo se juzga el control que debería haberla abierto.
Cosas que no puede ver
- Controles sin ninguna pista de que lo son. Un día de calendario construido como texto plano, sin nada que lo marque como cliqueable, es invisible para las reglas generales. Dentro de los widgets de reserva algunos de estos ya se reconocen por su forma, pero la cobertura no es completa.
- Contenido metido dentro de ciertos componentes aislados de la página se omite en lugar de arriesgar una respuesta incorrecta.
Límites prácticos
- Las listas largas se muestrean, no se agotan. Tras unos diez controles del mismo tipo, y hasta unas cien opciones en una misma lista, la comprobación deja de probar más de lo mismo: de otro modo una página con quinientos hoteles tardaría muchísimo.
- Un número limitado de movimientos por caja. El recorrido por cada caja abierta se detiene tras un número fijo de pulsaciones.
- Sitios que se comportan distinto en cada visita. Unos pocos sitios de reservas no muestran sus listas de sugerencias de forma fiable, así que los resultados pueden variar entre ejecuciones, por sesión del navegador o por región.
- Sitios que bloquean visitas automatizadas o agotan el tiempo no se pueden medir en absoluto.
- Una zona gris conocida: algunos controles sí reaccionan al teclado, pero con la acción equivocada — por ejemplo, lanzando una búsqueda en vez de abrir el calendario. Por ahora se reportan bajo la misma regla de teclado, a la espera de una categoría más precisa.
Algunos ejemplos concretos
- Un botón
+de adultos que solo responde al ratón: puedes llegar con Tab, Enter y Espacio no hacen nada, y hacer clic añade un huésped. Se reporta. - Un día de calendario que ignora Enter pero se selecciona al hacer clic. Se reporta.
- Una caja de «Huéspedes» a la que llegas con Tab, pero ninguna tecla la abre mientras que el clic sí. Se reporta, porque todo lo de dentro queda fuera de alcance.
- Un botón de Confirmar que reacciona a Espacio pero no a Enter. No se reporta: basta con una tecla que funcione.
- Una imagen decorativa de banner dentro del desplegable que no hace nada ni al hacer clic ni al pulsar. No se reporta.
- Un campo de destino en el que se puede escribir y cuyas sugerencias aparecen también al hacer clic. No se reporta: escribir es una interacción de teclado.
- Un campo de fecha al que no se llega con Tab. No se reporta aquí: aparece en el reporte de navegación por teclado.
En resumen
La comprobación solo juzga aquello que reconoce como control y para lo que conoce las teclas correctas. Pulsa esas teclas, luego hace clic con el ratón y compara. Si el ratón funciona y el teclado no, ese es el fallo que reporta. Si no funciona ninguno, no es un control. Si ni siquiera puedes llegar con Tab, eso pertenece al reporte de navegación. Que la página haga scroll nunca cuenta como que el control hizo algo.
