In questa puntata, vedremo tutte le modalità di navigazione delle pagine web e le problematiche derivanti da queste modalità.
La cosa più importante che, a mio avviso, va sottolineata, è che le pagine web non hanno un vero e proprio standard di strutturazione; il linguaggio html fornisce agli sviluppatori web un mezzo per scrivere i loro documenti, ma non essendo rigido nella sua struttura, permette loro di decidere come comporre le pagine. Ciò, da un lato dà la possibilità al programmatore di scegliere lui stesso il suo layout grafico, ma non fornisce ai programmi di tecnologia assistiva una via facile per determinare il modo in cui un utente affetto da disabilità visiva possa navigare all'interno della pagina. E' infatti quasi impossibile avere per tutte le pagine gli stessi punti di riferimento per spostarsi da un punto all'altro. Spesso e volentieri accade che l'utente debba avere un tempo sufficentemente ragionevole per comprendere come muoversi all'interno delle pagine di un determinato sito e se esistono dei trucchi per velocizzare la navigazione; tutto ciò, e' bene sottolinearlo, a prescindere dal fatto che la pagina sia o non sia accessibile da un punto di vista tecnico.
Vediamo ora il comportamento dello screen reader quando viene caricata
una pagina web.
Nello stesso istante in cui viene caricata una pagina, lo screen reader
attiva una modalità che solitamente si chiama virtuale. In questo
modo l'utente può muoversi all'interno della pagina senza modificarne
la struttura. E' come se si trattasse di un finto browser, con suoi comandi
propri e con un suo proprio schermo; solitamente infatti, chi dovesse osservare
un non vedente che naviga, non vede in effetti il punto esatto in cui si
trova con il cursore, perché il non vedente si muove all'interno
di un buffer virtuale di dati, che sono gli elementi testualizzati della
pagina.
Analizzando più in dettaglio: lo screen reader analizza il codice
della pagina in questione; ne determina il numero di link presenti, il numero
di eventuali frames e quello dei livelli di intestazione. Dopo di che inizia
la lettura automatica della pagina, menzionando dapprima il numero dei frames,
poi quello dei livelli di intestazione e infine quello dei link. Inoltre
va detto che lo screen reader prende il controllo della tastiera, mettendo
a disposizione dell'utente una serie di comandi che devono servire a navigare
all'interno della pagina; ogni comando che l'utente darà non andrà
a modificare la visualizzazione della pagina in modalità reale, ma
sarà prima analizzato dallo screen reader che deve determinare se
l'utente ha dato un comando di navigazione oppure no. Se il comando dato
non fa parte di quelli che servono a navigare, lo screeen reader passa il
controllo al browser. Se l'utente non interrompe la lettura della pagina,
lo screen reader arriverà fino alla fine.
Attualmente la lettura automatica può purtroppo creare confusione.
Fino a qualche tempo fa, le pagine web servivano quasi esclusivamente a
dare informazioni ed erano, tra le altre cose, moderatamente leggere, non
intrise di link o di form; quindi la loro lettura automatica doveva servire
a velocizzare il lavoro di un non vedente. Ora invece, le pagine sono delle
vere e proprie applicazioni, all'interno si possono fare parecchie cose,
come ad esempio compilare moduli, leggere la posta elettronica, cercare
delle informazioni e leggere notizie; chattare con altri utenti del web
e tanto altro ancora.
Solitamente quando si entra in una pagina web, il cursore viene posizionato
sul campo più significativo; oppure si fa in modo che salti all'occhio
la novità dell'ultim'ora; insomma, la lettura automatica delle pagine
non può più essere un modo per velocizzare il compito del
non vedente che deve reperire informazioni. In questo modo capita che la
persona che naviga non ha la cognizione di dove il cursore ha il focus e
non sempre sa qual è l'elemento di spicco della pagina in cui è
entrato. Tutto ciò che può fare è interrompere la lettura
da parte dello screen reader e tornare all'inizio, per ricominciare a leggere,
dall'alto verso il basso, il suo contenuto.
Abbiamo parlato della modalità virtuale dello screen reader. Vediamo
ora più in dettaglio come avviene, dal punto di vista puramente astratto,
la strutturazione della pagina.
Il codice html viene passato alle librerie per l'accessibilità. Lo
screen reader si accorge, attraverso l'attivazione di alcuni eventi, che
è stata caricata una nuova pagina. A questo punto analizza il suo
contenuto e lo memorizza nel buffer virtuale. Il risultato di questa trasformazione
è uno schermo virtuale in modalità testo. Una matrice di righe
e colonne, nelle quali il testo viene formattato, non tenendo conto della
struttura grafica della pagina. Il codice html, infatti, viene interpretato
dalla prima all'ultima riga e l'output risultante segue di pari passo il
codice; ciò che c'è all'inizio verrà visualizzato all'inizio
e così via.
Il testo verrà formattato secondo la lunghezza della riga nel buffer
virtuale, di cui l'utente può impostare il numero di caratteri che
deve contenere. Il valore predifinito è 150 caratteri per riga.
Gli elementi più significativi, quali ad esempio i links, i grafici,
l'inizio e la fine di un frame, l'inizio e la fine di una tabella, le colonne
di una tabella, l'inizio e la fine di una lista, vengono posti su righe
isolate. Ciò vuol dire che se pe esempio una riga contiene 10 links,
posti sulla stessa riga e alla stessa altezza, come se fosse un menu, lo
screen reader visualizzerà dieci righe separate, ciascuna della quali
contiene un solo link. Ciò avviene, per permettere all'utente di
dare semplicemente invio senza doversi preoccupare del posizionamento del
cursore, nel momento stesso in cui giunge su una riga che contiene un link.
Anche per quanto riguarda i forms avviene la stessa identica cosa: ogni
campo di un form viene posizionato su una riga separata, così come
pulsanti, caselle combinate ecc..
Solitamente, i frames, le tabelle e le liste, vengono contrassegnati da
un inizio ed una fine: inizio e fine frame, inizio e fine tabella, inizio
e fine lista.
Una particolare attenzione va dedicata alle tabelle, poiché queste
ultime presentano le difficoltà maggiori per l'accessibilità.
Prima di poterci addentrare in un ambito più tecnico, è bene
chiarire come queste tabelle vengano visualizzate all'utente da uno screen
reader.
Esistono due tipi di tabelle che è possibile realizzare: tabelle
di formattzione (layout), che sono solitamente utilizzate per strutturare
graficamente una pagina in più colonne orizzontali; tabelle di dati,
come ad esempio schede tecniche di prodotti, schede personali, dati statistici,
utilizzate appunto per fornire informazioni tecniche sui dati anagrafici
di una persona, su un prodotto commerciale e così via.
Sono proprio queste ultime che mettono più in difficoltà un
utente. Lo screen reader infatti, nello strutturare una tabella, non tiene
conto della sua composizione in righe e colonne; ciò che solamente
rappresenta sono le colonne, a partire da quelle della prima riga, fino
a quelle dell'ultima riga. Ognuna di queste colonne viene visualizzata su
una riga separata; il risultato quindi è che l'utente si ritrova
una serie di elementi posti in verticale, uno sotto l'altro che sono la
rapresentazione delle colonne di una tabella.
Vediamo un piccolo esempio: supponiamo di avere una tabella che descriva
il nome, il cognome e la professione di una persona. Dunque avremo:
| Nome | Cognome | Professione |
| Germano | Carella | Studente |
Questo è un esempio di come si dovrebbe vedere graficamente una tabella;
vediamo ora come la visualizzerebbe uno screen reader:
tabella con 3 colonne e 2 righe
r1c1 Nome
r1c2 Cognome
r1c3 Professione
r2c1 Germano
r2c1 Carella
r2c3 Studente
fine tabella
Nota: r1c1-r2c3 sono state inserite per meglio esplicare la strutturazione
della tabella in formato testuale; in effetti, gli utenti che utilizzino
oltre allla sintesi vocale anche il supporto braille, avrebbero la stessa
strutturazione presentatavi qui sopra; utenti che usano solo la sintesi
vocale, non hanno alcuna corrispondenza fra le righe e le colonne; debbono
quindi evincerne il contenuto dal contesto.
Come si può notare, in una tabella di dimensioni molto ristrette,
il problema può anche non porsi; ma all'aumentare dei dati, è
inevitabile che l'utente faccia confusione fra gli elementi della tabella,
finendo per non comprenderne il contenuto.
Cerchiamo ora di rappresentare graficamenteuna pagina web dal punto di
vista dell'utente non vedente che la deve leggere con lo screen reader.
Prenderemo come esempio la pagina di google, molto piccola e facile da scorrere.
Ecco la pagina così come appare visivamente:
Google
Italia
Web
Immagini
Gruppi
Directory
Cerca con Google
Mi sento fortunato
Ricerca avanzata
Preferenze
Strumenti per le lingue
Cerca nel Web
Cerca solo le pagine in Inglese e Italiano
Pubblicità -
Google Toolbar -
Tutto su Google -
Google.com
©2003 Google - Ricerca su 3,083,324,652 pagine Web in corso ...
Ecco invece come lo screen reader la mostra all'utente non vedente:
Grafico: Google
Italia
Web
Link: immagini
Link: gruppi
Link: directory
Editazione: vuoto
Pulsante: Cerca con Google
Pulsante: Mi sento fortunato
Elenco puntato
Link: ricerca avanzata
Elenco puntato
Link: preferenze
Elenco puntato
Link: strumenti per le lingue
Pulsante radio: disattivato
Cerca nel web
Pulsante radio: attivato
Cerca solo le pagine in inglese e in italiano
Link: pubblicità
Link: google toolbar
Link: tutto su google
Link: google.com
©2003 Google - Ricerca su 3,083,324,652 pagine Web in corso ...
Le righe vuote sono realmente rappresentate anche nello schermo virtuale.
Si noti che la navigazione in una pagina come questa risulta abbastanza
semplice, poiché la pagina è relativamente piccola, anche
se, come si vede, le informazioni vengono totalmente stravolte nella visualizzazione
virtuale. In una pagina molto complessa, ricca di link, tabelle e quant'altro
mai, la navigazione può risultare, come vedremo in seguito, estremamente
difficoltosa e a volte può confondere e far perdere l'orientamento
all'utente non vedente.
Nella prossima puntata, verranno illustrate le modalità di navigazione, i comandi principali e i modi con i quali si potrebbero approcciare delle verifiche di accessibilità delle pagine.
Webxtutti aderisce alla Campagna per l'Accessibilità delle Biblioteche in rete
Campagna AccessibilitàWebxtutti supporta l'iniziativa dell'anno europeo delle persone disabili
E' in linea Web accessibile il sito nato per la promozione, diffusione e applicazione delle guidelines WAI.