¿Cómo comunicamos cambios visuales a personas con lectores de pantalla?
La accesibilidad web no solo es una necesidad, sino también una responsabilidad. El desafío es proporcionar una experiencia de usuario inclusiva para todos, independientemente de las limitaciones físicas o tecnológicas. Para aquellos que utilizan lectores de pantalla, es crucial comunicar claramente los cambios visuales que de otra manera podrían pasar desapercibidos. En esta clase, exploramos cómo implementar los estados de aria (ARIA states) para mejorar esta experiencia.
¿Qué son los estados de ARIA y cómo mejoran la accesibilidad?
Los estados de ARIA proporcionan información adicional sobre el estado de los elementos de una página para aquellos que utilizan tecnologías asistivas. Estos estados permiten que personas con discapacidad visual puedan navegar y entender igualmente las interacciones en una página web, tal como lo hacen las personas que pueden verlo directamente. Aquí es donde entran en juego:
aria-hidden: Utilizado para ocultar un elemento a los lectores de pantalla, asegurando que estos no anuncien contenido oculto visualmente.
aria-checked: Indica si una casilla de verificación está marcada o no, esencial para comunicar dicho estado a los usuarios de lectores de pantalla.
¿Cómo implementar estos estados en tu proyecto?
Imagina que tienes un carrusel en tu página web. Visualmente, podría mostrar solo tres elementos a la vez, pero sin la implementación adecuada de ARIA, un lector de pantalla anunciará todos los elementos, incluidos aquellos que no son visibles. Para solucionar esto, puedes seguir estos pasos:
Identificar los elementos no visibles: En el código fuente de tu carrusel, localiza los elementos que están ocultos visualmente.
Aplicar el estado aria-hidden: Usa este estado en cada uno de los elementos para ocultarlos a los lectores de pantalla.
Actualizar el archivo HTML: Asegúrate de mover los estados aria-hidden a los contenedores adecuados, asegurándote de que los elementos visibles sean verdaderamente los anunciados por los lectores de pantalla.
¿Cómo poner a prueba la accesibilidad implementada?
Después de hacer ajustes en tu código:
Refresca la página e inicia un lector de pantalla, como VoiceOver o NVDA, y navega a través de tu proyecto.
Observa si el lector de pantalla solo menciona los elementos visibles.
Al hacer esto, puedes verificar si tus cambios han logrado el efecto deseado en cuanto a accesibilidad. Esto garantiza que los usuarios con discapacidad visual tengan una experiencia más inclusiva.
¡Bravo por dar pasos hacia un mejor diseño inclusivo! La accesibilidad no sólo mejora la experiencia del usuario, sino que también demuestra un compromiso con la equidad. Sigue perfeccionando estas habilidades y haciendo del Internet un lugar más accesible para todos.
Estados de ARIA: Comunican estados y cambios de estados en elementos que se suelen comunicar visualmente.
Añadimos a la etiqueta de <li> el atributo: aria-hidden="true" para que el lector de pantalla solo lea los elementos visibles en el estado actual de la página.
🗿 ARIA states
Ideas/conceptos claves
Estados de ARIA comunican estados y cambios de estados en elementos que se suelen comunicar visualmente
Apuntes
Existen veces que mostramos casos que solo pasan cuando algo cambia en la pantalla
Impidiendo que personas con discapacidades visuales no podrán notar ese cambio
Debemos dar una experiencia del sitio a personas discapacitadas al igual que damos importancia a personas sin ningún problema
Si tenemos un checkbox
Sabemos que esta seleccionado por que está marcado
Alguien con discapacidad quizás no pueda ver eso
Un lector de pantalla no se dará cuenta que algunas cosas no se están mostrando
Podemos usar el atributo aria-hidden para ocultar algunas cosas de los lectores de pantalla
<liaria-hidden="true">...</li>
RESUMEN: Podemos brindar una experiencia similar a usuarios con discapacidades al igual que usuarios que tienen todos los beneficios físicos, usando estados los cuales comunicarán que cosas se estarán mostrando en pantalla
Gracias por compartir tu resumen. Es excelente.
En esta parte pienso que al se debería indicar que hay más items en las lista y que mueva el forward button para observar los items que faltan, como se puede hacer esto?
Un lector de pantalla le comunica al usuario que esta dentro de una lista y cúantos elementos hay en la lista. Si el usuario solo escucha 3 de 5 elementos y luego un botón para ir adelante, sabe que al presionar el botón van a haber más elementos. Sin embargo, si quieres ser mas explícito (buena idea!) puedes ponerle un aria-label al botón con esa instrucción
Con ChromeVox los items del carrousel se mueven automáticamente hasta el ultimo leyéndolos. Si les agrego el aria-hidden se mueven igualmente pero los deja de leer🤔
Además de los estados y propiedades mencionados, existen otros más, aquí los pueden consultar
Entonces es mejor poner aria en el primer elemento que lee el lector de pantalla
Lo importante es que las personas que navegan con un lector de pantalla le demos una experiencia casi igual a las personas que utilizan tecnologías asistivas
Qué son
Comunican estados y cambios de estados en elementos que se suelen comunicar visualmente. Tenemos que comunicar los diferentes estados que tengamos en nuestras aplicaciones a nuestros usuarios
**aria-hidden="true" → nos ayuda a esconder el contenido del carrusel para que el Voice Over no lo lea cuando aún no hemos tenido interacción con el carrusel**
<liaria-hidden="true"><button><imgsrc="/images/project4.png"class="project project4"alt="Mi cuarto proyecto"></button></li><liaria-hidden="true"><button><imgsrc="/images/project5.png"class="project project5"alt="Mi quinto proyecto"></button></li>
tamalito
hola , aca hay un recurso bastante util para mejorar accesibilidad
Yo lo tengo igual que la profe pero mi lector de pantalla me dice que hay 5 elementos. Alguién sabe por qué?
Hola! Que lector de pantalla estas usando? Yo uso ChromeVox y funciona distinto como el de la clase, puede ser que se deba a eso
Estados ARIA (Accessible Rich Internet Applications):
Sirven para comunicar estados y cambios de elementos que normalmente se muestran visualmente, como checkboxes o carruseles, a personas que usan lectores de pantalla.
Ejemplo: un checkbox puede estar marcado visualmente, pero un lector de pantalla necesita saber que está seleccionado.
Se usan atributos como aria-hidden="true" para esconder elementos del lector de pantalla cuando no están visibles en la pantalla.
Esto garantiza que la experiencia de un usuario con lector de pantalla sea lo más parecida posible a la de un usuario visual.
En práctica: en un carrusel de proyectos, se aplican aria-hidden a los elementos que no se muestran, asegurando que el lector de pantalla solo lea los visibles.
Aprendizaje clave: los estados ARIA permiten sincronizar la experiencia visual y accesible, haciendo las aplicaciones más inclusivas.
Añadimos a la etiqueta de <li> el atributo: aria-hidden=“true” para que el lector de pantalla solo lea los elementos visibles en el estado actual de la página, entonces si le añadimos display: none; o visibility: hidden; el aside no será considerado por lectores de pantalla ni tampoco por la navegación secuencial del teclado.
Los aria states por medio de qué se pueden cambiar?
En el caso de que, por ejemplo en el carrusel se muestre el objeto que estaba oculto al principo.
Si por ejemplo tuviéramos una tabla con muchísimos campos y esa tabla la tuviéramos paginada, sería necesario usar aria-hidden para los campos que no se muestran todavía porque están en otras páginas de la tabla? Gracias.