Attributo accesskey
Silktide individua gli elementi che dichiarano un accesskey, un vecchio modo di assegnare a un elemento una propria scorciatoia da tastiera. Queste scorciatoie sono sempre attive e il visitatore non può disattivarle, causando più problemi di quanti ne risolvano.
Perché è importante
L'attributo accesskey in crea una scorciatoia da tastiera
a carattere singolo che si attiva ogni volta che il tasto viene premuto.
Questo entra in conflitto con il modo in cui molte persone usano già la
tastiera: gli utenti di e i browser
riservano combinazioni di tasti sovrapposte, quindi un accesskey può sovrascrivere
silenziosamente una scorciatoia da cui qualcuno dipende; inoltre, la
combinazione di tasti che lo attiva varia a seconda del browser e del sistema
operativo. Anche le persone che digitano usando l'input vocale o hanno una
limitata destrezza possono attivare accidentalmente la scorciatoia.
Il criterio di successo 2.1.4 di (Scorciatoie da tastiera
con tasti carattere, livello A) richiede che le scorciatoie a carattere singolo
possano essere disattivate, riassegnate oppure attivate solo quando l'elemento
ha il . Un accesskey non soddisfa
nessuna di queste condizioni: è sempre attivo e solo il sito può modificarlo.
Come risolvere il problema
- Rimuovi l'attributo
accesskey. Raramente offre un valore reale e la sua rimozione non modifica nulla di visibile nella pagina.
<!-- Scorciatoia sempre attiva che può entrare in conflitto con quella dell'utente -->
<a href="\/search" accesskey="s">Cerca</a>
<!-- Corretto: un normale link, raggiungibile con Tab come tutto il resto -->
<a href="\/search">Cerca</a>
- Se hai davvero bisogno di scorciatoie da tastiera, implementale in modo che il visitatore possa disattivarle o riassegnarle, oppure in modo che si applichino solo quando il controllo pertinente ha il focus.
Come esegue il controllo Silktide
- Individua ogni elemento nell'HTML della pagina che dichiara un attributo
accesskeycon un valore non vuoto. - Segnala ciascuno di questi elementi. I valori vuoti (
accesskey="") vengono ignorati, poiché alcune librerie di componenti visualizzano l'attributo come un'operazione nulla e non creano alcuna scorciatoia.
Risoluzione dei problemi
Abbiamo aggiunto accesskey per migliorare l'accessibilità
Un tempo era un consiglio raccomandato, ma l'esperienza ha dimostrato che i conflitti con le scorciatoie del browser e della superano i vantaggi, e le indicazioni moderne raccomandano di evitare l'attributo. Pagine ben strutturate, con buone intestazioni e landmark, offrono un supporto migliore agli utenti della tastiera.
Scorciatoie implementate in JavaScript
Questo controllo riguarda solo l'attributo accesskey. Le scorciatoie
implementate nello script sono coperte da
Scorciatoie da tastiera con tasti carattere; i
due controlli sono complementari e possono comparire entrambi nella stessa
pagina.