En aquest tema, explorarem com assegurar que les interaccions complexes i el contingut dinàmic siguin accessibles per a tots els usuaris, incloent aquells que utilitzen tecnologies assistencials. A mesura que les aplicacions web es tornen més interactives i dinàmiques, és crucial garantir que aquestes funcionalitats siguin accessibles.
Conceptes Clau
-
Interaccions Complexes:
- Inclouen elements com menús desplegables, pestanyes, diàlegs modals, i ginys personalitzats.
- Sovint requereixen interaccions amb el teclat i suport per a lectors de pantalla.
-
Contingut Dinàmic:
- Es refereix a contingut que es carrega o canvia sense recarregar la pàgina, com ara actualitzacions en temps real o contingut carregat mitjançant AJAX.
- Pot ser difícil d'accedir per a usuaris de tecnologies assistencials si no es gestiona correctament.
Estratègies per a l'Accessibilitat
- Ús de WAI-ARIA
-
Roles i Propietats ARIA: Utilitza ARIA per definir el paper i l'estat dels elements dinàmics. Per exemple, utilitza
aria-expanded
per indicar si un menú està obert o tancat.<button aria-expanded="false" aria-controls="menu">Menú</button> <ul id="menu" role="menu" hidden> <li role="menuitem">Opció 1</li> <li role="menuitem">Opció 2</li> </ul>
-
Alertes ARIA: Utilitza
aria-live
per notificar els usuaris de canvis dinàmics en el contingut.<div aria-live="polite"> El contingut s'ha actualitzat. </div>
- Navegació amb Teclat
-
Assegura't que tots els elements interactius siguin accessibles mitjançant el teclat. Utilitza atributs com
tabindex
per controlar l'ordre de navegació.<button tabindex="0">Clic aquí</button>
- Gestió de Focalització
-
Quan es mostra un diàleg modal, mou la focalització al diàleg i retorna-la a l'element original quan es tanca.
const openModal = () => { const modal = document.getElementById('modal'); modal.style.display = 'block'; modal.focus(); };
- Proves d'Accessibilitat
- Proves amb Lectors de Pantalla: Assegura't que els lectors de pantalla puguin anunciar correctament els canvis en el contingut dinàmic.
- Proves de Teclat: Verifica que tots els elements interactius siguin accessibles mitjançant el teclat.
Exercici Pràctic
Objectiu: Crear un menú desplegable accessible.
Instruccions
- Crea un botó que controli la visibilitat d'un menú.
- Utilitza ARIA per indicar l'estat del menú.
- Assegura't que el menú sigui accessible mitjançant el teclat.
Solució
<button id="menuButton" aria-expanded="false" aria-controls="dropdownMenu">Menú</button> <ul id="dropdownMenu" role="menu" hidden> <li role="menuitem" tabindex="0">Opció 1</li> <li role="menuitem" tabindex="0">Opció 2</li> </ul> <script> const button = document.getElementById('menuButton'); const menu = document.getElementById('dropdownMenu'); button.addEventListener('click', () => { const expanded = button.getAttribute('aria-expanded') === 'true'; button.setAttribute('aria-expanded', !expanded); menu.hidden = expanded; }); </script>
Errors Comuns i Consells
- Oblidar l'ús de
aria-live
: Sensearia-live
, els usuaris de lectors de pantalla poden no ser conscients dels canvis dinàmics. - No gestionar la focalització correctament: Això pot causar que els usuaris es perdin en la interfície, especialment en diàlegs modals.
Conclusió
Les interaccions complexes i el contingut dinàmic poden millorar significativament l'experiència de l'usuari, però només si es fan accessibles. Mitjançant l'ús de WAI-ARIA, la navegació amb teclat i la gestió adequada de la focalització, podem assegurar que tots els usuaris tinguin accés igualitari a les funcionalitats de la web. En el següent tema, explorarem com aplicar aquests principis a les aplicacions d'una sola pàgina (SPAs).
Curs d'Accessibilitat Web
Mòdul 1: Introducció a l'Accessibilitat Web
- Què és l'Accessibilitat Web?
- Importància de l'Accessibilitat Web
- Visió General de les Lleis i Estàndards d'Accessibilitat
- Introducció a WCAG
Mòdul 2: Comprensió de les Discapacitats i les Tecnologies Assistencials
- Tipus de Discapacitats
- Visió General de les Tecnologies Assistencials
- Com les Persones amb Discapacitats Utilitzen la Web
Mòdul 3: Principis del Disseny Accessible
- Perceptible: Fer el Contingut Accessible als Sentits
- Operable: Interfície d'Usuari i Navegació
- Comprensible: Informació i Operació
- Robust: Compatibilitat amb Tecnologies Actuals i Futures
Mòdul 4: Implementació de l'Accessibilitat en HTML i CSS
- HTML Semàntic
- Formularis Accessibles
- Ús de Rols i Propietats ARIA
- Contrast de Color i Redimensionament de Text
Mòdul 5: Accessibilitat en JavaScript i Multimèdia
- Creació de Ginys JavaScript Accessibles
- Accessibilitat del Teclat
- Contingut de Vídeo i Àudio Accessible
- Proporcionar Alternatives de Text per a Imatges
Mòdul 6: Prova i Avaluació de l'Accessibilitat
- Tècniques de Prova Manual
- Eines de Prova Automatitzades
- Prova d'Usuari amb Tecnologies Assistencials
- Interpretació d'Informes d'Accessibilitat