En esta clase se mejora la accesibilidad de un modal para personas que usan teclado y lectores de pantalla. El problema inicial es que cuando se abre el modal y se navega con la tecla Tab, el foco se queda en elementos detrás del modal. Esto confunde al usuario y hace que el lector de pantalla no empiece en el lugar correcto.
Para solucionarlo, en el HTML se le agrega un id al primer elemento del modal (por ejemplo, el header) y se le añade tabindex="0". Esto permite que el elemento pueda recibir foco y entrar en el orden secuencial del teclado.
Luego, en JavaScript, dentro de la función que abre el modal, se usa document.getElementById("modal-header") y se llama el método .focus(). Así, cuando el modal se abre, el foco se mueve automáticamente al primer elemento del modal, asegurando que la navegación comience dentro de él.
Después se mejoran los estilos visuales del foco en CSS usando la pseudo-clase :focus. Se agregan bordes sólidos y colores visibles para que el usuario pueda identificar claramente qué elemento está seleccionado. Esto se aplica tanto al header como a los botones del modal.
También se prueba el comportamiento con un lector de pantalla para confirmar que el modal ahora es más accesible y que el foco funciona correctamente.
Finalmente, se añade una mejora común en experiencia de usuario: cerrar el modal con la tecla Escape. Para eso, se agrega un event listener al document.body que escucha el evento keyup. Cuando se detecta que la tecla presionada es Escape, se ejecuta la función que cierra el modal.
En conclusión, la clase enseña a controlar el foco al abrir un modal, usar tabindex correctamente, aplicar focus con JavaScript, mejorar los estilos de enfoque y permitir cerrar el modal con Escape para hacerlo más accesible y usable.