Normative · WCAG 2.2

SC 2.1.2 Livello A WCAG 2.0

Nessuna trappola per tastiera

Se il focus della tastiera può spostarsi su un componente, deve potersene anche allontanare usando solo la tastiera. I soliti responsabili sono finestre modali, contenuti incorporati e widget personalizzati.

Cosa richiede questo criterio

Se un utente può portare il focus su un componente con Tab, deve potersene allontanare usando Tab, Shift+Tab o un altro tasto documentato, senza dover ricorrere al mouse. Se per uscire è richiesto qualcosa di diverso dai normali tasti freccia o Tab — ad esempio Ctrl+M per uscire da un lettore video incorporato — l’utente deve essere informato di questa modalità.

Questo criterio non riguarda la gestione del focus all’interno di una finestra modale, che è invece un pattern auspicabile: una modale fa scorrere il focus tra i propri elementi, ma lo rilascia quando l’utente la chiude. Una trappola per tastiera si verifica quando non esiste alcuna via d’uscita documentata.

Come soddisfarlo

  • All’interno di una finestra di dialogo modale, fare scorrere il focus tra il primo e l’ultimo elemento attivabile con Tab e Shift+Tab, e chiudere la finestra alla pressione di Escape, restituendo il focus all’elemento che l’aveva attivata.
  • Per i contenuti di terze parti incorporati (lettori video, mappe, iframe di origine sconosciuta), verificare che Tab prosegua oltre l’elemento incorporato. Se così non fosse, documentare il tasto di uscita nelle immediate vicinanze del contenuto.
  • Per i widget personalizzati che catturano i tasti freccia (selettori di data, combobox, visualizzazioni ad albero), mantenere Tab come uscita universale — non bloccarlo mai.
  • Per le maniglie di trascinamento o gli editor di testo avanzati che usano Tab per l’indentazione, prevedere un’alternativa documentata (Escape per rilasciare, Ctrl+M per uscire dalla modalità di modifica) e renderla visibile nell’interfaccia.

Errori comuni

  • Finestre di dialogo modali che intrappolano il focus, ma non si chiudono con Escape e non espongono un pulsante Chiudi raggiungibile con la tastiera.
  • Visualizzatori PDF incorporati, vecchi elementi Flash e alcune dashboard di Tableau o Power BI che inghiottono Tab indefinitamente.
  • Editor di testo avanzati (TinyMCE, CKEditor nelle versioni precedenti) che catturano Tab per l’indentazione senza mai rilasciarlo.
  • Combobox personalizzate in cui i tasti freccia scorrono le opzioni, ma Tab non fa nulla — l’utente rimane bloccato sull’input.
  • Banner dei cookie con una gestione del focus ciclica che non offre mai il focus ai pulsanti Accetta o Rifiuta.

Gli strumenti automatizzati raramente rilevano questo problema — axe e Lighthouse possono segnalare solo pattern sospetti. Il test manuale da tastiera è l’unica verifica affidabile.

Perché è importante

Una trappola per tastiera è uno dei più gravi errori di accessibilità: l’utente è letteralmente impossibilitato ad abbandonare quella sezione della pagina. Un utente non vedente potrebbe dover aggiornare la pagina, perdendo la sessione e i dati inseriti in eventuali moduli. Per molti utenti questo è il momento in cui abbandonano definitivamente il sito. Tra tutti i criteri WCAG, questo è quello che più probabilmente rende una pagina indefendibile in sede legale — tribunali e organismi di vigilanza considerano il blocco degli utenti un ostacolo evidente e inequivocabile.