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-expandedper 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-liveper 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
tabindexper 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
 
