vai ai contenuti
vai al menu

Regione Piemonte per l'Accessibilità e l'Usabilità



Screen reader: una panoramica

Introduzione

Cos'è uno screen reader? In poche parole ed in termini molto generali, si tratta di un software che permette di ascoltare (invece di leggere) un contenuto informatico presente a video (in questo senso, "lettore di schermo"), sia esso un documento word, pdf, che una pagina web.

Prima che la Microsoft rilasciasse (nella prima metà degli anni 90) la versione ad interfaccia grafica del sistema operativo, gli screen reader erano dei semplici programmi di lettura schermo. Gli screen reader per DOS (Parla, Filtro vocale, Hal per DOS) si limitavano a fornire la traduzione in voce del contenuto dello schermo a caratteri. In tal senso, si parla di command line interfaces (CLIs). L'introduzione di elementi grafici e soprattutto l’utilizzo del mouse facevano nascere nuovi problemi dal punto di vista degli screen reader. Come si poteva simulare tramite comandi da tastiera il puntamento con mouse dei vari oggetti presenti nello schermo? Come leggere gli elementi non testuali?

Un’ottima soluzione alla questione fu il mouse da tastiera, un sistema che permette di simulare l’uso del mouse tramite la tastiera, scorrendo e attivando gli elementi della pagina. Tale soluzione è molto intuitiva e semplice, tanto che ancora oggi questa è quella standard degli screen reader. Nel corso degli anni, con l’aumento di programmi, gli screen reader hanno dovuto mantenersi aggiornati, permettendo l’uso da tastiera dei principali applicativi: l’elemento discriminante che ha reso alcuni screen reader più usati di altri è stato proprio l’aggiornamento ed il supporto di programmi. Inoltre una questione importante è anche il supporto con display braille.
Fra i primi screen reader per interfaccia grafica, citiamo OutsSpoken (della Alva Access Group) e Hal (della Dolphin Systems): entrambi utilizzano il mouse da tastiera, e nelle versioni successive hanno implementato l’uso dei display braille. Viceversa, software come Windots e Virgo, sono nati prima come display braille e poi hanno supportato la sintesi vocale.

Da un sondaggio di WebAim (aprile 2010), risulta, come si può osservare nel grafico, che Jaws (Job Access With Speech) si conferma il lettore di schermo più usato (59%), ma la sua diffusione è in calo; di esso parleremo in altri approfondimenti in questo sito. Window-Eyes (diffuso principalmente negli Stati Uniti) evidenzia una diminuzione nell'uso, attestandosi all'11%, mentre VoiceOver ha una lieve cresita (10%). Infine è in forte aumento l’open source gratuito NVDA, che passa dal 3% al 9%..

Esistono infine i Web-based screen readers, cioè applicazioni web intallate sui singoli portali che permettono di ascoltarne i contenuti. Va detto che i principali fruitori di tali sistemi sono persone con difficoltà nell'apprendomento o nel linguaggio, piuttosto che persone con disabilità visive. Per tali persone infatti, questi sistemi rimangono limitati se conforntati con gli screen reader di tipo "desktop", a meno che per vari motivi gli utenti debbano fruire di contenuti web da computer su cui non possono installare software.
Infine citiamo screen readers limitati alla navigazione Web, come Home Page Reader, un prodotto molto valido di IBM ma di minore diffusione proprio perchè può essere utilizzato solo per navigare e leggere la posta elettronica.

Ricordiamo che gli screen reader sono prodotti in genere molto costosti: tuttavia, esistono in rete delle versioni demo per provarne il funzionamento. Sono versioni che funzionano per un tempo limitato, dopo il quale è necessario riavviare il PC e non consentono l'uso dei display braille.
Gli screen reader che prenderemo in considerazione nel presente articolo sono:

  • Jaws,
  • Home Page Reader,
  • NVDA).

Citiamo l'interessante articolo "L'aderenza agli standard di screen reader e browser vocali", dove vengono confrontati Jaws 3.5/3.71/4.02, HPR 3.02, e Window Eyes 4.2. Tale articolo è la traduzione dello studio "How Assistive Software Supports Web Accessibility" presentato il 20 Marzo 2002 alla 17a conferenza internazionale "Technology and Persons with Disabilities" di Los Angeles, California.
Il presente articolo ed i successivi si pongono l'obiettivo di portare avanti tale raffronto per versioni più recenti di alcuni dei tre screen reader, nonché di approfondire i principali task di navigazione.

torna su

Le MSAA

Con il nascere di Microsoft Windows 95, sono state realizzate, dalla Microsoft, delle librerie di funzioni in grado di mettere a disposizione per le applicazioni attive una serie di dati e proprietà. Tali librerie sono le Microsoft Active Accessibility Application Program Interface (MSAA API), che creano, all'interno del sistema operativo, delle classi di oggetti pubbliche; tali classi sono in grado di fornire ai programmi per le tecnologie assistive, tutte le informazioni necessarie sui controlli appartenenti ad una finestra, sugli elementi che fanno parte di questi controlli, sui menu ed anche sul codice html che viene caricato nei browser.
I lettori di schermo possono accedere a queste informazioni ed interfacciarsi con esse, anche modificandole, trasformare in testo i loro valori; in tal modo gli utenti possono reperire tutte le funzionalità che gli applicativi mettono loro a disposizione.
Per usare le MSAA, è possibile utilizzare i controlli standard messi a disposizione dalla Microsoft, oppure, con un opportuno linguaggio di programmazione, interagire opportunamente con le API: in questo caso si parla di controlli non standard, che presentano lo svantaggio di non essere attivabili direttamente da tastiera. Per ovviare allo svantaggio, Jaws ha introdotto un linguaggio di scripting in modo da permettere l'utilizzo di quelle applicazioni che non hanno una completa standardizzazione nei loro controlli.

Internet Explorer e Netscape Navigator 4 vengono utilizzati molto bene dagli screen reader, dato che questi software si avvalgono delle funzionalità delle MSAA. Per altri browser come Opera e Mozilla gli screen readers non sono attualmente adattati, dato che non usano i controlli standard messi a disposizione dalle MSAA.
I browser testuali come Lynx si usano ottimamente con screen readers che lavorano sotto DOS oppure sotto Linux consolle. In tal caso basta utilizzare le frecce del computer per muoversi tra i link della pagina; un invio attiva i link e con il tab ci si può spostare fra i controlli della pagina stessa.
Il problema dei browser testuali è che, in quanto tali, non visualizzano gli elementi grafici di una pagina web.

torna su

Jaws

Questo programma della Freedom Scientific nasce già per sistema MS-DOS esclusivamente come lettore di schermo. Jaws è probabilmente il migliore screen reader per quantità di funzionalità, ricco a dismisura di comandi per l'accesso ai programmi e per la navigazione in rete.
Jaws è riuscito negli anni a mantenere invariati molti dei comandi fondamentali, in modo da non disorientare gli utenti nel passaggio da una versione ad un'altra. Bisogna considerare, cosa non da poco, che nell'azienda che produce questo programma, lavorano delle persone non vedenti.
Jwas supporta un linguaggio di programmazione proprietario chiamato "Scripting Language", che permette di scrivere dei programmi che interagiscono con le applicazioni più disparate. Sono stati realizzati script per moltissime applicazioni, e questa caratteristica fa sì che Jaws sia tutt'ora lo screen reader più utilizzato, almeno per quanto riguarda Windows.
Per Jaws è possibile scaricare un dimostrativo dal sito. Il dimostrativo offre le funzionalità vocali (non il braille che richiede un apposito hardware decisamente costoso) per sessioni della durata di 40 minuti, dopodichè è necessario riavviare il computer.
Questa versione limitata però non supporta la sintesi vocale software e supporta pochissime sintesi vocali hardware. Jaws si comporta come un programma residente che gira in background sotto le altre applicazioni e che legge in automatico molti degli eventi che avvengono sullo schermo o i tasti digitati. Jaws ha impostata in partenza una modalità di lettura automatica. L'utente che naviga con Internet Explorer ha comunque a disposizione una serie di comandi da tastiera che gli consentono di esplorare lo schermo: purtoppo però, nel momento in cui si usano i comandi da tastiera la lettura automatica viene interrotta e la lettura (manuale) riparte dall'inizio.

Vediamo i principali comandi da tastiera soprattutto nell'ottica dell'utilizzo in una pagina Web:

  • Ctrl: interrompe la frase che il computer sta pronunciando (fondamentale);
  • Insert+2 (nel Num Pad): riprende a leggere il contenuto della pagina dalla posizione corrente;
  • Tab(Shift+Tab): si sposta al successivo (precedente) link o controllo;
  • Freccia su e giù: se si è interrotta la lettura automatica, sposta la posizione corrente alla linea precedente/successiva e la legge;
  • Freccia dx e sx: se si è interrotta la lettura automatica, legge la lettera successiva/precedente;
  • Ctrl + Freccia dx e sx: se si è interrotta la lettura automatica, legge la parola successiva/precedente;
  • PaginaSu/PaginaGiu: su IE incrementa/decrementa la velocità di lettura della pagina;
  • Insert+Invio: cerca di posizionarsi alla successiva area di testo (non di links) della pagina;
  • Ctrl-Insert-7: si posiziona sul primo campo del primo form della pagina e ne legge l'etichetta;
  • Invio su un campo di un form: attiva la modalità maschere, che consente di compilare i campi di un modulo. Ripremendo Invio si ritorna alla modalità normale (Cursore virtuale);
  • Insert+F7: fornisce l´elenco dei frames;
  • Insert+F9: fornisce l´elenco dei link.

È stata più volte rilevata in rete (per esempio su Webaccessibile) la difficoltà di navigare con Jaws abbinato a un browser diverso da Explorer, come per esempio Mozilla: infatti la maggior parte delle combinazioni di tasti per la lettura agevolata della pagina non funziona. Questo è già stato spiegato nel paragrafo dedicato alle MSAA.
Comunque la navigazione con Jaws e Mozilla può avvenire nella seguente maniera: premendo il tasto meno del tastierino numerico due volte velocemente (oppure insert + meno), si attiva la modalità "cursore invisibile", cioè lo screen reader si posiziona dove sta il puntatore del mouse.
A quel punto, con Ctrl + Freccia dx e sx, Jaws legge la parola successiva/precedente. La navigazione ne risulta comunque notevolmente appesantita.
Per chiudere Jaws occorre premere i tasti Insert+F4 e confermare l'operazione. Siccome il test con Jaws deve essere effettuato con la tastiera (Jaws emula il mouse con dei tasti, ma per le nostre finalità non è importante), si suggerisce di assegnare un tasto di scelta rapida all'icona del programma presente su desktop (clic destro col mouse sull'icona, selezionare dal menu la voce Proprietà, scegliere il campo Tasto di scelta rapida e premere la sequenza di tasti che si vuole assegnare, esempio Ctrl+Alt+J) in modo da attivare il programma quando si è nella pagina che si vuole testare e da richiuderlo appena finito il test.
La versione attuale di Jaws in distribuzione in Italia è la 6 che supporta anche Windows XP.

torna su

Home Page Reader (HPR)

Home Page Reader (prodotto della IBM) è un browser web con funzioni vocali. Per leggere il contenuto delle pagine Web, Home Page Reader versione 3.0 usa un software di sintesi vocale IBM, ViaVoiceOutloud.
Ecco alcuni comandi base da tastiera per controllare la lettura della pagina web:

  • Ctrl: interrompe la lettura automatica
  • Barra spaziatrice: riprende la lettura
  • Ctrl+E: chiude il programma

HPR definisce alcune modalità principali di lettura, fra cui citiamo:

  • Modalità di lettura Elementi: la lettura avviene saltando da un elemento ad un altro: per elementi si intendono paragrafi, intestazioni, liste, celle di tabelle, controlli (caselle di testo, pulsanti di opzione, link mappe immagini). Si attiva con Alt+E. In questa modalità, che è la predefinita da HPR, i tasti Freccia Sinistra/Giù/Destra leggono rispettivamente gli elementi precedenti/correnti/successivi.
  • Modalità di lettura Parole: viene letta parola per parola. Si attiva con Alt+P. In questa modalità, i tasti Freccia Sinistra/Giù/Destra leggono rispettivamente le parola precedenti/correnti/successive.
  • Modalità di lettura Caratteri: viene letta lettera per lettera. Si attiva con Alt+C. In questa modalità, i tasti Freccia Sinistra/Giù/Destra leggono rispettivamente la lettera precedente/l'equivalente fonetico della lettera corrente/successiva.
  • Modalità di lettura Cursori di Windows: la lettura avviene lettera per lettera, riga per riga, a seconda delle combinazioni di caratteri. Si attiva con Alt+W. In questa modalità, i tasti Ctrl+Freccia Sinistra/Ctrl+Destra leggono rispettivamente la parola precedente/successiva.
    I tasti freccia sinistra/destra leggono la lettera precedente/successiva.

torna su

Window-Eyes

Window-Eyes funziona di default in una modalità di lettura per cursori.
Con le frecce destra e sinistra, vengono lette le singole lettere. Su Internet Explorer, con la combinazione Ctrl+freccia destra/sinistra, vengono lette le parole seguenti/precedenti. Parallelamente, Window-Eyes legge le parole su cui il mouse è posizionato; questa modalità assomiglia a quella di Jaws "cursore invisibile", attivabile col il testo meno del numpad.

Navigazione in modo MSAA

Molte pagine Web oggi sono occupate da grafici, immagini in movimento ed è difficile esplorarle mediante uno screen reader. Esse possono contenere molte colonne e molti frames e tabelle.
L'uso del modo MSAA rende Internet Explorer più facile da gestire. Per attivare questo modo bisogna portare in "attivo" le applicazioni MSAA nel menu "Generale" o premere il tasto caldo CTRL-SHIFT-A quando Internet Explorer è attivo.
Quindi se il modo MSAA è impostato su attivo, Window-Eyes riceve le informazioni direttamente da Internet Explorer saltando la lettura delle informazioni sullo schermo.
Questo consente al programma di presentare le informazioni in modo organizzato "come una pagina di testo" facilmente consultabile con la sintesi vocale o la riga braille. Fino a quando rimane attiva questa modalità Window-Eyes lavora con un puntatore invisibile che emula un cursore all'interno di un'area di memoria che contiene le informazioni presentate contemporaneamente sullo schermo.
Quando il modo MSAA è attivo, Window-Eyes legge tutte le informazioni presenti sulla pagina web riga per riga direttamente dal formato HTML. 
Window-Eyes raccoglie le informazioni in ordine ma deve attendere che Internet Explorer concluda il caricamento della pagina stessa nella memoria del computer. Questa operazione richiede qualche secondo e pertanto è necessario attendere il messaggio di caricamento completato prima di iniziare a leggere.
Se si prova ad usare i comandi di lettura di  Window-Eyes mentre il caricamento della pagina è in corso verrà emesso un beep e la sintesi vocale dirà "caricamento della pagina in corso" e il comando verrà ignorato. Non appena la pagina sarà completamente caricata nella memoria del computer  Window-Eyes dirà "Pagina caricata".
A questo punto Window-Eyes comunica con Internet Explorer per mezzo delle MSAA ed è in grado di prelevare tutte le informazioni presenti sulla pagina web.
Durante questa fase di caricamento l'intera pagina viene riformattata e posta in un'area temporanea di memoria di Window-Eyes. In nessun caso ciò che è visualizzato sullo schermo viene modificato.
Window-Eyes legge nell'area di memoria di Window-Eyes, ed in tal modo fornisce un completo accesso alle informazioni presenti sul video.
Non appena il caricamento è concluso Window-Eyes dice "Caricamento completato X frames Y tabelle".

Quando Window-Eyes continua a caricare in memoria la pagina il testo viene inserito alla fine di quello già caricato in memoria e Window-Eyes carica le righe più velocemente di quanto non sia possibile leggerle.
Questo non è un problema fino a che, per esempio, non si vuole saltare alla fine della pagina web. Se si richiede a Window-Eyes di leggere un'area di pagina web non ancora caricata in memoria come con il comando CTRL-FINE Window-Eyes ricorda che sta caricando la pagina nella sua memoria per esaminarla e presentarla nel modo migliore.
Come già descritto sopra, dopo che Internet Explorer ha terminato di scaricare la pagina web Window-Eyes inizia a caricarla nella sua memoria con il messaggio "Caricamento pagina".
Quindi se quando inizia il caricamento della pagina nella memoria di Window-Eyes si inizia a spostare il puntatore con i tasti freccia, esso non aggiusta più il puntatore di lettura.
Se si attende il caricamento in memoria e Window-Eyes trova una riga visibile posiziona il puntatore su questa riga. Se, di nuovo, non si inizia a leggere dopo che una riga visibile è stata trovata e si ritorna alla pagina precedente e si attende il caricamento della pagina intera esso posiziona il puntatore nell'ultima riga dove si era prima di lasciare quella pagina.
Una volta che la pagina è stata completamente scaricata nel buffer di Window-Eyes e non si sono dati comandi di lettura, Window-Eyes legge automaticamente 24 righe a partire dalla posizione corrente.  La posizione corrente può essere l'inizio della pagina, la prima riga visibile sulla pagina o l'ultima riga letta di una pagina visitata precedentemente.
Quando si legge una pagina web e si incontra un link Window-Eyes dice "link"  seguito dalla descrizione del link.  Se il link in oggetto è stato visitato precedentemente Window-Eyes dice "link visitato" seguito dalla descrizione del link.
Questa è una funzione estremamente utile per aiutare la navigazione sullo schermo evitando di rivisitare pagine già controllate.  Si può controllare il modo con cui Window-Eyes legge queste informazioni e le altre proprietà legate all'utilizzo delle MSAA cambiando le impostazioni delle MSAA nel menu globale prolissità MSAA.

Altri comandi

Leggi fino alla fine - la lettura inizia dalla riga dove si trova il puntatore e la pagina web viene letta fino alla fine a meno che non si prema il tasto ESC. Questa è una funzione che legge un'intera pagina web.
Per default il tasto caldo è CTRL-SHIFT-R.

Leggi sommario - Premendo questo tasto Window-Eyes legge il numero di righe presenti sulla pagina Web e la riga dove è posizionato il puntatore. Esso avverte, inoltre, se la pagina contiene dei frames e quanti sono.
Per default questo tasto caldo è CTRL-SHIFT-S.

torna su

Sitografia

torna su

Torna su

stampa la pagina


Torna su


Torna su