Capitolo 2: Accessibilità - Tecnologia2.2.2 Software
Esistono varie tipologie di software AT, anche in questo caso differenziati in base alle varie esigenze e ai vari problemi dell'utenza. Si possono infatti trovare software ausiliari che, coadiuvando software già presenti all'interno del computer, hanno il compito di estenderne o semplificarne le funzionalità; software specifici, cioè creati appositamente con fine didattico e/o terapeutico; infine estensioni o plug-in mirati, sono molto simili ai software ausiliari ma sono parte integrante del programma nel quale risiedono.
Di seguito saranno elencate alcune soluzioni software, le principali, con le loro funzionalità e possibili applicazioni.
2.2.2.1 Screen magnifier
Uno screen magnifier è un software che, interfacciandosi allo schermo di un computer permette di ingrandire porzioni desiderate di schermo senza l'ausilio di nessuna apparecchiatura hardware esterna, infatti consente di potenziare il normale output grafico di un computer, estendendone le funzionalità.
Gli screen magnifier sono principalmente pensati per persone con difetti visivi non troppo gravi, in qual caso sarà necessario uno screen reader.
Il funzionamento è molto semplice: viene ingrandita una porzione di testo, tramite la selezione di opzioni a video oppure tramite la pressione di una sequenza di tasti, dopo di che la zona ingrandita viene controllata tramite il movimento del mouse.
Funzionalità
- Ingrandimento: permette appunto di ingrandire porzioni di schermo, è la funzione base presente in ogni tipo di screen reader. Solitamente il range di zoom oscilla da 1- a 16- volte. Maggiore è il livello di zoom e minore sarà la quantità dello schermo originale visibile. Solitamente si decide di usare la minor quantità di zoom utile.
- Inversione dei colori: permette di cambiare la colorazione dello schermo, ad esempio invertendo i colori di un testo da nero su bianco a bianco su nero. Questa funzione può ridurre il bagliore dello schermo, che in alcuni può risultare fastidioso o stancante per la lettura.
- Smoothing: permette di "smussare" gli angoli o le forme degli elementi ingranditi presenti sullo schermo, questo per rendere il tutto più facile da riconoscere.
- Customizzazione del cursore: permette di modificare l'aspetto del cursore, che solitamente viene utilizzato per direzionare l'ingrandimento, e di conseguenza renderlo più facilmente individuabile all'interno dello schermo.
- Differenti visualizzazioni: alcuni screen magnifier permetto di poter personalizzare in che modo apparirà la parte ingrandita. Solitamente può occupare l'intero schermo, oppure una zona delimitata (esempio un angolo), o seguire il movimento del mouse come una lente di ingrandimento.
- Screen reader: come funzione avanzata di alcuni screen magnifier il testo selezionato, o semplicemente puntato, può essere letto da uno screen reader.
Screen Magnifier integrati in sistemi operativi
- In Microsoft[1] Windows[2] fin da Windows 98 è stato inserito uno screen magnifier base chiamato Microsoft Magnifier[3].
- In Apple[4] Mac OS X[5] è possibile usare la funzione integrata di screen magnification semplicemente tenendo premuto il tasto control e controllando con la rotella del mouse la funzione di zoom-in e zoom-out.
- Molte distribuzioni Linux[6] che utilizzano come windows manager Compiz-Fusion[7] possono contare sulla validità di un ottimo plug-in che gestisce l'ingrandimento dello schermo chiamato Enhanced Zoom Desktop[8].
2.2.2.2 Screen reader
Uno screen reader è un software che permette di identificare ed interpretare ciò che è presente a schermo e ripresentarlo agli utenti in forme alternative. Queste forme alternative possono essere programmi di tipo text-to-speech oppure dispositivi di output Braille, entrambi verranno successivamente trattati in maggior dettaglio.
Gli screen reader sono pensati per persone non vedenti, con difficoltà visive, analfabete o con difficoltà di apprendimento.
Funzionamento
Il funzionamento di uno screen reader è molto semplice e segue una determinata logica nel selezionare di volta in volta quale testo vocalizzare. Se ad esempio si apre il menu Start, lo screen reader legge la prima voce del menu. Se ci si sposta con i tasti freccia, la sintesi leggerà le varie voci del menu e darà informazioni aggiuntive, ad esempio indicando se una determinata voce ha un sottomenu.
Lo screen reader fornisce anche messaggi che aiutano ad orientarsi, ad esempio avverte se si è aperta una finestra di dialogo.
Durante l'esplorazione dello schermo lo screen reader può leggere ogni tipo di testo, ma non può far nulla se si trova davanti a delle scritte presenti in immagini. Per questo motivo è sempre utile inserire, al momento della creazione di pagine web, gli opportuni tag che consentono allo screen reader di leggere del testo alternativo.
Funzionalità
- Verbosity: con questo termine si intendono le caratteristiche
di lettura di qualsiasi screen reader. Possono esserci due tipi di verbosity:
- Speech verbosity: si tratta della frequenza con la quale viene letto il testo a schermo, può essere regolata in base alle esigente di ogni singolo utente, regolando questa funzione è possibile rendere maggiormente comprensibile il testo anche a chi ha difficoltà di attenzione.
- Language verbosity: chiaramente gli screen reader possono leggere testi in diverse lingue. Alcuni consentono addirittura di decifrare la lingua del testo in lettura ed adattarne la pronuncia. Questa caratteristica è chiaramente presente solamente per gli screen reader che utilizzano un output di tipo text-to-speech.
- Emulazione: alcuni screen reader consentono l'emulazione del mouse attraverso la pressione di determinate combinazioni di tasti. Questo permette di semplificare notevolmente la navigazione a schermo.
- Personalizzazione: le vari funzionalità sono personalizzabili per adattarsi meglio alle esigenze degli utenti.
Tipi di screen reader
Command Line Interface (CLI)
Gli screen reader, come qualsiasi dispositivo informatico, seguono direttamente lo sviluppo dei sistemi sui quali vengono utilizzati. Di conseguenza i primi screen reader, nati negli anni ottanta presso il Research Centre for the Education of the Visually Handicapped[9] presso l'Università di Birmingham[10], funzionavano leggendo singolarmente linee di comando. Chiaramente questo tipo di screen reader non può funzionare in sistemi che utilizzano GUIs (Graphical User Interface). Questo tipologia, con l'avanzare dei tempi, sta passando in disuso e viene ormai solo utilizzata in particolari sistemi che prevedono ancora l'utilizzo della linea di comando.
Graphical User Interface (GUI)
Con il passaggio da sistemi costituiti da solo testo a sistemi grafici il lavoro degli Screen Reader ha subito un ulteriore complicazione. Un sistema GUI è formato sia da parti testuali che da parti grafiche (come ad esempio bottoni, menu e tab) e sta allo screen reader, in alcuni casi anche con la collaborazione del sistema operativo, interpretarli correttamente.
Uno screen reader che opera su delle GUI può funzionare principalmente in due modi.
- Off-screen model: lo screen reader sta in "ascolto" dei messaggi riguardanti la grafica provenienti dal sistema operativo e crea, basandosi su di essi, una sorta di rappresentazione fittizia dello schermo, la quale sarà interamente navigabile dall'utente mediante l'uso di determinate funzioni, che solitamente corrispondono con l'uso di sensori.
- APIs[11] accessibili: grazie all'utilizzo di API è possibile sostituire l'utilizzo del modello off- screen semplificando notevolmente il "lavoro" dello screen reader, che in questo caso comunica direttamente con il sistema operativo, mediante queste procedure. Tutti i principali sistemi operativi mettono a disposizione questo genere di API.
Sfortunatamente non tutto il software supporta l'utilizzo delle API e di conseguenza l'uso del off-screen model deve sempre essere reso disponibile.
Applicazioni self-voicing
Sono programmi che integrano la funzione di lettura o di produzione di suoni di avviso, essi consentono alle persone con problemi visivi di interagire direttamente senza l'uso di applicazioni screen reader esterne. Di questa categoria fanno parte i talking web browser, ovvero browser con la funzione di screen reader integrata al loro interno. Questi browser però sono ormai diventati obsoleti, in favore di add-on mirate a browser più conosciuti e funzionali quali Mozilla Firefox[12] oppure Opera[13]. Grazie a Fire Vox[14], estensione per Mozilla Firefox, viene reso disponibile un ottimo browser con funzionalità di self-voicing su i tre principali sistemi operativi (Linux, Mac OS e Windows).
Web-based
Una relativamente nuova tipologia di screen reader è quella web-based. Vi sono principalmente due software che compiono questo genere di "lavoro", uno è Spoken Web[15] disponibile solo per Microsoft Internet Explorer[16] e di conseguenza solo per il sistema operativo Microsoft Windows, l'altro è BrowseAloud[17], disponibile sia per Windows che per Mac OS X. In questo genere di screen reader sono presenti solo le più elementari funzioni e se ne consiglia l'uso solamente in casi eccezionali, ad esempio per la navigazione da un computer pubblico nel quale non si ha libertà di accesso software.
Screen reader integrati in SO
- In Apple Mac OS X si può trovare il programma VoiceOver[18], esso consente di ampliare le normali funzioni di accesso, ad esempio aggiungendo la possibilità di impartire comandi vocali, verso i computer Macintosh. Esiste anche una versione per dispositivi portatili Apple forniti di sistema operativo iOS[19] per iPhone.
- In Linux, più precisamente per l'ambiente grafico GNOME[20] vi è un interessante progetto open source chiamato Linux Screen Reader[21] in costante evoluzione e sviluppo.
- In Microsoft Windows è presente Microsoft Narrator[22], si tratta di uno screen reader estremamente basilre, infatti è presente solamente la funzione di text-to-speech. Esistono comunque ottime alternative, molto più performanti, che permettono di colmare questa lacuna. Un esempio su tutti può essere NonVisual Desktop Access[23] (NVDS), software open source e freeware, che permette di estendere l'accessibilità del sistema operativo mediante l'utilizzo di apparecchiature che supportano l'utilizzo del Braille.
2.2.2.3 Text-to-speech
I software di text-to-speech, in italiano chiamati di sintesi vocale, come già detto nel capitolo precedente hanno il compito di trasformare del testo scritto in parlato mediante una riproduzione artificiale della voce umana.
I software di sintesi vocale rivestono un ruolo di fondamentale importanza per l'accessibilità informatica. Combinati con screen reader consentono agli utenti non vedenti di poter interagire con i computer ed assistono anche persone con problemi visivi nella lettura dei testi. Inoltre questa tipologia di software è ottima per aiutare persone affette da dislessia ad ascoltare e di conseguenza a comprendere documenti di testo con maggior facilità.
Funzionamento
Il lavoro di un software di tipo text-to-speech si divide in due parti.
- Analisi del testo: si occupa della conversione del testo in simboli fonetici. Per prima cosa vengono convertiti tutti i i caratteri non testuali (come ad esempio i numeri) in testo, questa procedura è definita normalizzazione. Dopo di che il tutto viene convertito in simboli fonetici veri e propri, viene anche fatta un'analisi linguistica del testo rielaborato, per consentire ad esempio la corretta interpretazione dei segni di punteggiatura, questa procedura invece è definita da grafema a fonema.
- Generazione dei suoni: una volta "decodificato" il testo, in trascrizione fonetica ed elementi di struttura delle frasi, tali informazioni sono utilizzate dal generatore di suoni per produrre la voce artificiale.
La sintesi vocale vera è propria si può realizzare mediante l'incatenazione di parti vocali memorizzati in un database, ad ogni fonema codificato corrisponde una di queste registrazioni. Un sistema costituito dal campionamento di singoli fonemi o coppie di essi avrà un database relativamente piccolo ma in compenso ne perderà la qualità della registrazione, un sistema che invece ricorre alla registrazione di parole intere o addirittura di intere frasi avrà una qualità migliore a discapito questa volta della velocità e dello spazio occupato dal database.
Un'alternativa a questo sistema è predisporre il sintetizzatore con dei modelli di tratti vocali in modo da cercare di simulare la voce umana nel modo più fedele possibile, questa tecnica però è molto più complicata della precedente.
Il livello di comprensione della voce prodotta da un computer è molto più importante che il livello di qualità della voce stessa, soprattutto se il software in questione è usato da persone non vedenti, le quali affidato alla sola voce digitale la comprensione di interi testi.
2.2.2.4 Speech-to-text
I software di speech-to-text, in italiano chiamati di riconoscimento vocale, funzionano esattamente all'opposto di quelli di text-to-speech appena trattati. Si occupano di riconoscere il linguaggio umano e di trasformarlo in un input valido ad un computer. Sono utilizzati sia per riconoscere testi, e quindi trascriverli direttamente senza dovere digitare alcuna parola, oppure per controllare diversi sistemi solamente con l'uso della voce. Com'è facile intuire questo tipo di software è estremamente utile per chi ha problemi di mobilità degli arti e quindi l'interazione con la macchina potrebbe risultare alquanto complicata, ma non solo anche i normali utenti posso trarre giovamento da questa tipologia di applicazioni.
Funzionamento
Un software di riconoscimento vocale funziona mediante un algoritmo di tipo statistico inferenziale, ricostruendo il linguaggio in base alla frequenza delle associazioni fra parole. Il riconoscimento a basso livello si basa anche su un vocabolario fonetico che contiene le pronunce base di numerose parole nella lingua impostata.
Esiste un altra tipologia di riconoscimento vocale, più incentrata sul riconoscimento delle singole parole. Questo tipo di software necessita di una maggiore interazione dell'utente in quanto in questo caso il riconoscimento della pronuncia ricopre un ruolo fondamentale. Il programma si limita a trascrivere quanto detto dall'utente senza addentrarsi in ulteriori analisi della frasi o calcoli di abbinamento tra parole.
In entrambi i casi l'uso di un vocabolario non solo di singole parole, ma anche di loro associazioni tipiche, sia esso inserito ed aggiornato dal programmatore, dall'utente o per mezzi statistici, è di notevole aiuto a migliorare la qualità del riconoscimento.
Come già accennato, solitamente prima dell'uso di un software di riconoscimento vocale è necessario configurarlo, leggendo per esempio un brano davanti al microfono, per "addestrare" il programma alla voce del lettore. Questa procedura consente al software di ridurre drasticamente il numero di errori nei quali può incappare durante il riconoscimento vocale. Al momento dell'addestramento viene costruita una libreria di file vocali specifica per l'utente, questo viene fatto registrando campioni di voce, analizzandoli e campionandoli. L'addestramento può proseguire quando il programma non riconosce la pronuncia di una parola, digitando il testo e registrando la pronuncia corrispondente in modo che il programma crei un file vocale, creando di fatto un abbinamento testuale/ vocale. Alla parola può essere abbinata, in alternativa, una sequenza di simboli dell'alfabeto fonetico.
2.2.2.5 Optical Character Recognition (OCR)
I software OCR (Riconoscimento Ottico dei Caratteri in italiano) hanno lo scopo di trasformare il testo, sia esso stampato o scritto a mano, contenuto in un'immagine, solitamente prodotta mediante l'utilizzo di uno scanner, in testo digitalmente modificabile per mezzo di un editor.
Sono utilizzati per digitalizzare grandi quantità di testi disponibili solamente in formato cartaceo, come ad esempio vecchi libri. Questo, oltre a consentire una notevole editabilità e riusabilità dei testi, permette anche una maggior accessibilità alla cultura e alle informazioni da parte di persone con difficoltà visive, mediante l'utilizzo di software text-to-speech o screen reader, e soprattutto non dovendo necessariamente passare per decodificazioni più scomode e dispendiose che possono essere rappresentate ad esempio dai libri scritti in Braille.
Funzionamento
Il funzionamento di questa tipologia di software ha notevoli analogie con quello dei sistemi speech-to-text. Il riconoscimento del testo si basa sia sul riconoscimento dei singoli caratteri sia a come essi si trovano scritti all'interno di una parola e più in generale all'interno di una frase.
Data la grande varietà in cui si può presentare un testo scritto un software di riconoscimento ottico dei caratteri ha bisogno di un "addestramento" per migliorare notevolmente il suo funzionamento.
Le ultime versioni di questo tipo di software posseggono funzioni di riconoscimento ed interpretazione dei contorni del testo, in questo modo consentono di mantenere l'impaginazione dei documenti elaborati.
2.2.2.6 Spell Checker
Sono software o parti di esso che si occupano del controllo degli errori ortografici all'interno di un testo computerizzato. Possono essere programmi autonomi capaci di interagire con qualunque altro programma nel quale sia possibile introdurre un testo, oppure parte di altre applicazioni, come ad esempio nei word processor, in questo caso il loro scopo è di integrare le funzioni offerte da tale applicativo.
Le prime versioni di spell checker si limitavano alla sola messa in evidenza degli errori, ora la maggior parte di essi consente di suggerire possibili correzioni e in alcuni casi si possono addirittura impostare sostituzioni automatiche, sia di parole errate o di errori di capitolazione o di forma.
Funzionamento
Solitamente il lavoro di uno spell checker si divide in due parti:
- Scansione del testo alla ricerca di errori e segnalazione, ad esempio sottolineandoli in rosso. La ricerca degli errori viene fatta confrontando ogni singola parola con quelle contenute all'interno di un dizionario prestabilito. In alcune versioni è possibile aggiungere o modificare la lista delle parole contenute nel dizionario.
- Analisi delle parole trovate errate e confronto con un lista di parole correlate per suggerire eventuali correzioni. Anche per operazione lo spell checker si avvale della funzione del dizionario.
Esistono tipologie di spell checker che non si limitano al solo controllo ortografico della singola parola ma ampliano il controllo, e di conseguenza i vari suggerimenti dati, sia alla sintassi che alla grammatica.
Referenze
- ^ http://www.microsoft.com/ - pagina ufficiale di Microsoft Corporation.
- ^ http://www.microsoft.com/WINDOWS/ - pagina del sistema operativo Microsoft Windows.
- ^ http://windows.microsoft.com/it-it/windows/make-screen-items-bigger-magnifier - pagina relativa allo screen magnifier di Microsoft Windows.
- ^ http://www.apple.com - pagina ufficiale di Apple Inc.
- ^ http://www.apple.com/osx/ - pagina del sistema operativo Apple Mac OS X.
- ^ http://www.linux.org/ - pagina ufficiale del progetto Linux di Linus Torvalds.
- ^ http://www.compiz.org/ - pagina ufficiale del progetto Compiz, windows manager per Linux.
- ^ http://wiki.compiz.org/Plugins/Ezoom - pagina ufficiale del progetto EZoom per Compiz.
- ^ http://www.education.bham.ac.uk/research/victar/ - link al Visual Impairment Centre for Teaching and Research dell'Università di Birmingham.
- ^ http://www.bham.ac.uk/ - sito ufficiale dell'Università di Birmingham.
- ^ API - Application Programming Interface (Interfaccia di Programmazione di un'Applicazione in italiano) è un insieme di procedure che permette di astrarre e di conseguenza semplificare il funzionamento di un determinato programma, per permettere ad altro software di interagire con esso.
- ^ http://www.mozilla.com/firefox/ - pagina ufficiale del browser Mozilla Firefox.
- ^ http://www.opera.com/ - pagina ufficiale del browser Opera.
- ^ http://firevox.clcworld.net/ - pagina ufficiale del progetto, sviluppato da Charles L. Chen.
- ^ http://www.spoken-web.com/ - pagina ufficiale del progetto Spoken Web.
- ^ http://windows.microsoft.com/it-it/internet-explorer/download-ie - pagina ufficiale del browser Microsoft Internet Explorer.
- ^ http://www.browsealoud.com - pagina ufficiale di TextHelp System, sviluppatori di BrowseAloud.
- ^ http://www.apple.com/accessibility/voiceover/ - sezione sul sito Apple dedicata al software VoiceOver.
- ^ http://www.apple.com/ios/ - pagina ufficiale di iOS, sistema operativo per Apple iPhone.
- ^ http://www.gnome.org/ - GNOME (GNU Network Object Model Environment), Linux Desktop Environment.
- ^ https://wiki.gnome.org/Attic/LSR - pagina ufficiale del progetto Linux Screen Reader per GNOME.
- ^ http://www.microsoft.com/enable/training/windowsvista/narrator.aspx - pagina relativa allo screen reader Microsoft Narrator.
- ^ http://www.nvaccess.org/ - pagina ufficiale del progetto NVDA (NonVisual Desktop Access).