Appunti e spunti sull’esperienza d’uso

Tecnologie assistive come interfaccia utente a cura di Sauro Cesaretti

braille

Come anticipato nel nostro articolo precedente, le persone non vedenti si avvalgono delle cosiddette “tecnologie assistive” per poter utilizzare il computer: si tratta sia di device hardware sia di componenti software, che permettono ai disabili visivi di poter interagire e lavorare con il personal computer. Le principali tecnologie assistive sono il sintetizzatore vocale ed il display braille, gestiti mediante lo screen reader.

In questo articolo esamineremo brevemente il funzionamento di queste tecnologie assistive, offrendo una panoramica sullo stato dell’arte. Queste conoscenze saranno utili nella progettazione di interfacce utente accessibili ai non vedenti.

Sintesi vocale

La sintesi vocale (o Text To Speech) è importante per i non vedenti poiché permette di leggere a voce ciò che sul computer è scritto. Il sintetizzatore vocale può essere realizzato tramite software o hardware. Inizialmente, i sintetizzatori vocali erano costituiti da periferiche esterne da collegare al personal computer (mediante collegamento seriale, parallelo o con una scheda interna al computer) e gestiti attraverso un software che inviava il flusso di informazioni da leggere.

Successivamente, la sintesi vocale hardware è stata completamente sostituita da un applicativo software che genera le informazioni in campioni audio da inviare alla scheda audio del personal computer: questo ovviamente richiede un processore con buone prestazioni ed una maggiore quantità di memoria.
Nel campo della sintesi vocale realizzata da applicativi software si cerca sempre un compromesso tra la qualità della voce e la velocità di risposta.

Display braille

Il display braille (o barra braille) è un dispositivo hardware costituito da una linea di 20, 40 o 80 celle, ognuna composta da 6 o 8 punti, rappresentante i singoli caratteri del codice Braille. I punti sono fatti in ceramica e messi in movimento da un dispositivo elettromeccanico costituito da una leva che con una differenza di potenziale fa muovere le diverse combinazioni di punti.

Rispetto alle celle a sei punti, quelle a otto punti permettono di rappresentare la notazione braille estesa, che permette di avere un maggior numero di simboli rappresentabili e meno celle a
comporre un singolo carattere o numero. Ad esempio, per rappresentare un numero con la codifica a sei punti, è necessario usare due celle: una per avvisare che la cella successiva contiene un numero, l’altra per indicare una cifra di tale numero.

L’aggiunta di due punti alla codifica braille originale permette di scrivere il codice in maniera compatta, creando una corrispondenza biunivoca tra il carattere braille ed il carattere visualizzato a video.

Il display braille veniva un tempo collegato al computer mediante una connessione seriale o parallela, ma oggi si utilizza o una porta USB o un collegamento Bluetooth.

I display braille hanno solitamente tasti che permettono di esplorare lo schermo.

Con l’avvento delle interfacce grafiche, il controllo dell’esplorazione è stato affidato totalmente allo screen reader, che in certi casi permette anche di personalizzare il comportamento dei tasti per la navigazione. Nella maggior parte dei display, sopra ad ogni cella troviamo un piccolo tasto detto “cursor routing” che permette di portare il cursore nella posizione della cella stessa. Questo sistema è molto utile in fase di editing di un testo, perché permette di spostare il cursore esattamente al carattere che sta sotto al dito dell’utente.

Screen readers

Lo screen reader è un software che permette ai disabili visivi di interagire con un personal computer veicolando le informazioni attraverso il sintetizzatore vocale ed il display braille. In pratica, lo screen reader ha il compito di tradurre le informazioni visibili a schermo in formato testuale da inviare in output al display braille e/o al sintetizzatore vocale.

La maggior parte degli screen reader, soprattutto quelli proprietarii, si basa sulle informazioni che arrivano dalla scheda video. I primi screen reader sono stati sviluppati per il sistema operativo MS DOS e per Windows 3.1. Tra gli screen reader più noti di quell’epoca citiamo outSPOKEN, Hal, Virgo e JAWS.

Successivamente, gli screen readers hanno cercato di seguire, per quanto possibile l’evoluzione dei sistemi operativi. Inoltre, in questi ultimi anni, gli screen readers vengono installati anche sui dispositivi mobili; ne sono esempi il Talks per Symbian, installato soprattutto sui telefoni Nokia, il Mobilespeak per i dispositivi Windows Mobile e, da ultimo ma non meno importante, il VoiceOver per gli iPhone e gli iPod di Apple.

Vediamo ora più in dettaglio gli screen reader attualmente utilizzati nei vari sistemi operativi. Per quasi tutti quelli di cui tratteremo, sono disponibili online delle demo installabili per comprenderne meglio il funzionamento.

JAWS

JAWS for Windows sviluppato da Freedom Scientific è attualmente lo screen reader più famoso e più utilizzato dai non vedenti in tutto il mondo. Le prime versioni sono state sviluppate per MS DOS e Microsoft Windows 3.0. Ora siamo arrivati alla versione 11 che funziona con Windows 7.

JAWS si basa principalmente sull’intercettazione e l’interpretazione delle informazioni che arrivano dal driver della scheda video. Successivamente, le informazioni vengono organizzate in maniera gerarchica, per permettere all’utente di conoscere le posizioni e l’organizzazione dei controlli e degli oggetti grafici che compongono le interfacce desktop e web.
Con l’uscita di Windows XP, la Microsoft ha fornito una libreria di API denominata MSAA per agevolare la lettura dello schermo per le tecnologie assistive.

Le ultime versioni di JAWS fanno uso di queste API per fornire informazioni aggiuntive sui controlli.
JAWS inoltre ha un suo linguaggio di scripting che permette di adattare il comportamento dello screen reader alle preferenze dell’utente in situazioni dove si ha scarsa accessibilità. Questo linguaggio non viene usato solo dagli utenti per personalizzare lo screen reader ma anche dagli stessi sviluppatori, poiché qualsiasi comando dello screen reader è associato ad una funzione del linguaggio eventualmente modificabile.

JAWS si basa principalmente su due sistemi di esplorazione: un sistema segue il focus del sistema operativo e legge normalmente le informazioni messe a fuoco mentre si navigano attraverso la tastiera le finestre ed i controlli dell’interfaccia, il secondo segue il puntatore del mouse e viene utilizzato per esplorare applicazioni non totalmente accessibili, dove lo screen reader non riesce a seguire il focus autonomamente. Questa seconda modalità è davvero importante in quanto permette agli utenti di comprendere le posizioni reali dei controlli all’interno dell’interfaccia.

Per navigare sul web, lo screen reader utilizza una tecnica detta “buffer virtuale”: le informazioni vengono incapsulate all’interno di un buffer in cui l’utente può muoversi
come se leggesse un testo. All’interno di questo buffer, gli oggetti della pagina vengono indicati con prefissi che permettono di capire quali elementi vi sono contenuti. Ad esempio, i link vengono indicati con il nome stesso del link seguito dall’abbreviazione “lnk”.
Lo stesso sistema di organizzazione mediante buffer viene usato anche per la lettura e la navigazione di documenti PDF, a condizione che i PDF siano stati realizzati seguendo alcune regole di accessibilità.

Window-Eyes

Window-Eyes è il principale concorrente di JAWS, sviluppato dalla GW Micro, e compatibile con i sistemi operativi Microsoft. Anche Window-Eyes è basato principalmente sull’intercettazione delle informazioni dal video e sull’utilizzo delle MSAA. A differenza di JAWS, però, fino alla versione 6 non aveva un vero e proprio linguaggio di scripting ma semplicemente dei files di configurazione denominati “set files”. Nell’ultima versione di Window-Eyes gli sviluppatori hanno cercato di implementare la programmazione e la personalizzazione dello screen reader attraverso il linguaggio Python.
Può sicuramente essere considerato una valida alternativa a JAWS anche se è strettamente legato ad un elevato numero di combinazioni da tastiera: una learning curve iniziale non trascurabile.

NVDA

NVDA (NonVisual Desktop Access) è uno screen reader open source per i sistemi operativi Microsoft, in particolare, Windows 2000/XP/Vista. E’ stato sviluppato interamente in Python, un linguaggio interpretato e per questo motivo in certi casi risulta poco efficiente e con basse prestazioni: una pecca non trascurabile per applicativi di questo tipo.
Questo screen reader non è sicuramente ai livelli di JAWS ma permette di utilizzare le applicazioni più conosciute come il pacchetto Office, i browser web Internet Explorer e Mozilla Firefox e le applicazioni fornite con il sistema operativo. La differenza più importante tra JAWS ed NVDA è il fatto che NVDA non riesce in alcun modo ad intercettare le informazioni provenienti dal driver della scheda video e si basa esclusivamente sulle informazioni fornite dalla libreria MSAA.
NVda è fornito di una sintesi vocale open source chiamata ESpeak, disponibile in diverse lingue ma di qualità molto bassa. Tuttavia, è possibile configurare NVDA con
le sintesi basate sui protocolli SAPI 4 e SAPI 5 come la Eloquence e le voci di Actor.

Orca

Orca è uno screen reader open source per piattaforme Unix/Linux, pensato per applicazioni basate sul desktop Gnome, che permette di gestire autonomamente la maggior parte dei programmi sviluppati con le librerie GTK. E’  incluso nelle distribuzioni Linux più famose, in particolare in Ubuntu Desktop.
Il core di Orca è stato sviluppato interamente in C e dispone di un interfacciamento con il linguaggio Python, il quale fornisce un buon supporto per l’estensione e la personalizzazione per l’uso di applicativi non completamente accessibili. Utilizza come sintesi vocale Festival, open source, di qualità sicuramente inferiore alle sintesi vocale commerciale. Permette di interfacciarsi con la maggior parte dei display braille sfruttando le API dello screen reader BRLTTY, utilizzato per la gestione della console testuale, che nelle ultime versioni ha messo a disposizione un set di API che facilitano la comunicazione con i dispositivi supportati.

VoiceOver

VoiceOver è lo screen reader sviluppato da Apple, disponibile su tutti i suoi dispositivi usciti negli ultimi anni. Per quanto VoiceOver sia giovane, fornisce una soluzione alternativa veramente interessante per utenti desktop e mobile. A differenza degli altri prodotti, infatti, VoiceOver viene fornito gratuitamente e preinstallato sui desktop Mac, sui portatili MacBook e sui server. Lo si trova anche sugli ultimi modelli di iPhone ed iPod. Il VoiceOver è dotato di alcune sintesi vocali inglesi predefinite ed è possibile acquistare le sintesi vocali italiane “Chiara e Vittorio Infovox” sviluppate da Acapela Group.

L’aspetto veramente interessante di VoiceOver è il supporto nativo per la maggior parte dei display braille (mancante negli altri screen reader citati, rendendo difficoltoso il primo utilizzo del computer da parte del non vedente), che permette perfino di personalizzare il comportamento dei tasti dei display.

Questo screen reader, a differenza di JAWS e Window-Eyes, si basa totalmente sull’interazione con gli oggetti dell’interfaccia e non intercetta le informazioni dal driver della scheda video.

Inoltre, garantisce un’alta affidabilità poiché è interamente integrato nel sistema operativo ed anche per questo, lo troviamo disponibile perfino in fase di ripristino o di formattazione per la manutenzione del sistema. Infine, è necessario sottolineare che questo screen reader fornisce un supporto di accessibilità a tutte le applicazioni che rispettino le linee guida dettate da Apple: in pratica, non è più compito dello sviluppatore dello screen reader o dell’utente finale rendere accessibili le nuove applicazioni, ma sono gli sviluppatori delle stesse che devono rispettare i criteri di accessibilità. Un cambio di prospettiva veramente interessante.

Conclusioni

Ad oggi, possiamo trovare uno screen reader per ogni sistema operativo e per quasi tutti i device mobili. La concorrenza sta diventando aspra tra gli screen reader proprietari e quelli open source, spingendo al miglioramento di entrambe le categorie.

Sicuramente una buona notizia per i disabili visivi!

Riferimenti

  1. Interazione uomo non vedente-macchina
  2. outSPOKEN
  3. Hal
  4. Virgo
  5. Talks
  6. Mobile Speak
  7. JAWS
  8. Window-Eyes
  9. NVDA
  10. Orca
  11. VoiceOver
  12. Acapela Group

Articolo scritto da Sauro Cesaretti e Valeria Brigatti

Tags: , , , , ,

Leave a Reply

Progettare e vivere l'esperienza d'uso

Perchè non si può fare a meno degli utenti: Intervista a Stefano Bussolon

Lo scopo dell'usabilità è quello di minimizzare questi costi, e si preoccupa di progettare artefat

Altri in Progettare e vivere l'esperienza d'uso

Architettura dell'informazione

L’esperienza come bussola per la città

Come organizzare tutte le informazioni (tante ed eterogenee) sulla città? e che strumenti di ricerc

Altri in Architettura dell'informazione

Design delle interfacce e dell'interazione

Supportare il Project Work: caso di studio

L’utilizzo del web 2.0 nella didattica può servire per aggiornare ed arricchire le materie tratta

Altri in Design delle interfacce e dell'interazione

Design visuale e della comunicazione

Scrivere per il web: le lezioni americane di Italo Calvino.

La centralità del lettore impone anche esattezza di progetto e di struttura, un filo di senso tra l

Altri in Design visuale e della comunicazione

Idee, strategie e innovazione

UXconference: metafore e realtà della comunicazione visiva e del design

Parlerò quindi della realtà, della sua rappresentazioni, dellle metafore per rappresentarla, di co

Altri in Idee, strategie e innovazione