Normative · WCAG 2.2

SC 2.1.4 Livello A WCAG 2.1

Scorciatoie da un solo tasto

Le scorciatoie da tastiera composte da un singolo carattere (una sola lettera, cifra o simbolo) devono poter essere disattivate, rimappate o attive solo quando il componente pertinente ha il focus. Protegge gli utenti che usano il controllo vocale e la dettatura da attivazioni accidentali.

Cosa richiede questo criterio

Se la pagina implementa una scorciatoia da tastiera che utilizza solo lettere, cifre, caratteri di punteggiatura o simboli — senza un modificatore come Ctrl, Alt o Shift — deve essere vera almeno una delle seguenti condizioni:

  • La scorciatoia può essere disattivata da un menu delle impostazioni.
  • La scorciatoia può essere rimappata in modo da usare uno o più tasti non stampabili (Ctrl, Alt, Shift, tasti funzione).
  • La scorciatoia è attiva solo quando il componente pertinente ha il focus.

Il criterio esiste principalmente per proteggere gli utenti che utilizzano il riconoscimento vocale. Dragon NaturallySpeaking e Voice Control trascrivono entrambi le parole pronunciate in pressioni di tasti — e una «k» di troppo a metà frase può attivare una scorciatoia distruttiva su Gmail, Slack o qualsiasi applicazione che utilizzi acceleratori a singola lettera.

Come soddisfarlo

  • Verificare ogni gestore a singolo tasto nel codice sorgente: listener keydown e keypress che controllano event.key rispetto a un carattere stampabile senza verificare anche i tasti modificatori.
  • Aggiungere un pannello delle impostazioni «Scorciatoie da tastiera» dove gli utenti possano disattivarle completamente. Gmail e Slack lo fanno in modo esemplare.
  • In alternativa, limitare le scorciatoie in modo che si attivino solo quando il focus è all’interno della regione pertinente (ad esempio, j/k per navigare tra le email solo quando il focus è nell’elenco dei messaggi, non mentre l’utente scrive una risposta).
  • Preferire scorciatoie con modificatore (Ctrl+/, Alt+N) come impostazione predefinita; riservare le scorciatoie a singolo tasto a una modalità power-user opzionale.

Errori comuni

  • Scorciatoie in stile Gmail — j, k, r, a — che si attivano da qualsiasi punto del documento, incluso dall’interno di aree di testo con determinate configurazioni di framework.
  • Griglie di dati personalizzate in cui Delete elimina una riga senza conferma — accettabile per un utente da tastiera, disastroso per chi usa il controllo vocale e dice «elimina quella virgola».
  • Lettori video in cui la barra spaziatrice attiva/disattiva la riproduzione globalmente, invece che solo quando il lettore ha il focus.
  • Siti di documentazione in cui / porta il focus alla ricerca anche quando il focus è già all’interno di un editor di codice incorporato.

axe-core non rileva questo problema — è necessaria una revisione del codice sorgente o regole automatizzate specifiche della suite di test estesa di Deque. La maggior parte degli errori in produzione viene scoperta solo quando un utente che utilizza il controllo vocale presenta un reclamo.

Perché è importante

Questo criterio di successo è stato introdotto in WCAG 2.1 specificamente perché l’adozione degli input vocali è cresciuta rapidamente dopo il 2017. Un sito che non soddisfa il criterio 2.1.4 può risultare praticamente inutilizzabile per chi detta: ogni paragrafo rischia di innescare un’azione diversa. Anche gli utenti da tastiera con disabilità motorie che possono premere accidentalmente un tasto sbagliato traggono vantaggio dalla possibilità di disattivare le scorciatoie a singolo carattere.