Empieza probando un select nativo, ya que te da gratis soporte de teclado, gestión de foco y comportamiento con lector de pantalla. Si el diseño lo descarta, implementa el patrón listbox o combobox como es debido: gestiona tú el foco, soporta flechas, Inicio, Fin, Escape y búsqueda por escritura, conecta aria-expanded, aria-activedescendant y los roles correctos, y devuelve el foco al disparador al cerrar.
Por qué lo preguntan los entrevistadores
La accesibilidad separa a quien entrega para todo el mundo de quien entrega para un ratón. El entrevistador comprueba si sabes que ARIA es un contrato que tienes que implementar y no un atributo que añade comportamiento, y si recurrirías primero al elemento nativo. Mencionar cómo lo pruebas, con teclado y con un lector de pantalla real, es lo que convierte una respuesta teórica en una creíble.
Cómo estructurar tu respuesta
- Di que recurres primero al elemento nativo y por qué.
- Enumera las interacciones de teclado que exige el patrón.
- Explica que ARIA describe estado y no añade comportamiento.
- Describe cómo lo probarías.
Ejemplo de respuesta
Mi primer movimiento es cuestionar que haya que construirlo, porque un select nativo te da gestión de teclado, selectores móviles y anuncios de lector de pantalla con cero código, y la mayoría de los diseños se pueden cumplir estilando a su alrededor. Cuando de verdad necesitamos uno a medida, para una selección múltiple con avatares, lo construí siguiendo el patrón listbox de las prácticas de autoría de ARIA en vez de improvisar. Eso significó que el disparador es un button real con aria-expanded y aria-controls, el popup tiene role listbox con opciones que llevan role option y aria-selected, y sigo la opción activa con aria-activedescendant para que el foco se quede en el input. En teclado necesitas arriba y abajo, Inicio y Fin, Escape para cerrar y devolver el foco al disparador, Enter o espacio para seleccionar, y búsqueda por escritura para saltar. Lo importante que le digo a la gente es que ARIA solo anuncia estado; no añade comportamiento alguno, así que un div con role button y sin manejador de teclado es peor que inútil. Lo pruebo solo con teclado, y después con un lector de pantalla, antes de que se acerque a una revisión.
¿Tienes esta entrevista a la vuelta de la esquina? GhostPilot escucha tu llamada en vivo, detecta la pregunta en cuanto la hacen y pone una respuesta estructurada en tu pantalla en tiempo real. Pruébalo en tu próxima entrevista de práctica, o coge un Session Pass de $29, sin suscripción, para la de verdad.
Mira cómo funcionaPreguntas de seguimiento que puedes esperar
- ¿Cómo anunciarías que la lista de opciones se ha actualizado?
- ¿Qué ratio de contraste necesitas para el indicador de foco?
- ¿Cuándo es aria-label la elección equivocada frente a una etiqueta visible?
Más preguntas para Desarrollador full stack
Tu entrevistador hará su propia versión de esta. Pega la descripción real del puesto en el Question Predictor gratuito y obtén las 20 preguntas que ese puesto tiene más probabilidades de hacerte, con lo que cada una busca en realidad.
Predecir mis preguntas