Vai ai contenuti

LAU



Home > progettare > accessibilità: strutturare il codice > Realizzare pagine accessibili con Ajax


Realizzare pagine accessibili con Ajax

Tecniche per risolvere problemi che pagine Ajax possono causare ad utenti con disabilità.

a cura di: Filippo Pusset | 18 ottobre 2006


1. Introduzione

Ajax (Asinchronous Javascript and XML) è una tecnica di programmazione che consente di migliorare l'interazione di applicativi web intervenendo sul processo di richiesta effettuato al web server quando si modifica il contenuto della pagina. Con questa tecnica è possibile ottenere interfacce con tempi di risposta molto ridotti, il che va a beneficio degli utenti.

Tuttavia Ajax se adottato senza accorgimenti particolari può causare problemi a livello di accessibilità. Nel presente articolo sono menzionati degli accorgimenti per superare alcuni dei problemi che Ajax può causare quando è utilizzato; esso è il proseguimento dell'articolo "Progettare con Ajax: il Progressive Enhancement" che presenta alcune tecniche per progettare pagine che mantengono le proprie funzionalità anche con Ajax non attivo.

torna su

2. Rendere accessibili pagine con Javascript abilitato

Anche se si riescono a visualizzare pagine Ajax mediante un browser che supporta Ajax e Javascript, ciò non significa che una pagina realizzata e visualizzata con tali linguaggi sia accessibile; Javascript, come tutti i linguaggi di programmazione, deve essere utilizzato pensando all'accessibilità.

Per sviluppare meglio questo discorso, l'articolo introduttivo di Jared Smith tradotto da Paolo Manca sul questo sito è un buon punto di partenza.
Al di là dei problemi che Javascript manifesta di per sé, l'utilizzo di Ajax per creare applicazioni internet più "ricche", interattive e veloci da usare (potenzialmente anche più usabili) può sicuramente portare ad ulteriori problemi di accessibilità.
In pratica, ogni volta che Ajax è utilizzato in modo da rompere le consuetudini del comportamento di un browser (il che viste le sue caratteristiche avviene spesso), ciò può potenzialmente creare problemi ad utenti con disabilità di vario tipo.
In tal caso, Ajax anziché semplificare l'interazione con la pagina può potenzialmente danneggiare l'utente. Questa situazione può spesso essere ribaltata grazie ad accorgimenti specifici, legati alle singole modalità di utilizzo di Ajax.

Il processo di standardizzazione W3C per le interfacce di applicazioni RIA (come quelle basate su Ajax) è in atto, ma non ancora completo.
Lo stato dei lavori è analizzabile sul sito del W3C [link esterno].
Nel frattempo, chi si occupa di accessibilità delle pagine web con Ajax dovrebbe dunque analizzare volta per volta lo specifico caso che ha davanti per determinare la soluzione più efficace.

Parecchi dei problemi più frequenti sono comunque riconducibili ad una caratteristica specifica di Ajax: posto che grazie a questa tecnica si può modificare solo parte della pagina web (salvando dei dati, visualizzando in un box del testo che dia informazioni aggiuntive all'utente sull'azione che sta compiendo), non sempre si riesce a notificare a sufficienza queste modifiche perchè l'utente si accorga di quali siano stati gli effetti delle sue azioni.

Un disabile visivo può avere grossi problemi nel caso in cui solo una parte della pagina cambi di stato; i lettori testuali non riusciranno ad identificare il cambiamento, e l'utente potrebbe non rendersi conto che le proprie azioni hanno causato una modifica nella pagina.

Questi problemi possono riguardare i non vedenti, ma anche utenti con disabilità cognitive si troveranno in difficoltà nel navigare pagine Ajax.
Ci sono diverse tecniche che è possibile utilizzare per avvisare gli utenti, a seconda del tipo di applicazione e del tipo di disabilità di chi la utilizza.

torna su

3. Esempi di soluzioni ad hoc

Una prima tecnica è menzionata nel seguente articolo [link esterno] sull'accessibilità di form Ajax dal sito Standard Schmandards.
L'autore sottolinea i problemi che Ajax può creare se utilizzato per facilitare l'interazione con i form, ed elenca un insieme di regole per ridurne l'impatto.
Il concetto fondamentale è quello di avvisare sempre l'utente, specie chi utilizza screen reader, sia a priori del fatto che si sta utilizzando una pagina dinamica, sia nel momento in cui una pagina utilizza Ajax ed alcune delle sue parti si modificano. La soluzione per lo specifico problema analizzato (una calcolatrice che consente di effettuare operazioni il cui risultato è visualizzato senza ricaricare tutta la pagina) è quella di fare comparire una finestra di pop-up che avverta i disabili visivi dell'avvenuto cambiamento nella pagina, mentre per disabili cognitivi ma anche per qualsiasi utente può essere utile evidenziare con degli effetti grafici le aree della pagina soggette a cambiamento.

Per un riferimento al comportamento degli screen reader utilizzando Javascript, si può fare riferimento all'articolo " Pop-up e screen reader" di Riccardo Franco su questo sito.

Non per tutti gli utilizzi possibili di Ajax è possibile pensare di risolvere così il problema, purtroppo.

Consideriamo ad esempio Google Suggests [link esterno], un servizio di Google che potenzia il motore di ricerca con funzionalità Ajax. Digitando nel form "Search" le prime lettere del termine che si vuole cercare, l'applicazione effettua una ricerca sui database Google e mostra un elenco di suggerimenti, elencando termini di ricerca che iniziano con le stesse lettere digitate dall'utente.
In questo caso, come comunicare i suggerimenti ad un utente che non dispone del canale visivo? Si potrebbe pensare a pop-up anche qui visualizzabili su richiesta, ma questo potrebbe risultare più macchinoso che effettuare la ricerca normalmente. In tal caso si potrebbe puntare su pop-up in grado di avvisare l'utente solo qualora la ricerca di un determinato termine non produrrebbe alcun risultato, offrendo perlomeno dei benefici limitati.

Un'altra tecnica, che si focalizza sulle necessità di chi naviga con screen reader, ed un'analisi del comportamento di alcuni di essi, si può trovare nell'articolo "Making Ajax Work with Screen Readers" [link esterno].

Purtroppo non tutti i lettori testuali si comportano nello stesso modo nel leggere una pagina, ma la tecnica fondamentale è quella di utilizzare il metodo Javascript OnFocus per portare il focus dello screen reader su un'area precisa del sito che lo screen reader è in grado di leggere, ad esempio su un form.
Anche questo approccio non può funzionare in ogni caso (l'articolo riporta di difficoltà con le tabelle di dati), ma ci sono situazioni in cui può rivelarsi utile.

Come si è visto, non esiste un'unica soluzione a tutti i problemi di accessibilità che Ajax può provocare. Nell'attesa di linee guida da seguire sarà dunque necessario da parte di chi si occupa di accessibilità adottare un approccio pragmatico, alla base del quale c'è l'analisi delle funzionalità da offrire, lo studio delle modalità di interazione degli utenti disabili con la pagina Ajax in questione e la messa a punto di soluzioni di accessibilità ad hoc che ottimizzino la fruizione della pagina da parte di tutti.

torna su

[ Torna all’inizio della pagina ]



Sito realizzato dal Laboratorio di Accessibilità e Usabilità del CSI Piemonte - Dichiarazione di accessibilità

[ Torna all’inizio della pagina ]