edubun
Italiano

Usare una pagina con la tastiera

Stacca il mouse e premi Tab: ogni link, pulsante e campo dovrebbe illuminarsi a turno, nell'ordine in cui leggi la pagina.

Chi usa la tastiera

Molte persone non toccano mai un mouse. Alcune non riescono a tenerlo fermo; alcune usano un sensore, un puntatore a bocca o il riconoscimento vocale che invia pressioni di tasti; anche chi usa un lettore di schermo si muove soprattutto con la tastiera. Il criterio di successo 2.1.1 Tastiera delle WCAG 2.2, di livello A, dice che tutto nella pagina deve funzionare da tastiera. Il criterio 2.1.2 Nessun impedimento all'uso della tastiera aggiunge che se il focus può entrare in una parte della pagina, deve poterne anche uscire con la tastiera.

I tasti abituali. Tab va avanti, Maiusc+Tab indietro, Invio segue un link o preme un pulsante, Spazio preme un pulsante o spunta una casella, le frecce si muovono dentro gruppi di pulsanti di opzione e menu.

Usa elementi che funzionano già

I link con un href, button, input, select e textarea ricevono il focus fin da subito e rispondono ai tasti giusti. Un div con un gestore di clic no: non si raggiunge con Tab, Invio non fa nulla e un lettore di schermo non lo annuncia come pulsante. Il consiglio di MDN è semplice. Non usare tabindex per far comportare un div come un pulsante; usa l'elemento button, che ha già incorporati il ruolo e il comportamento da tastiera.

Ordine del focus e tabindex

L'ordine di Tab segue l'ordine degli elementi nel sorgente HTML. Il criterio 2.4.3 Ordine del focus chiede che quest'ordine conservi il significato e l'uso della pagina, quindi il modo più semplice per correggere un ordine strano è riordinare l'HTML. MDN elenca tre tipi di valore di tabindex. Zero mette un elemento nell'ordine normale. Un valore negativo, di solito -1, lo toglie dall'ordine di Tab ma permette ancora a uno script di chiamare focus() su di esso, cosa utile per una finestra di dialogo o un messaggio di errore. Un valore positivo forza l'elemento davanti a tutto il resto, e MDN raccomanda di usare solo 0 e -1, perché i valori positivi rendono l'ordine difficile da seguire.

Vedere dove ti trovi

Chi usa la tastiera deve vedere quale elemento ha il focus. Il criterio 2.4.7 Focus visibile, di livello AA, chiede un indicatore di focus visibile, quindi una regola di stile come outline: none senza nulla al suo posto è un errore. Le WCAG 2.2 hanno aggiunto due criteri collegati. Il 2.4.11 Focus non nascosto (minimo), di livello AA, dice che l'elemento con il focus non deve essere nascosto del tutto da qualcosa aggiunto dall'autore, come un piè di pagina fisso o un banner dei cookie. Il 2.5.8 Dimensione dell'obiettivo (minimo), anch'esso AA, chiede che ciò che clicchi o tocchi misuri almeno 24 per 24 pixel CSS, oppure abbia abbastanza spazio intorno.

Un altro schema aiuta molto: il link per saltare al contenuto (skip link). Un sito con un menu lungo costringe chi usa la tastiera a premere Tab su ogni voce del menu in ogni pagina. Un link messo per primo nella pagina, che punta al contenuto principale, permette di saltarlo con una sola pressione. Può restare nascosto alla vista finché non riceve il focus.

La prova richiede due minuti. Clicca nella barra degli indirizzi, poi premi Tab più volte per tutta la pagina. Controlla che ogni controllo si possa raggiungere, che l'ordine corrisponda all'ordine di lettura, che tu veda sempre dove si trova il focus, e che Invio e Spazio facciano ciò che farebbe un clic del mouse. Poi premi Maiusc+Tab per tornare indietro. Ogni controllo che non riesci a raggiungere, o ogni punto in cui il focus sparisce, è un bug.

WCAG 2.1.1Tastiera (A): tutto funziona da tastiera
WCAG 2.1.2Nessun impedimento all'uso della tastiera (A)
WCAG 2.4.7Focus visibile (AA)
WCAG 2.4.11Focus non nascosto (minimo), AA, nuovo nelle 2.2
WCAG 2.5.8Dimensione dell'obiettivo (minimo): 24 per 24 px CSS, AA
tabindex="-1"Fuori dall'ordine di Tab, può ricevere il focus da script
Punti chiave
  • Tutto deve funzionare da tastiera, senza trappole (2.1.1, 2.1.2).
  • Usa button e a href invece di div cliccabili.
  • L'ordine di Tab segue l'HTML; usa solo tabindex 0 e -1.
  • Tieni il focus visibile e non nascosto; obiettivi di almeno 24 per 24 px CSS.
  1. Quale tasto sposta il focus all'elemento successivo?
  2. Un div ha un gestore onclick. Che cosa non va?
    • Non si può raggiungere né premere con la tastiera
    • È troppo lento
    • Non gli si può dare uno stile
    • Niente
  3. Che cosa fa tabindex="0"?
    • Aggiunge l'elemento all'ordine normale di Tab
    • Lo mette per primo nell'ordine di Tab
    • Lo toglie dall'ordine di Tab
    • Lo disattiva
  4. Quali valori di tabindex raccomanda MDN?
    • Solo 0 e -1
    • Qualsiasi numero positivo
    • Da 1 a 10
    • Nessuno, mai
  5. Un foglio di stile imposta outline: none su ogni elemento con il focus. Quale criterio non è soddisfatto?
    • 2.4.7 Focus visibile
    • 1.1.1 Contenuti non testuali
    • 1.4.3 Contrasto (minimo)
    • 3.3.2 Etichette o istruzioni
  6. Quale dimensione minima dell'obiettivo, in pixel CSS per lato, chiede il 2.5.8?
  7. Un banner dei cookie fisso copre del tutto il pulsante con il focus. Quale criterio delle WCAG 2.2 riguarda questo caso?
    • 2.4.11 Focus non nascosto (minimo)
    • 2.4.3 Ordine del focus
    • 2.1.2 Nessun impedimento all'uso della tastiera
    • 1.4.11 Contrasto in contenuti non testuali
  8. Che cosa fa uno skip link?
    • Salta i menu ripetuti e porta al contenuto principale
    • Salta la pagina successiva
    • Nasconde le immagini
    • Spegne la tastiera
  9. Quale tasto spunta una casella di controllo che ha il focus?
    • Spazio
    • Tab
    • Esc
    • Maiusc
  10. Il focus entra in un widget e Tab non riesce a uscirne. Quale criterio non è soddisfatto?
    • 2.1.2 Nessun impedimento all'uso della tastiera
    • 2.4.6 Intestazioni ed etichette
    • 1.4.1 Uso del colore
    • 2.5.8 Dimensione dell'obiettivo (minimo)
Fonti di questo corso (9)
  • W3C, Web Content Accessibility Guidelines (WCAG) 2.2, W3C Recommendation first published 5 October 2023, current edition 12 December 2024 (w3.org/TR/WCAG22/, checked 2026-10-17, rechecked 2026-10-18)
  • W3C WAI, What's new in WCAG 2.2 (w3.org/WAI/standards-guidelines/wcag/new-in-22/, checked 2026-10-17)
  • W3C WAI, Images tutorial and alt decision tree (w3.org/WAI/tutorials/images/decision-tree/, checked 2026-10-17)
  • W3C, Using ARIA (w3.org/TR/using-aria/, Discontinued Draft 24 February 2026, rules 1 to 4, checked 2026-10-17)
  • W3C WAI-ARIA Authoring Practices Guide, Read Me First, "No ARIA is better than bad ARIA" (w3.org/WAI/ARIA/apg/practices/read-me-first/, checked 2026-10-17)
  • MDN Web Docs, tabindex (developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/tabindex, checked 2026-10-17)
  • MDN, Heading elements, accessibility notes (developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/Heading_Elements, checked 2026-10-17)
  • MDN, autocomplete attribute (developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/autocomplete, checked 2026-10-17)
  • Every code exercise was checked with a Playwright probe against a reference solution.

Consultato il: 2026-10-17