Dal glossario dell'accessibilità

AccessiWeb: il web accessibile e inclusivo

O

Ordine del focus

Sequenza logica di tabulazione che rispecchia la struttura e il flusso dei contenuti. Riferimenti WCAG: 2.4.3 (AA), collegati 2.4.7, 2.1.1, 1.3.2

Definizione — L’ordine di focus è la sequenza con cui i componenti interattivi di una pagina ricevono il focus quando l’utente naviga da tastiera (Tab/Shift+Tab, frecce, scorciatoie). Un buon ordine di focus rispecchia l’ordine logico di lettura e la gerarchia visiva, evitando salti, “vicoli ciechi” o ritorni inattesi. È un requisito fondamentale per persone che non usano il mouse, per utenti di tecnologie assistive e per l’orientamento di tutti.

Requisiti WCAG

  • 2.4.3 Focus Order (AA): il focus segue un ordine che preserva significato e usabilità.
  • Collegati: 2.4.7 Focus visibile, 2.1.1 Tastiera, 1.3.2 Sequenza significativa.

Come ottenere un ordine corretto

  • Ordine DOM = ordine di focus: struttura l’HTML nell’ordine in cui vuoi che gli utenti lo percorrono; l’uso di flex/grid non deve alterare la logica di tabulazione.
  • Evita tabindex>0: genera percorsi imprevedibili. Usa tabindex=\"0\" solo per rendere focalizzabili elementi non nativi (quando necessario) e tabindex=\"-1\" per consentire il focus via script.
  • Gestione modali/overlay: quando apri un dialog, porta il focus al titolo, intrappolalo nel dialog finché è aperto e restituiscilo al trigger alla chiusura.
  • Componenti complessi (tab, menu, slider): implementa i pattern tastiera (roving tabindex, frecce) e mantieni il focus su elementi significativi.
  • Skip link: offri “Salta al contenuto” per bypassare blocchi ripetitivi.

Esempi

Esempio da evitare (ordine visivo ≠ ordine DOM)

<main class="grid">
  <div class="col2">Contenuto principale</div>
  <aside class="col1">Sidebar con link</aside>
</main>

/* CSS (visualmente sidebar a sinistra) */
.grid { display: grid; grid-template-columns: 1fr 3fr; }
.col2 { grid-column: 2; }  /* ma nel DOM viene prima la col2 */
.col1 { grid-column: 1; }  /* il Tab entra prima nel contenuto, poi nella sidebar → confusione */

Soluzione: riordina il DOM secondo la lettura e applica il layout via CSS senza invertire la logica.

<main class="grid">
  <aside class="col1">Sidebar</aside>
  <div class="col2">Contenuto</div>
</main>

Test rapidi

  • Naviga con Tab/Shift+Tab: la sequenza segue il layout? il focus è sempre visibile?
  • Con modali, il Tab resta all’interno? Alla chiusura ritorna al pulsante di apertura?
  • Gli elementi nascosti (offcanvas, menu) sono rimossi dal flusso (display:none o hidden) finché non vengono aperti?

Errori comuni

  • Uso estensivo di tabindex>0 per “forzare” l’ordine.
  • Elementi visualmente primi ma tardi nel DOM (inversioni con order o grid).
  • Trappole di focus in slider, menu o dialog non gestiti.

Voci correlate e collegamenti utili

Naviga il Glossario dell'accessibilità A-Z

Richiedi una consulenza gratuita

Il nostro team di Web Accessibility Expert certificati UNI 11621-3 è pronto a guidarti con le migliori soluzioni per il tuo business!

Contattaci adesso
Parla con un esperto di accessibilità

Ultimi articoli dal blog

Immagine stilizzata che rappresenta disabilità visive, uditive, motorie e percettive

AccessiWeb

Soluzioni per un web accessibile e inclusivo

Inizia la tua prova gratuita