MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Learn web development

Cosa è l'accessibilità?

Questo articolo inaugura il modulo con una visione generale di cosa realmente è l'accessibilità. Sono inclusi argomenti come: quali gruppi di persone dobbiamo tenere in considerazione e perchè, quali strumenti di supporto le persone usano per interagire con la rete e come possiamo rendere l'accessibilità parte integrante del nostro processo di sviluppo web.

Prerequisiti: Conoscimenti basici sull'uso del computer, livello basico di HTML e CSS.
Obiettivo: Acquisire familiarità con il concetto di accessibilità, capire di cosa si tratta e in che modo influisce sulla tua attività di sviluppatore web. 

Dunque, cosa è l'accessibilità?

L'accessibilità è la pratica di rendere i tuoi siti usabili dal maggior numero di persone possibile. Di solito si pensa che il tema dell'accessibilità riguardi solo le persone con disabilità, ma in realtà coinvolge anche altri gruppi di persone, come coloro che usano dispositivi mobili o chi naviga in internet con una connessione lenta.

Puoi anche pensare all'accessibilità come al concetto di trattare tutti alla stessa maniera, e dare a tutti le stesse opportunità, indipendentemente dalle loro capacità e circostanze. Così come non è corretto impedire l'accesso a un edificio a una persona che si muove in sedia a rotelle (e infatti gli edifici pubblici devono essere dotati di rampe e ascensori), allo stesso modo non si deve escludere una persona dall'utilizzo di un sito web per il fatto che abbia un handicap o stia usando un dispositivo mobile. Tutti gli utenti devono avere gli stessi diritti.

Rendere un sito accessibile non solo è la cosa giusta da fare da un punto di vista etico, ma in molti paesi è anche obbligatorio per legge, e inoltre può contribuire a raggiungere categorie di utenti e clienti che altrimenti non potrebbero usare i tuoi servizi o acquistare i tuoi prodotti.

Rispettare le pratiche di accessibilità è benefico per tutti:

  • L'uso di HTML semantico (che migliora l'accessibilità) contribuisce anche a migliorare il posizionamento sui motori di ricerca, rendendo il tuo sito più facile da trovare.
  • Preoccuparsi dell'accessibilità dimostra senso etico, pratico e morale, e migliora la tua immagine pubblica.
  • Migliorare l'accessibilità di un sito significa renderlo utilizzabile da ampi gruppi di utenti, come coloro che usano dispositivi mobili o coloro che navigano con una connessione a internet lenta.  
  • Come già detto, in molti paesi è un obbligo da rispettare per legge.

Quali tipi di disabilità prendere in considerazione?

Le persone con disabilità sono molto diverse tra loro, così come quelle senza disabilità. Il concetto chiave da imparare è di smettere di pensare a come tu stesso usi il computer e navighi in internet, e cominciare a considerare come lo fanno gli altri. I principali tipi di disabilità sono spiegati qui sotto, insieme agli strumenti che le persone disabili usano per navigare i contenuti web (conosciuti come tecnologie assistive, o TA).

Nota: la Organizzazione Mondiale della Sanità nel suo rapporto (in inglese) Disabilità e salute afferma che "Oltre un miliardo di persone, circa il 15% della popolazione mondiale, ha una qualche forma di disabilità", e "Tra 110 e 190 milioni di adulti hanno significative difficoltà funzionali". 

Persone con deficit visivo

Questa categoria include persone non vedenti, persone con una capacità visiva molto bassa (ipovedenti), daltonici, ecc. Molte di queste persone usano ingranditori di schermo (sia fisici che software, per esempio la maggior parte dei navigatori è dotata di funzioni di zoom), e alcuni usano lettori di schermo, cioè programmi che leggono a voce alta il contenuto digitale:

  • Alcuni sono programmi a pagamento, come JAWS (Windows) e Window Eyes (Windows).
  • Altri sono programmi freeware, come NVDA (Windows), ChromeVox (Chrome, Windows e Mac OS X), e Orca (Linux).
  • Alcuni vengono già integrati nel sistema operativo, come VoiceOver (Mac OS X e iOS), Narrator (Microsoft Windows), ChromeVox (Chrome OS), e TalkBack (Android).

È una buona idea familiarizzare con i lettori di schermo; dovresti provare a installarne uno e usarlo, per farti una idea di come funziona. Per maggiori dettagli su come usarli, fai riferimento alla nostra guida (in inglese) Guida al testing dei lettori di schermo su differenti browser. Il video qui sotto inoltre fornisce una breve testimonianza sull'uso dei lettori di schermo.

In termini statistici, la la Organizzazione Mondiale della Sanità stima che "circa 285 milioni di persone nel mondo hanno gravi deficit visivi: 39 milioni sono non vedenti e 246 milioni ipovedenti". (vedi il rapporto in inglese Deficit visivo e cecità). Si tratta di una significativa quantità di utenti, pari quasi alla popolazione degli Stati Uniti, che non potrà usufruire del tuo sito se non sarà accessibile.

Persone con deficit uditivo

Questa categoria di persone presentano una capacità uditiva molto bassa o del tutto assente. Le persone con deficit uditivo usano TA (vedi l'articolo in inglese Strumenti assisitivi per persone con disfunzioni uditive, della voce, dell'apparato fonatorio o del linguaggio), ma non esistono in realtà tecnologie assistive specifiche per l'uso del computer o di internet. 

Ci sono, comunque, tecniche specifiche da tenere a mente per fornire alternative testuali ai contenuti audio, come per esempio trascrizioni o sottotitoli sincronizzati nei video. Più avanti si tratteranno queste tecniche nel dettaglio in un altro articolo.

Anche le persone con deficit uditivo rappresentano una significativa base di utenza. Come indica la Organizzazione Mondiale della Sanità nel rapporto in inglese Sordità e perdita dell'udito "360 milioni di persone nel mondo presentano deficit uditivi gravi".

Persone con problemi di mobilità

Alcune persone hanno disabilità che riguardano il movimento. Ciò può riferirsi a problemi puramente fisici (come la perdita di un arto o uno stato di paralisi), o a disordini di tipo neurologico/genetico che comportano difficoltà nei movimenti o perdita di controllo sugli arti. Alcune persone possono avere difficoltà a compiere i movimenti della mano necessari per usare un mouse, mentre altre possono presentare problemi più gravi, per esempio uno stato di paralisi grave che rende necessario l'uso di un puntatore comandato tramite movimenti della testa per interagire con il computer. 

Questo tipo di disabilità può anche essere dovuto all'età avanzata, piuttosto che a un trauma o una condizione specifica, e può anche essere attribuibile a limitazioni dell'hardware, come nel caso di utenti che non hanno un mouse a disposizione.

Generalmente per gestire questo tipo di limitazioni è necessario sviluppare i propri siti in maniera tale che siano utilizzabili tramite tastiera. Tratteremo l'argomento dell'accessibilità tramite tastiera con articoli specifici più avanti nel modulo, ma ti consigliamo di provare ad usare alcuni siti usando solo la tastiera, per farti un'idea di come funziona. Per esempio, puoi usare il tasto TAB per muoverti da un campo all'altro di un formulario? Puoi trovare ulteriori dettagli sull'uso della tastiera per la navigazione dei siti nella sezione (in inglese) Test di accessibilità d'uso della tastiera in differenti browser.

Secondo le statistiche, un numero significativo di persone soffre di limitazioni alla mobilità. Il rapporto (in inglese) Disabilità e funzionamento (Adulti maggiorenni non ricoverati) indica che negli Stati Uniti la percentuale di adulti con difficoltà di funzionamento fisico è del 15,1%.

Persone con deficit cognitivo

Probabilmente il più ampio range di disabilità è quello compreso in quest'ultima categoria. Il termine deficit cognitivo può infatti riferirsi ad un'ampia gamma di disfunzioni, dalle malattie mentali alle difficoltà di apprendimento, da problemi di comprensione e concentrazione, come la sindrome da deficit di attenzione e iperattività, a persone che presentano una forma di autismo, o persone che soffrono di schizofrenia, e molti altri tipi di disturbo. Questo tipo di disabilità possono influenzare molte attività della vita quotidiana, causando problemi di memoria, comprensione, attenzione, ecc.

Le forme più comuni con cui tali disabilità influenzano l'uso di un sito sono la difficoltà nel capire come procedere per raggiungere un risultato, difficoltà nel ricordare come ripetere un'azione compiuta precedentemente, o un senso di frustrazione causato da alcune caratteristiche del sito che lo rendono confuso e inconsistente nella navigazione.

Diversamente da altri problemi di accessibilità web, è impossibile fornire linee guida specifiche per risolvere le difficoltà causate da deficit cognitivo; la strategia migliore è di impegnarsi a disegnare i propri siti nella forma più logica, consistente e usabile possibile. Per esempio assicurati che:

  • Le pagine siano consistenti: mantieni barra di navigazione, header, contenuto e footer sempre negli stessi posti nelle varie pagine del sito.
  • Gli strumenti siano ben disegnati e facili da usare.
  • Procedimenti o azioni lunghi e complessi da realizzare siano divisi in più fasi composte da vari steps ordinati logicamente, con indicazioni regolari del punto del processo in cui l'utente si trova, e quanto manca per completarlo.
  • Il flusso di navigazione sia semplice e logico, con il minor numero possibile di interazioni richieste all'utente. Per esempio, spesso i processi di registrazione e login a un sito sono inutilmente complessi.
  • Le pagine non siano troppo lunghe e dense di informazioni che potrebbero essere distribuite su più pagine.
  • Il linguaggio usato sia semplice e facilmente leggibile, evitando l'uso di termini tecnici o gergali quando non è strettamente necessario.
  • I punti più importanti del contenuto siano messi in evidenza, per esempio usando il grassetto.
  • Gli errori di utilizzo compiuti dall'utente siano evidenziati con chiarezza, e siano mostrati messaggi di supporto che spiegano la corretta procedura da seguire.

Queste non sono soltanto "tecniche di accessibilità", ma piuttosto buone pratiche di disegno web che saranno utili a chiunque userà i tuoi siti, e dovrebbero essere pratiche standard nel tuo lavoro di sviluppo web.

In termini statistici, anche in questo caso i numeri sono significativi. Per esempio, il rapporto (in inglese) della Cornell University Rapporto sullo stato della disabilità 2014 (PDF, 511KB) indica che nel 2014 il 4.5% della popolazione degli Stati Uniti di età compresa tra 21 e 64 anni presenta una qualche forma di disabilità cognitiva.

Nota:  La sezione (in inglese) Cognitive del sito WebAIM fornisce utili approfondimenti delle pratiche riportate sopra, ed è certamente una lettura consigliata.

Come implementare l'accessibilità nei tuoi progetti

Un mito molto comune sull'accessibilità è che questa sia una sorta di "costoso extra". Questo mito può essere veritiero se:

  • Stai cercando di implementare l'accessibilità in un sito già costruito che presenta significativi problemi di accessibilità. 
  • Hai cominciato a prendere in considerazione l'accessibilità e i problemi relativi solo nelle ultime fasi di realizzazione di un progetto.

Se invece l'accessibilità è parte integrante del progetto sin dal principio, il costo per rendere il contenuto accesibile sarà minimo.

Quando pianifichi il tuo progetto, introduci test di accessibilità nella tua routine di testing, allo stesso modo in cui effettui test per gli altri segmenti di utenza (come per esempio gli utenti che usano pc desktop, iOS o dispositivi mobili, ecc.). Effettua test sin dall'inizio e con frequenza, idealmente facendo uso di test automatizzati che rilevino sistematicamente caratteristiche mancanti (come per esempio mancanza di testo alternativo nelle immagini, o la presenza di link testuali mal costruiti. Vedi l'articolo in inglese Relazione tra gli elementi e contesto) ed anche effettuando test con persone disabili per verificare il funzionamento di caratteristiche più complesse del sito. Per esempio: 

  • Il selettore di date è utilizzabile da persone che navigano con un lettore di schermo?
  • Se il contenuto si aggiorna dinamicamente, le persone con disabilità visiva ne sono informate correttamente ?
  • I bottoni sono accessibili usando la tastiera o interfacce multitouch?

Dovresti prendere nota di tutte le potenziali aree problematiche del tuo contenuto su cui sarà necessario intervenire perchè siano rese accessibili, assicurarti che siano testate a sufficienza e pensare a soluzioni o alternative. Il contenuto testuale (come vedrai nel prossimo articolo) è facile da gestire, ma come fare con il tuo contenuto multimediale, o le tue grafiche 3D? Dovresti considerare il budget a disposizione e pensare a quali possibilità hai per rendere il contenuto accessibile. Potresti pagare qualcuno per trascrivere tutto il contenuto multimediale. Può essere costoso, ma è fattibile.

Inoltre, devi essere realista. Un sito accessibile al 100% è un ideale irraggiungibile, ci sarà sempre qualche situazione particolare per la quale un utente troverà difficile usare il tuo contenuto, ma devi fare tutto il possibile per evitare che si verifichino tali situazioni. Se hai in mente di includere nel tuo sito uno spettacolare grafico a torta 3D creato con WebGL, dovresti anche includere una tabella dati standard come alternativa accessibile. Oppure, potresti addirittura decidere di eliminare il grafico 3D: la tabella è accessibile a tutti, più rapida da creare, richiede meno risorse CPU ed è più facile da mantenere.

D'altro canto se stai costruendo un sito-galleria per opere d'arte in 3D, non sarebbe ragionevole pretendere che ogni opera fosse perfettamente accessibile alle persone con disabilità visiva, dato che si tratta di un medium interamente visuale.

Per dimostrare che hai grande considerazione per l'accessibilità e che l'hai inclusa nel tuo progetto, pubblica una dichiarazione di accessibilità sul tuo sito nella quale spieghi in dettaglio la tua politica sull'accessibilità, e quali misure hai adottato per rendere il sito accessibile. Se un utente ti contatta lamentando un problema di accessibilità, assicurati di ascoltarlo con attenzione e chiarire tutti i dettagli, sii empatico, e adotta tutte le misure ragionevoli per risolvere il problema.

Nota: Il nostro articolo (in inglese) Come gestire i problemi di accessibilità più comuni spiega con maggiori dettagli le specifiche di accessibilità che devono essere testate. 

Per riassumere:

  • Prendi in considerazione l'accessibilità sin dall'inizio del progetto, e fai test sin da subito e spesso. Così come con qualsiasi altro bug, un problema di accessibilità diventa sempre più costoso da sistemare quanto più tardi viene scoperto.
  • Tieni a mente che la maggior parte delle pratiche di accessibilità beneficiano tutti gli utenti, non solo quelli con disabilità. Per esempio un codice essenziale, ordinato e semantico non è solo utile per i lettori di schermo, ma è anche facile e veloce da caricare per i browser, dunque è utile a tutti, soprattutto coloro che usano dispositivi mobili e/o connessioni a internet lente.
  • Pubblica una dichiarazione di accessibilità sul tuo sito, ascolta con attenzione le segnalazioni di eventuali problemi e fai tutto il possibile per risolverli.

Linee guida di accessibilità e legge

Ci sono numerose checklist e set di linee guida disponibili per effettuare test basici di accessibilità che a prima vista possono apparire complicate. Ti consigliamo innanzitutto di familiarizzare con le aree basiche di cui devi occupoarti, e di comprendere le strutture generali delle linee guida che sono più rilevanti al tuo caso specifico.

  • Per cominciare, il W3C ha pubblicato un documento molto dettagliato che include criteri molto precisi e non-tecnici per conformarsi a uno standard accettabile di accessibilità. Tale documento è chiamato Linee guida per l'accessibilità dei contenuti web, e si tratta di una lettura piuttosto lunga. I criteri sono divisi in 4 categorie principali, che spiegano come rendere il contenuto percepibile, utilizzabile, comprensibile e robusto. Una versione molto riassunta del documento si può trovare qui (in inglese): WCAG at a Glance. Non è necessario imparare le linee guida a memoria, sii cosciente delle aree generali di cui devi occuparti, e usa una varietà di tecniche e strumenti per gestire le aree che non sono conformi alle linee guida (vedi sotto per maggiori dettagli).
  • Tieni in conto inoltre che esiste una legislazione specifica riguardante l'accessibilità web in vari paesi come Stai Uniti, Germania, Inghilterra, Australia e anche in Italia (vedi Accessibilità).

È una buona idea leggere il testo della legge italiana sull'accessibilità, per familiarizzarsi con essa ed evitare eventuali problemi legali per i tuoi siti.

API per l'accessibilità

I browser fanno uso di alcune API speciali per l'accessibilità (fornite dal sistema operativo) che mostrano informazioni utili per le tecnologie assistive (TA). Le TA in generale usano solo informazioni semantiche, dunque non prendono in considerazione cose come lo stile o JavaScript. Queste informazioni sono strutturate in una mappa ad albero.

Ogni sistema operativo ha la sua API per l'accessibilità:

  • Windows: MSAA/IAccessible, UIAExpress, IAccessible2
  • Mac OS X: NSAccessibility
  • Linux: AT-SPI
  • Android: Accessibility framework
  • iOS: UIAccessibility

Quando le informazioni semantiche native fornite dagli elementi HTML della tua applicazione web non sono sufficienti, puoi supplementarle con caratteristiche della specificazione WAI-ARIA (in inglese), che aggiunge informazione semantica alla mappa ad albero per migliorare l'accessibilità. Puoi sapere di più su WAI-ARIA nel nostro articolo (in inglese) basi di WAI-ARIA.

Riassunto

Questo articolo dovrebbe averti fornito una utile panoramica sull'accessibilità, averti mostrato perchè è importante, e come puoi inserirla nel tuo flusso di lavoro. Dovrebbe inoltre aver suscitato il tuo interesse e un desiderio di conoscere i dettagli su come implementare l'accessibilità sui tuoi siti. Cominceremo a occuparcene proprio nella prossima sezione, dove spiegheremo come l'HTML è un'ottima base per l'accessibilità. 

Tag del documento e collaboratori

 Hanno collaborato alla realizzazione di questa pagina: mipo
 Ultima modifica di: mipo,