Test di tecnologie per la disabilità

Questo modulo è incentrato sull'uso delle tecnologie per la disabilità per i test di accessibilità. Una persona con disabilità può utilizzare l'AT per aumentare, mantenere o migliorare le capacità di eseguire un'attività.

Nello spazio digitale, i test di verifica possono essere:

  • No/Low-tech: bastoncini per testa/bocca, lenti di ingrandimento portatili, dispositivi con pulsanti grandi
  • High-tech: dispositivi ad attivazione vocale, dispositivi per il tracciamento degli occhi, tastiere/mopi adattivi
  • Hardware: pulsanti di opzione, tastiere ergonomiche, dispositivo braille con aggiornamento automatico
  • Software: programmi di sintesi vocale, sottotitoli in tempo reale, screen reader

Ti consigliamo di utilizzare più tipi di testi AT nel flusso di lavoro di test complessivo.

Nozioni di base sul test degli screen reader

In questo modulo ci concentriamo su uno degli screen reader digitali più popolari, ovvero gli screen reader. Uno screen reader è un software che legge il codice sottostante di un sito web o di un'app e converte queste informazioni in output vocale o braille per l'utente.

Gli screen reader sono essenziali per le persone cieche e sordocieche, ma potrebbero anche essere utili per le persone ipovedenti, disturbi della lettura o disabilità intellettive.

Compatibilità del browser

Sono disponibili diverse opzioni per lo screen reader. Gli screen reader più popolari oggi sono JAWS, NVDA e VoiceOver per computer desktop e VoiceOver e TalkBack per i dispositivi mobili.

A seconda del sistema operativo (OS), del browser preferito e del dispositivo utilizzato, uno screen reader può risaltare come l'opzione migliore. La maggior parte degli screen reader è realizzata con hardware e browser web specifici. Quando utilizzi uno screen reader con un browser per cui non è stato calibrato, potresti riscontrare più "bug" o comportamenti imprevisti. Gli screen reader funzionano meglio se utilizzati nelle seguenti combinazioni.

Screen reader Sistema operativo Compatibilità del browser
Accesso a job con riconoscimento vocale (JAWS) Windows Chrome, Firefox, Edge
Accesso al desktop non visivo (NVDA) Windows Chrome e Firefox
Narratore Windows Perimetrale
VoiceOver macOS Safari
Orca Linux Firefox
TalkBack Android Chrome e Firefox
VoiceOver (per dispositivi mobili) iOS Safari
ChromeVox ChromeOS Chrome

Comandi dello screen reader

Una volta configurato il software dello screen reader per il tuo computer o dispositivo mobile, consulta la relativa documentazione (link nella tabella precedente) ed esegui alcuni comandi essenziali dello screen reader per acquisire familiarità con la tecnologia. Se hai già utilizzato uno screen reader, valuta la possibilità di provarne uno nuovo.

Quando utilizzi uno screen reader per i test di accessibilità, l'obiettivo è rilevare problemi nel codice che interferiscono con l'utilizzo del sito web o dell'app, non emulare l'esperienza di un utente di screen reader. Di conseguenza, puoi fare molto con alcune conoscenze di base, alcuni comandi dello screen reader e un po' di pratica.

Se hai bisogno di comprendere ulteriormente l'esperienza utente delle persone che utilizzano screen reader e altri AT, puoi coinvolgere molte organizzazioni e persone per ottenere queste preziose informazioni. Ricorda che utilizzare un AT per testare il codice in base a un insieme di regole e chiedere agli utenti informazioni sulla loro esperienza spesso produce risultati diversi. Entrambi sono aspetti importanti per creare prodotti completamente inclusivi.

Comandi principali per screen reader per computer

Elemento NVDA (Windows) VoiceOver (MacOS)
Comando Inserisci (chiave NVDA) Ctrl+Opzione (tasto VO)
Interrompi audio Controlli Controlli
Leggi avanti/prec. ↓ o ↑ VO + → o ↓
Inizia a leggere NDVA + ↓ VO + A
Elenco elementi/rotore NVDA + F7 VO + U
Punti di riferimento D VO + U
Headings V VO + Comando + H
Link K VO + Comando + L
Controlli modulo F VO + Comando + J
Tabelle T VO + Comando + T
All'interno delle tabelle NDVA + Alt + ↓ ↑ ↓ → → VO+↓ ↑ ↓ →

Comandi principali per screen reader per dispositivi mobili

Elemento TalkBack (Android) VoiceOver (iOS)
Esplora Trascina un dito sullo schermo Trascina un dito sullo schermo
Seleziona o attiva Toccare due volte Toccare due volte
Sposta su/giù Scorri verso l'alto o il basso con due dita Scorri verso l'alto o verso il basso con tre dita
Cambiare pagina Scorri verso sinistra o destra con due dita Scorri verso sinistra/destra con tre dita
Successiva/precedente Scorri verso sinistra/destra con un dito Scorri verso sinistra/destra con un dito

Demo di test dello screen reader

Per testare la nostra demo, abbiamo utilizzato Safari su un laptop con sistema operativo MacOS per acquisire l'audio. Puoi seguire questi passaggi utilizzando qualsiasi screen reader, ma il modo in cui riscontri alcuni errori potrebbe essere diverso da quello descritto in questo modulo.

Passaggio 1

Consulta la versione aggiornata di CodePen, a cui sono stati applicati tutti gli aggiornamenti automatici e manuali dell'accessibilità.

Visualizzalo in modalità di debug per procedere con i test successivi. Questo è importante, in quanto rimuove <iframe> che circonda la pagina web demo, il che potrebbe interferire con alcuni strumenti di test. Scopri di più sulla modalità di debug di CodePen.

Passaggio 2

Attiva lo screen reader che preferisci e vai alla pagina demo. Prima di concentrarti su problemi specifici, prova a spostarti attraverso l'intera pagina dall'alto verso il basso.

Abbiamo registrato lo screen reader per ogni problema, prima e dopo l'applicazione delle correzioni alla demo. Ti consigliamo di eseguire la demo con il tuo screen reader.

Problema 1: struttura dei contenuti

Le intestazioni e i punti di riferimento sono uno dei modi principali per navigare utilizzando gli screen reader. Se non sono presenti, un utente di screen reader deve leggere l'intera pagina per comprendere il contesto. Questa procedura può richiedere molto tempo e causare frustrazione. Se provi a navigare per uno dei due elementi nella demo, scoprirai subito che non esistono.

  • Esempio di punto di riferimento: <div class="main">...</div>
  • Esempio di intestazione: <p class="h1">Join the Club</p>

Se hai aggiornato tutto correttamente, non dovrebbero verificarsi modifiche all'aspetto, ma l'esperienza con lo screen reader sarà notevolmente migliorata.

Ascolta lo screen reader che spiega il problema.
Risolviamo il problema.

Alcuni elementi inaccessibili non possono essere osservati semplicemente guardando il sito. Potresti ricordare l'importanza dei livelli di intestazioni e dell'HTML semantico del modulo Struttura dei contenuti. Un contenuto può sembrare un titolo, ma in realtà è racchiuso in un <div> stilizzato.

Per risolvere il problema relativo alle intestazioni e ai punti di riferimento, devi prima identificare ogni elemento che deve essere sottoposto a markup come tale e aggiornare il relativo codice HTML. Assicurati di aggiornare anche il CSS correlato.

Esempio di punto di riferimento: <main>...</main>

Esempio di intestazione: <h1>Join the Club</h1>

Se hai aggiornato tutto correttamente, non dovrebbero verificarsi modifiche all'aspetto, ma l'esperienza con lo screen reader sarà notevolmente migliorata.

Ora che abbiamo corretto la struttura dei contenuti, ascolta lo screen reader che scorre di nuovo la demo.

È importante fornire contenuti agli utenti di screen reader in merito allo scopo di un link e se il link li reindirizza a una nuova posizione al di fuori del sito web o dell'app.

Nella nostra demo, abbiamo corretto la maggior parte dei link quando abbiamo aggiornato il testo alternativo attivo dell'immagine, ma sono disponibili alcuni link aggiuntivi sulle varie malattie rare che potrebbero trarre vantaggio da un contesto aggiuntivo, soprattutto perché reindirizzano a una nuova posizione.

<a href="https://rarediseases.org/rare-diseases/maple-syrup-urine-disease">
  Maple syrup urine disease (MSUD)
</a>
Ascolta lo screen reader che spiega il problema.
Risolviamo il problema.

Per risolvere il problema relativo agli utenti di screen reader, aggiorniamo il codice per aggiungere ulteriori informazioni, senza influire sull'elemento visivo. In alternativa, per aiutare ancora più persone, come quelle con disturbi della lettura e disturbi cognitivi, potremmo scegliere di aggiungere altro testo visivo.

Per aggiungere ulteriori informazioni sui link, possiamo prendere in considerazione molti schemi diversi. Sulla base del nostro semplice ambiente che supporta una sola lingua, l'etichetta ARIA è un'opzione semplice in questa situazione. Potresti notare che l'etichetta ARIA sostituisce il testo originale del link, quindi assicurati di includere questa informazione nell'aggiornamento.

<a href="https://rarediseases.org/rare-diseases/maple-syrup-urine-disease"
  aria-label="Learn more about Maple syrup urine disease on the Rare Diseases website.">
  Maple syrup urine disease (MSUD)
</a>
Ora che abbiamo corretto il contesto del link, ascolta lo screen reader che scorre di nuovo la demo.

Problema 3: immagine decorativa

Nel nostro modulo di test automatico, Lighthouse non è riuscito a rilevare l'immagine SVG in linea che funge da immagine iniziale di schermata nella nostra pagina demo, ma lo screen reader la trova e la annuncia come "immagine" senza ulteriori informazioni. Questo vale anche senza aggiungere esplicitamente l'attributo role="img" al file SVG.

<div class="section-right">
  <svg>...</svg>
</div>
Ascolta lo screen reader che spiega il problema.
Risolviamo il problema.

Per risolvere il problema, dobbiamo innanzitutto decidere se l'immagine è informativa o decorativa. In base a questa decisione, dobbiamo aggiungere il testo alternativo appropriato all'immagine (immagine informativa) o nascondere l'immagine agli utenti di screen reader (immagine decorativa).

Abbiamo ponderato i pro e i contro di come classificare al meglio l'immagine e abbiamo deciso che era decorativa, il che significa che vogliamo aggiungere o modificare il codice per nascondere l'immagine. Un metodo rapido consiste nell'aggiungere un role="presentation" direttamente all'immagine SVG. In questo modo viene inviato allo screen reader un segnale per saltare sopra questa immagine e non elencarla nel gruppo di immagini.

<div class="section-right">
  <svg role="presentation">...</svg>
</div>
Ora che abbiamo corretto l'immagine decorativa, ascolta lo screen reader mentre esplora la demo.

Problema 4: decorazione di punti elenco

Forse avrai notato che lo screen reader legge l'immagine punto elenco del CSS sotto la sezione Malattie rare. Sebbene non sia il tipo tradizionale di immagine descritto nel modulo Immagini, l'immagine deve comunque essere modificata poiché interrompe il flusso dei contenuti e potrebbe distrarre o confondere l'utente di uno screen reader.

<p class="bullet">...</p>
Ascolta lo screen reader che spiega il problema.
Risolviamo il problema.

Proprio come nell'esempio dell'immagine decorativa discusso in precedenza, puoi aggiungere un role="presentation" al codice HTML con la classe bullet per nasconderlo allo screen reader. Analogamente, potrebbe funzionare un role="none". Assicurati solo di non utilizzare aria-hidden: true, altrimenti nasconderai tutte le informazioni del paragrafo agli utenti di screen reader.

<p class="bullet" role="none">...</p>

Problema 5: campo modulo

Nel modulo Moduli abbiamo appreso che tutti i campi dei moduli devono avere anche un'etichetta visiva e programmatica. Questa etichetta deve rimanere sempre visibile.

Nella nostra demo, manca un'etichetta visiva e programmatica nel campo dell'email di iscrizione alla newsletter. È presente un elemento segnaposto di testo, che però non sostituisce l'etichetta poiché non è visivamente persistente e non è completamente compatibile con tutti gli screen reader.

<form>
  <div class="form-group">
    <input type="email" placeholder="Enter your e-mail address" required>
    <button type="submit">Subscribe</button>
  </div>
</form>
Ascolta lo screen reader che spiega il problema.
Risolviamo il problema.

Per risolvere il problema, sostituisci il segnaposto di testo con un elemento etichetta simile. L'elemento etichetta è connesso in modo programmatico al campo del modulo e lo spostamento è stato aggiunto tramite JavaScript per mantenere visibile l'etichetta anche quando i contenuti sono stati aggiunti al campo.

<form>
  <div class="form-group">
    <input type="email" required id="youremail" name="youremail" type="text">
    <label for="youremail">Enter your e-mail address</label>
    <button type="submit" aria-label="Subscribe to our newsletter">Subscribe</button>
  </div>
</form>
Ora che abbiamo corretto il modulo, ascolta lo screen reader mentre esplora la demo.

Conclusione

Complimenti! Hai completato tutti i test per questa demo. Puoi dare un'occhiata a tutte queste modifiche nel codepen aggiornato per questa demo.

Ora, puoi utilizzare ciò che hai imparato per esaminare l'accessibilità dei tuoi siti web e delle tue app.

L'obiettivo di tutti questi test di accessibilità è risolvere quanti più possibili problemi che un utente potrebbe riscontrare. Tuttavia, questo non significa che il tuo sito web o la tua app saranno perfettamente accessibili una volta che avrai finito. Per ottenere risultati migliori, progetta il tuo sito web o la tua app rendendoli accessibili durante l'intero processo e incorporando questi test negli altri test pre-lancio.

Verifica la tua comprensione

Verifica le tue conoscenze dei test di accessibilità automatici

Qual è lo screen reader migliore da utilizzare per testare l'accessibilità?

JAWS
Sebbene JAWS è uno degli screen reader più popolari, non è necessariamente la scelta migliore.
VoiceOver
VoiceOver è uno strumento per gli utenti di MacOS e iOS. Se utilizzi un PC Windows, dovrai utilizzare un altro strumento.
Orca
Orca è destinato agli utenti Linux di Firefox, pertanto potrebbe essere necessario utilizzare uno strumento diverso.
Non ce n'è uno
Ogni screen reader è realizzato per un dispositivo, sistema operativo o browser specifico, quindi quello che è meglio per te dipende dal modo in cui esegui il test. Se disponi di analisi o ricerche che ti forniscono maggiori informazioni sui tuoi utenti che utilizzano gli screen reader, può essere utile eseguire dei test con gli stessi screen reader che utilizzano.

A cosa servono i test con le tecnologie per la disabilità?

Vivire le stesse esperienze di chi usa le tecnologie per la disabilità.
Non puoi emulare veramente l'esperienza di qualcuno che utilizza AT. Un test in una situazione non sarà uguale a quello in altre esperienze.
Per verificare la presenza di difetti del sito web o dell'app.
I test di accessibilità consentono agli sviluppatori di trovare e risolvere i problemi che gli utenti di AT potrebbero riscontrare sul loro sito web o nella loro app.