Introduzione ai lettori di schermo per sviluppatori

Introduzione ai lettori di schermo per sviluppatori

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:

  1. Non sappiamo quale percentuale di utenti utilizza un lettore di schermo.
  2. 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.

Torna su