Rendere il tuo sito web accessibile per gli utenti solo tastiera è una parte importante della più ampia immagine di accessibilità. Ecco alcuni suggerimenti sull'accessibilità della tastiera che puoi implementare rapidamente utilizzando HTML e CSS di base.
Questi suggerimenti fanno parte dell'accessibilità Web: la Guida completa all'apprendimento, in cui abbiamo raccolto una serie di esercitazioni, articoli, corsi e ebook, per aiutarti a capire l'accessibilità web dall'inizio.
Una tastiera può essere il mezzo principale per alcuni utenti per navigare nei siti web. Oggigiorno, quando la maggior parte delle interfacce web sono progettate con cursori mouse e interazione touch, la navigazione da tastiera viene trascurata. L'accessibilità della tastiera è la pratica per assicurarsi che gli utenti possano navigare in modo efficiente e senza ostacoli usando solo la propria tastiera.
Questi sono i principali gruppi target di accessibilità della tastiera:
L'obiettivo più importante dell'accessibilità della tastiera è rendere disponibili tutti gli elementi interattivi, come i collegamenti e i controlli del modulo linguetta chiave. Questo è il modo in cui gli utenti di sola tastiera navigano attraverso una pagina web. Testare il tuo sito web per l'accessibilità della tastiera è in realtà abbastanza semplice: basta premere il tasto linguetta tasto e navigare dalla parte superiore della pagina verso il basso, evidenziando gli elementi attivi mentre si va.
Navigazione dei collegamenti rapidi nel Tuts + footer con il linguetta chiaveOsserva come è facile o difficile raggiungere il contenuto principale, fare clic su una voce di menu, compilare un modulo, utilizzare un dispositivo di scorrimento o seguire la posizione corrente sulla pagina. Puoi anche testare la direzione inversa usando il Shift + Tab scorciatoia da tastiera.
:messa a fuoco
stiliCSS ha un :messa a fuoco
pseudo-classe che viene attivata quando un utente fa clic o tocca un elemento o lo seleziona con linguetta chiave. Il :messa a fuoco
lo stato si applica solo agli elementi focalizzabili, vale a dire ,
,
,
,
, e
.
Ogni browser ha il suo predefinito :messa a fuoco
stili, in genere un contorno nero tratteggiato attorno all'elemento o un bagliore sfocato, tuttavia molti designer non lo apprezzano e lo rimuovono completamente. Questo è in realtà l'errore numero uno che rovina l'accessibilità della tastiera sulle pagine web. Se non ti piacciono gli stili predefiniti, usa qualcosa che corrisponda al design del tuo sito web.
Scegli uno stile che sia facilmente visibile ma che non si basi esclusivamente sui colori. Ecco un possibile esempio che può funzionare bene per gli utenti solo tastiera:
: focus contorno: 3px rosso fisso;
I collegamenti ipertestuali non dovrebbero essere distinti solo dal colore. Questo principio viene solitamente menzionato in relazione all'accessibilità visiva, in quanto le persone ipovedenti trovano le differenze tra certi colori difficili da distinguere. Tuttavia, i collegamenti chiaramente visibili sono importanti anche per l'accessibilità della tastiera. Gli utenti solo sulla tastiera dovrebbero essere in grado di individuare i collegamenti il più rapidamente possibile. Questo li aiuta a scansionare la pagina e capire come navigare verso la parte a cui sono interessati.
Allo stesso modo :messa a fuoco
stili, i collegamenti ipertestuali arrivano anche con lo stile browser predefinito - sottolineatura blu nella maggior parte dei casi. Tuttavia, i progettisti rimuovono spesso la sottolineatura e usano solo i colori per indicare la presenza di un collegamento. Se rimuovi la sottolineatura predefinita usa sempre un altro designatore non colore che corrisponde al design del tuo sito web, come bordi, icone o contorni.
Puoi usare il titolo
attributo per descrivere il contenuto di un link, ma diventa visibile solo quando qualcuno passa il link. Gli utenti solo sulla tastiera non hanno accesso agli eventi di passaggio del mouse, quindi non inserire mai informazioni cruciali in titolo
attributo. Inoltre, non conta come un indicatore di colore. Ad esempio, non fare mai questo:
Clicca qui
Invece, fai questo:
Informazioni importanti
WCAG 2.0 avverte anche sui problemi di accessibilità dell'attributo title. O usalo con cura o non usarlo affatto.
I moduli sono elementi interattivi, quindi devono essere accessibili tramite la tastiera. Gli utenti che utilizzano solo la tastiera dovrebbero essere in grado di compilare moduli, premere pulsanti, utilizzare i cursori di intervalli, selezionare opzioni e utilizzare i controlli con facilità. Se hai qualche modulo sul tuo sito web dovresti testarli uno per uno, usando il linguetta chiave. Pensa a moduli di iscrizione, moduli di newsletter, moduli di accesso, moduli di commento, carrelli della spesa e così via.
Il modo migliore per creare forme accessibili è utilizzando elementi di controllo nativi ovunque sia possibile. Gli elementi di controllo nativi sono dotati di accessibilità della tastiera integrata, il che significa che sono attivabili e rispondono agli eventi di pressione del tasto per impostazione predefinita. Sono come segue:
Ad esempio, puoi creare un dispositivo di scorrimento per l'intervallo accessibile della tastiera con il seguente codice HTML:
Gli utenti di tastiera possono prima focalizzarlo con il linguetta chiave, quindi sposta il cursore su e giù con Spazio.
Se è necessario utilizzare un tag HTML non attivabile per un elemento interattivo per qualche motivo, è possibile renderlo focalizzabile con Il Anche se il pulsante non nativo è stato reso focalizzabile, è ancora inferiore alla controparte nativa in termini di accessibilità della tastiera. Lo capirai immediatamente quando proverai ad aggiungere un gestore di eventi al pulsante. Ecco come appare un listener di eventi di clic con il nativo E, ecco l'equivalente usando il pulsante div: Se fai clic sui pulsanti usando il mouse o il touchpad puoi vedere entrambi i messaggi di avviso. Tuttavia, se si accede a ciascun pulsante utilizzando il linguetta chiave e colpisci accedere per elaborarli, vedrai solo il primo messaggio, appartenente al pulsante nativo. Per fare in modo che il pulsante non nativo elabori l'input da tastiera, devi anche definire un gestore di eventi keypress separatamente: Ora, quando gli utenti della tastiera colpiscono Aggiungere un Salta al contenuto principale o Salta la navigazione il collegamento alle tue pagine web aiuta notevolmente gli utenti solo sulla tastiera. Nella maggior parte dei casi, questi utenti non vorranno passare attraverso tutti i link di navigazione prima di iniziare a leggere il contenuto. Questo è particolarmente vero quando danno un'occhiata a più di una pagina sul tuo sito. Immagina, senza saltare il link di navigazione, che devono passare attraverso gli stessi link di navigazione sulla homepage ogni volta. Non sembra un'attività particolarmente divertente. Per creare un collegamento di salto salta funzionante, è necessario associarlo al contenuto principale utilizzando il È inoltre necessario aggiungere il È possibile utilizzare i CSS per rendere visibile il collegamento di navigazione salta solo per gli utenti di tastiera. Nel suo stato predefinito, nasconde il collegamento da utenti regolari posizionandolo fuori dal viewport. Quindi, rivelalo agli utenti di tastiera creando stili separati per lo stato di attivazione che viene attivato quando l'utente preme il pulsante linguetta chiave. Puoi vedere questo effetto in azione su siti come webaim.org, www.w3.org e (come al solito) www.gov.uk: Il seguente CSS è una versione semplificata del codice di navigazione skip del Manuale di accessibilità IT della NC State University: Quando l'utente colpisce il linguetta chiave, il Puoi testare rapidamente come funziona se clicchi sulla parte superiore della demo qui sotto e premi il tasto linguetta chiave. Potresti trovare più semplice aprire la demo qui sotto nella visualizzazione a pagina intera. In questo articolo ho condiviso alcuni suggerimenti base sull'accessibilità della tastiera che puoi implementare utilizzando HMTL e CSS. Ci sono altre cose più avanzate che potresti fare per l'accessibilità della tastiera. Ad esempio, potresti: Oltre a questi suggerimenti, evitare l'utilizzo di CAPTCHA laddove possibile, poiché presentano gravi problemi di accessibilità, sia per gli utenti che utilizzano solo lo screen reader che per la sola tastiera. Se hai ancora bisogno di usarli, fornisci più di due modi per risolverli, altrimenti gli utenti con esigenze di accessibilità faranno fatica ad elaborare i tuoi moduli. Facci sapere se hai qualche consiglio per l'accessibilità della tastiera!tabindex = "0"
attributo. Ad esempio, ecco a role = "button"
l'attributo nello snippet sopra riportato è un ruolo di riferimento ARIA. Sebbene gli utenti solo per tastiera non ne abbiano bisogno, è indispensabile per gli utenti di screen reader e per l'accessibilità visiva. elemento:
accedere
, vedono anche il messaggio che appartiene al pulsante non nativo. Come puoi vedere, è molto più facile e veloce usare la versione nativa. Quindi, a meno che tu non abbia una buona ragione per non usarli, usa sempre elementi di controllo nativi. 5. Aggiungi un link "Passa al contenuto principale"
id
e href
Attributi HTML nel modo seguente:Salta al contenuto principale
tabindex = "- 1"
attributo al contenitore del contenuto principale. Questo è lo stesso tabindex che abbiamo usato sopra per rendere il pulsante non nativo focalizzabile. Il tabindex
l'attributo viene utilizzato per modificare l'ordine di navigazione predefinito. Con un valore di 0
, rende focalizzabili elementi non focalizzabili. Con un valore di -1
, rende anche gli elementi focalizzabili ma diventano non raggiungibili con la navigazione da tastiera predefinita. Alcuni browser, come Chrome e IE, richiedono la presenza di tabindex = "- 1"
sul target del link di navigazione di salto, quindi non ometterlo mai.Mostra il collegamento Salta solo agli utenti della tastiera
a.skip-main left: -999px; posizione: assoluta; inizio: auto; larghezza: 1px; altezza: 1px; overflow: nascosto; z-index: -999; a.skip-main: focus left: auto; inizio: auto; larghezza: 30%; altezza: auto; overflow: auto; margine: 0 35%; imbottitura: 5px; font-size: 20px; contorni: 3px rosso solido; allineamento del testo: centro; z-index: 999;
.salta-main
elemento è dato il suo stato di messa a fuoco e il collegamento di navigazione salta appare sullo schermo. Prossimi passi