Mover el foco al primer error
Lleve a los usuarios directamente a lo que deben corregir.
Mover el foco al primer error es una lección gratuita de Web Accessibility Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Web Accessibility Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Web Accessibility Academy incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
Lost After Submit
A user submits, the page shows errors at the top, but focus stays on the button. They have no idea anything failed. 😕
Send Focus to the Problem
On a failed submit, move focus to the first invalid field. The user lands exactly where the fix begins, no hunting required.
Use focus in JS
Find the first failing control and call focus() on it. Now both keyboard and screen reader users start at the right place.
const first = form.querySelector("[aria-invalid='true']");
if (first) first.focus();Read Name, Type, Error
When focus lands there, the screen reader announces the field's name, that it is invalid, and its described error all at once.
First, Not Random
Always target the first error in document order. Jumping to a later field skips problems the user must still address.
Do Not Just Scroll
Scrolling the error into view helps the mouse, but keyboard and screen reader users need real focus moved, not just pixels shifted.
A Summary Box Helps
For many errors, focus an error summary at the top first. List each problem as a link that jumps to its field.
<div tabindex="-1" id="errors">
3 errors found
</div>Make the Summary Focusable
A heading or div is not focusable by default. Add tabindex="-1" so your script can move focus to it programmatically.
Link Errors to Fields
Inside the summary, each item is a link to the field's id. Activating it sends focus straight to the broken input.
<a href="#email">Email is required</a>Avoid Stealing Focus Early
Only move focus in response to the user's submit, never on every keystroke. Yanking focus mid-typing is jarring and unwelcome.
Confirm the Recovery
After the user fixes everything and resubmits, move focus to a success message so they hear that it finally worked.
Quick Check
Where should focus go when a form submit fails?
Recap
On failure, move focus to the first invalid field or a focusable error summary, and to a success message once it passes. ✅
Preguntas frecuentes
¿La lección «Mover el foco al primer error» es gratis?
Sí — el texto completo de «Mover el foco al primer error» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Web Accessibility Academy, actualiza a CoddyKit PRO. El curso de Web Accessibility Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Mover el foco al primer error»?
Lleve a los usuarios directamente a lo que deben corregir. Practicas Web Accessibility Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Web Accessibility Academy?
No se requiere experiencia previa. Web Accessibility Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Mover el foco al primer error»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Web Accessibility Academy?
Sí. Cada lección de Web Accessibility Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Asociar errores a campos con aria-describedby
- Marcar el estado no válido con aria-invalid
- Mover el foco al primer error
- En línea, al perder el foco o al enviar: el momento importa