Una semplice introduzione ai lettori di schermo per sviluppatori.
Cos'è uno screen reader ( o lettore di schermo)? Innanzitutto specifichiamo subito che un lettore di schermo non è un browser. Un lettore di schermo è un software che semplicemente legge ad alta voce tutti i contenuti presenti nell'interfaccia di un sistema operativo, di un applicativo e nei file che possono essere letti (come ad esempio file di testo, PDF, e-mail, pagine web).
Come tale un lettore di schermo non può in alcun modo essere identificato, ossia non possiamo in alcun modo sapere se tra i lettori del nostro sito vi siano utenti che utilizzano questa tecnologia.
A differenza dei browser testuali (come Lynx) che comunque si identificano attraverso una specifica stringa HTTP, i lettori di schermo leggono semplicemente quello che viene interpretato dal browser che l'utente usa (IE, Firefox eccetera) e per questo motivo non è possibile identificarli.
Molti sviluppatori pensano che accessibilità significhi semplicemente dare a ciascuna tipologia di utenti dei contenuti ad hoc. Non è così. La sfida dell'accessibilità è fare in modo che uno stesso contenuto sia fruibile da tutti.
Una caratteristica dei lettori di schermo che rende questo lavoro molto difficile è che molto spesso gli utenti non dispongono di una versione aggiornata dell'applicazione.
Nel caso dei lettori di schermo a pagamento il motivo va senz'altro rintracciato negli alti costi di ogni singolo aggiornamento. Jaws è un classico esempio di lettore di schermo molto avanzato ma anche molto costoso.
Dato che in questo caso l'utente deve pagare, è cosa molto comune rinunciare all'aggiornamento e continuare ad usare una versione che diverrà sempre più obsoleta col passare del tempo.
Ciò implica che il nostro codice dovrà tenere conto di due cose:
- Non sappiamo quale percentuale di utenti utilizza un lettore di schermo.
- Non sappiamo né il tipo di lettore usato né la sua versione.
Quindi la buona pratica di offrire sempre un'alternativa a JavaScript in questo caso è una regola d'oro: se il lettore di schermo non supporta bene una caratteristica di JavaScript (ad esempio AJAX), dare un'alternativa ci permette di rendere i nostri contenuti accessibili anche in questo quadro molto difficile per noi.
Un altro mito sui lettori di schermo riguarda i suoi utenti: dato che l'interazione avviene prevalentemente tramite tastiera, molti pensano che questi utenti siano così abili da riuscire a scorrere un documento rapidamente.
Tutto falso: un lettore di schermo segue il sorgente del documento evidenziando gli elementi significativi, ma la lettura resta sempre seriale. Davanti ad un link che recita "Home" il lettore dirà "Link: Home". Ora capite il perché degli skip link: immaginate una sequenza di link ripetuti svariate volte.
E se mancano elementi significativi? Per esempio, se non viene rispettato l'ordine gerarchico delle intestazioni (h1, h2, h3 eccetera), la lettura si bloccherà perché l'utente continuerà a cercare una struttura che non esiste.
Quindi:
- Semantica
- Struttura
- Agnosticismo
- Accesso universale
- Buone pratiche
sono i prerequisiti fondamentali per avvicinarsi al mondo dei lettori di schermo.