Pregunta de entrevista para Desarrollador frontend

¿Cómo construirías un formulario de registro cuyos errores de validación sean de verdad usables, incluso para usuarios de lector de pantalla?

Qué evalúa el entrevistador, cómo estructurar tu respuesta y un ejemplo hablado que puedes adaptar.

Respuesta rápida

Usa labels reales ligados a los inputs, valida al perder el foco y al enviar en vez de en cada pulsación, y coloca cada mensaje de error junto a su campo con aria describedby apuntando a él más aria invalid en el input. Al enviar, mueve el foco al primer campo inválido o a un resumen de errores. Mantén las restricciones y los tipos nativos para que funcionen los teclados móviles y el autocompletado, y nunca señales un error solo con color.

Por qué lo preguntan los entrevistadores

Los formularios son donde los fallos de accesibilidad cuestan dinero de verdad, así que esta es una prueba práctica y no una pregunta de valores. El entrevistador quiere oír hablar de la asociación programática entre error y campo, de la gestión del foco al enviar y del comportamiento de las regiones live, todo cosas que las herramientas automáticas no pueden comprobar. También revela si validas de una forma que molesta al usuario, como mostrar un error de correo antes de que haya terminado de escribirlo.

Cómo estructurar tu respuesta

  • Empieza por la semántica nativa: labels, tipos de input, required.
  • Da la regla de cuándo se dispara la validación.
  • Explica el vínculo programático entre input y mensaje de error.
  • Describe la gestión del foco cuando falla el envío.

Ejemplo de respuesta

Ejemplo hablado, en primera persona

Empiezo por lo nativo, porque casi todo viene gratis: un label real con su atributo for, el tipo de input correcto para que el móvil muestre el teclado adecuado, atributos de autocomplete para que funcionen los gestores de contraseñas, y required donde aplique. Sobre el momento, valido un campo al perder el foco y todo al enviar, nunca en cada pulsación, porque decirle a alguien que su correo es inválido mientras lo está escribiendo es solo ruido. Una vez que un campo se ha marcado inválido sí revalido según escribe, para que el error desaparezca en cuanto se corrige. Cada mensaje va justo debajo de su input, y el input recibe aria invalid true y aria describedby apuntando al id del mensaje, que es lo que hace que un lector de pantalla anuncie el error cuando el foco llega ahí. Si el envío falla, muevo el foco al primer campo inválido, o a un breve resumen de errores arriba con enlaces a cada campo si son varios. Y los errores nunca van solo por color; hay texto y un icono, porque un borde rojo por sí solo no significa nada para mucha gente.

¿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 funciona

Preguntas de seguimiento que puedes esperar

  • ¿Cuándo usarías aquí una región live y cuándo resultaría molesta?
  • ¿Cómo gestionarías un error del servidor que llega después del envío?
  • ¿Cómo pruebas esto sin tener un lector de pantalla disponible?

Más preguntas para Desarrollador frontend

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

Ensaya las preguntas difíciles antes de que te las hagan

Practica con un copiloto en vivo y entra preparado. Un Session Pass de $29 te lleva a través de la entrevista sin suscripción y sin ataduras.

Consigue GhostPilot