Criteri di successo WCAG · Level A
WCAG 1.3.2: Sequenza significativa
WCAG 1.3.2 richiede che, quando l’ordine dei contenuti influisce sul loro significato, tale sequenza sia determinabile in modo programmato, così che le tecnologie assistive possano presentarla correttamente. Il mancato rispetto di questo criterio fa sì che gli utenti di screen reader e altri utenti di tecnologie assistive ricevano i contenuti in un ordine confuso o privo di significato.
Cosa Significa Questa Regola
Il Criterio di Successo WCAG 1.3.2 — Sequenza Significativa (Livello A) afferma: «Se la sequenza in cui il contenuto è presentato influisce sul suo significato, è possibile determinare in modo programmato una sequenza di lettura corretta.» In termini semplici, se l’ordine visivo dei contenuti della pagina ha un significato — passi di un processo, un filo di conversazione, un’etichetta di un modulo associata al suo campo, un elenco numerato — allora l’ordine sottostante nel DOM deve riflettere la stessa sequenza affinché le tecnologie assistive possano esporla correttamente.
La frase chiave è «se la sequenza influisce sul suo significato». Non tutte le scelte di ordinamento in una pagina rientrano in questo ambito. Elenchi decorativi di loghi non correlati, ad esempio, non hanno un significato sequenziale. Ma qualsiasi contenuto in cui un riordino cambierebbe ciò che l’utente comprende — l’elenco degli ingredienti di una ricetta seguito dalle istruzioni, una tabella di prezzi associati ai prodotti, un flusso di checkout a più passaggi — deve assolutamente avere un ordine DOM che corrisponda all’ordine visivo significativo.
Cosa è considerato un superamento: l’ordine sorgente del DOM corrisponde all’ordine logico di lettura, OPPURE una trasformazione (come CSS che riordina la presentazione visiva) consente comunque di determinare correttamente la sequenza di lettura a livello programmato da parte delle tecnologie assistive. I lettori di schermo che leggono direttamente il DOM devono comunque incontrare i contenuti nel corretto ordine significativo anche quando il posizionamento visivo tramite CSS differisce dall’ordine nel DOM.
Cosa è considerato un fallimento: l’uso di tecniche CSS — position: absolute, proprietà order di CSS Grid, proprietà order di CSS Flexbox o layout multi-colonna CSS — per riordinare visivamente i contenuti in modo che la sequenza visiva trasmetta un significato che l’ordine nel DOM non riflette. Un esempio classico è una barra laterale posizionata prima del contenuto principale nel DOM ma resa visivamente dopo di esso, dove la barra laterale contiene note contestuali che hanno senso solo dopo che il testo principale è stato letto.
La specifica WCAG nota esplicitamente un’eccezione: quando una sequenza non è significativa, non è necessario che sia determinabile a livello programmato. Inoltre, il criterio si concentra sul fatto che la corretta sequenza di lettura sia determinabile, non sul fatto che gli ordini visivo e DOM debbano sempre essere identici — il CSS può riordinare visivamente purché la sequenza esposta alle tecnologie assistive rimanga significativa. Tuttavia, in pratica, il riordino basato solo su CSS interrompe frequentemente la sequenza per le tecnologie assistive e deve essere gestito con grande attenzione.
Perché È Importante
Le persone che usano lettori di schermo sono il gruppo più direttamente interessato. Circa 7,5 milioni di persone negli Stati Uniti utilizzano software di lettura dello schermo e, a livello globale, l’Organizzazione Mondiale della Sanità stima che 2,2 miliardi di persone abbiano qualche forma di disabilità visiva. Per una persona cieca che naviga una pagina con NVDA, JAWS o VoiceOver, l’esperienza di lettura è interamente determinata dalla sequenza programmata — in particolare dall’ordine nel DOM. Se uno sviluppatore usa la proprietà CSS order in un layout Flexbox per spostare visivamente un messaggio di avviso sopra un modulo, ma il DOM colloca quell’avviso dopo i campi del modulo, una persona che usa un lettore di schermo compilerà il modulo prima di sentire l’avviso. Questo non è un semplice inconveniente; può portare a errori, transazioni non riuscite ed esclusione da servizi critici.
Anche le persone con disabilità cognitive traggono notevoli benefici da una sequenza significativa. Persone con dislessia, disturbi dell’attenzione o differenze di elaborazione spesso si affidano a un flusso di contenuti logico e prevedibile. Quando la gerarchia delle intestazioni e i blocchi di contenuto compaiono in un ordine DOM confuso, anche chi può vedere la pagina può avere difficoltà se si affida alla modalità di lettura del browser, a strumenti di sintesi vocale o a estensioni di visualizzazione semplificata che rimuovono il CSS e presentano il contenuto grezzo del DOM.
Le persone con disabilità motorie che navigano tramite tastiera o accesso a interruttore si spostano tra gli elementi interattivi nell’ordine del DOM tramite il tasto Tab. Se un pulsante di invio appare prima dei campi del modulo associati nel DOM (ma dopo di essi visivamente), la sequenza di tabulazione diventa confusa e soggetta a errori.
Uno scenario concreto reale: una pagina di checkout di e-commerce turca utilizza un layout CSS Grid in cui la proprietà order sposta il pannello “Riepilogo ordine” in modo che appaia visivamente sul lato destro, dopo il modulo di fatturazione. Nel DOM, tuttavia, l’HTML del riepilogo ordine viene prima. Una persona che usa un lettore di schermo sente il prezzo totale e l’elenco degli articoli prima di sentire il modulo di fatturazione — non ha ancora contesto su cosa stia pagando. Questo può portare ad abbandono, confusione e reclami in materia di accessibilità. In base alle nuove normative sull’accessibilità della Turchia, un tale fallimento su una piattaforma commerciale costituisce ora una responsabilità normativa.
Oltre all’accessibilità, una sequenza significativa nel DOM favorisce la SEO. I crawler dei motori di ricerca leggono l’ordine del DOM in modo simile ai lettori di schermo. Un DOM ben strutturato che colloca per primi i contenuti più significativi — intestazioni, contenuto principale, call to action chiave — può influenzare positivamente il modo in cui le pagine vengono indicizzate e classificate.
Regole Axe-core Correlate
WCAG 1.3.2 è classificato come criterio che richiede test manuali. Gli strumenti automatici, incluso axe-core, non possono segnalare in modo affidabile le violazioni della sequenza perché per farlo sarebbe necessario che lo strumento comprendesse il significato del contenuto — in particolare, se un determinato ordine di contenuti ne cambia l’interpretazione. Si tratta di un giudizio semantico che nessun parser automatico può compiere in modo universale. Uno strumento automatico può rilevare che il CSS è stato utilizzato per riordinare visivamente gli elementi, ma non può determinare se tale riordino sia significativo o decorativo senza il giudizio umano.
- Revisione manuale — Ordine visivo CSS vs. ordine DOM: Axe-core non ha una regola automatizzata dedicata per 1.3.2. I tester devono confrontare manualmente il rendering visivo di una pagina con il suo ordine sorgente nel DOM disabilitando il CSS e osservando se il contenuto linearizzato ha ancora senso. Strumenti come l’ispettore dell’albero di accessibilità integrato nel browser o la funzione “Full Page Scan” di axe DevTools possono mettere in evidenza anomalie strutturali, ma una persona deve giudicare se la sequenza è significativa.
- Revisione manuale — Proprietà order di CSS Flexbox e Grid: Quando axe DevTools o gli strumenti di sviluppo del browser rivelano elementi che utilizzano la proprietà CSS
orderoposition: absolute/fixedper elementi di contenuto (non meramente decorativi), un tester umano deve valutare se l’ordine visivo diverge in modo significativo dall’ordine nel DOM. Gli strumenti automatici non segnaleranno questo come errore di per sé. - Revisione manuale — Uso improprio del layout a tabella: Le pagine che utilizzano tabelle HTML per il layout visivo (anziché per dati tabellari) possono indurre i lettori di schermo a leggere le celle in un ordine DOM che non corrisponde al flusso di lettura previsto. Gli strumenti automatici possono segnalare le tabelle di layout come problema separato, ma l’impatto sulla sequenza richiede una verifica umana.
Come Eseguire i Test
- Esegui prima una scansione automatizzata: Usa axe DevTools (estensione del browser) o Lighthouse in Chrome DevTools per eseguire una scansione di accessibilità dell’intera pagina. Sebbene nessuno dei due strumenti segnalerà direttamente una violazione di 1.3.2, metteranno in evidenza problemi strutturali correlati — tabelle di layout, ordine improprio delle intestazioni o uso scorretto di ARIA — che possono indicare problemi di sequenza. Prendi nota di eventuali avvisi sull’ordine visivo o su anomalie strutturali per un successivo controllo manuale.
- Disabilita tutti i CSS e ispeziona il contenuto linearizzato: In Firefox DevTools o Chrome DevTools, disabilita tutti i fogli di stile (o usa la funzione “Disable All Styles” dell’estensione Web Developer). Leggi la pagina dall’alto verso il basso. Chiediti: il contenuto ha ancora senso in questo ordine? Riesci a seguire una storia, un modulo o un processo senza confusione? Se il significato si perde, è probabile che la pagina non soddisfi 1.3.2.
- Ispeziona direttamente l’ordine sorgente del DOM: Apri DevTools, vai al pannello Elements/Inspector e leggi il sorgente HTML. Confronta la posizione nel DOM di ciascun blocco di contenuto principale con la sua posizione visiva. Presta particolare attenzione agli elementi che utilizzano CSS Flexbox o Grid — cerca la proprietà
ordernegli stili calcolati e verifica che non crei una discrepanza significativa nella sequenza. - Testa con NVDA e Firefox: Avvia NVDA, apri Firefox e vai alla pagina. Premi Insert + Freccia giù per attivare la modalità “Say All” e ascolta l’intera pagina dall’alto verso il basso. Segui visivamente e annota qualsiasi caso in cui l’ordine dei contenuti letti non corrisponde all’ordine visivo significativo. Presta attenzione alle etichette e ai campi dei moduli, agli elenchi numerati, alle istruzioni passo-passo e ai contenuti che fanno riferimento a contenuti precedenti.
- Testa con VoiceOver e Safari (macOS/iOS): Abilita VoiceOver (Command + F5 su macOS). Usa il rotor (Control + Option + U) per navigare per intestazioni o landmark e usa Control + Option + Freccia destra per leggere linearmente la pagina. Nota se il contenuto scorre in un ordine logico e significativo. Su iOS, scorri verso destra per spostarti tra i contenuti e verifica l’integrità della sequenza.
- Testa con JAWS e Chrome: Apri JAWS con Chrome e usa il comando “Say All” Insert + Freccia giù. Come con NVDA, segui visivamente mentre ascolti e segnala qualsiasi contenuto presentato fuori dall’ordine significativo. JAWS legge l’albero di accessibilità, che in larga misura rispecchia l’ordine del DOM, rendendo questo un test affidabile per i problemi di sequenza.
- Testa l’ordine di tabulazione da tastiera: Senza un lettore di schermo, premi semplicemente Tab ripetutamente attraverso tutti gli elementi interattivi della pagina. La sequenza di messa a fuoco dovrebbe seguire un percorso logico e significativo — generalmente da sinistra a destra e dall’alto verso il basso negli script latini, in linea con il modo in cui una persona vedente leggerebbe la pagina. Una sequenza di tabulazione che salta in modo imprevedibile tra le sezioni indica un problema nell’ordine del DOM.
Come Correggere
Proprietà order di CSS Flexbox — Non corretto
<!-- Visual order is: Warning, then Form. DOM order is reversed. -->
<div style='display: flex; flex-direction: column;'>
<form style='order: 1;'>
<label for='email'>Email</label>
<input type='email' id='email' name='email' />
<button type='submit'>Subscribe</button>
</form>
<div class='warning' style='order: 0;'>
<p>Warning: You must be 18 or older to subscribe.</p>
</div>
</div>
Proprietà order di CSS Flexbox — Corretto
<!-- DOM order now matches meaningful visual order: Warning first, then Form. -->
<!-- The CSS order property is removed; DOM sequence alone controls both visual and AT order. -->
<div style='display: flex; flex-direction: column;'>
<div class='warning'>
<p>Warning: You must be 18 or older to subscribe.</p>
</div>
<form>
<label for='email'>Email</label>
<input type='email' id='email' name='email' />
<button type='submit'>Subscribe</button>
</form>
</div>
Contenuto posizionato in modo assoluto che crea una sequenza fuorviante — Non corretto
<!-- Step labels appear visually above the content boxes, but come after them in the DOM. -->
<div style='position: relative; height: 200px;'>
<div style='position: absolute; top: 50px; left: 0;'>
<p>Step 1: Fill in your personal details below.</p>
</div>
<div style='position: absolute; top: 0; left: 0;'>
<p><strong>1</strong></p>
</div>
</div>
Contenuto posizionato in modo assoluto che crea una sequenza fuorviante — Corretto
<!-- DOM order now reflects the meaningful reading sequence: label first, then number. -->
<!-- Absolute positioning is used only for visual refinement, not to reverse meaningful order. -->
<div style='position: relative; height: 200px;'>
<div style='position: absolute; top: 0; left: 0;'>
<p><strong>1</strong></p>
</div>
<div style='position: absolute; top: 50px; left: 0;'>
<p>Step 1: Fill in your personal details below.</p>
</div>
</div>
CSS Grid con aree di contenuto riordinate — Non corretto
<!-- Sidebar (contextual notes) appears visually on the right, after main content. -->
<!-- But in the DOM it comes first, so screen readers hear sidebar notes before the article. -->
<div class='layout'>
<aside class='sidebar'>
<p>Note: The statistics below are sourced from the 2024 annual report.</p>
</aside>
<main class='content'>
<h1>Annual Sales Overview</h1>
<p>Total revenue grew by 23% compared to the prior year...</p>
</main>
</div>
<!--
.layout { display: grid; grid-template-columns: 3fr 1fr; }
.sidebar { grid-column: 2; }
.main { grid-column: 1; }
-->
CSS Grid con aree di contenuto riordinate — Corretto
<!-- Main content comes first in the DOM, matching the meaningful reading order. -->
<!-- The sidebar, which annotates the main content, follows it in the DOM. -->
<!-- CSS Grid places the sidebar visually to the right without changing DOM sequence. -->
<div class='layout'>
<main class='content'>
<h1>Annual Sales Overview</h1>
<p>Total revenue grew by 23% compared to the prior year...</p>
</main>
<aside class='sidebar'>
<p>Note: The statistics above are sourced from the 2024 annual report.</p>
</aside>
</div>
<!--
.layout { display: grid; grid-template-columns: 3fr 1fr; }
.content { grid-column: 1; }
.sidebar { grid-column: 2; }
-->
Errori Comuni
- Usare la proprietà
orderdi CSS Flexbox o Grid per riordinare visivamente blocchi di contenuto significativi senza aggiornare l’ordine sorgente HTML — questa è la causa singola più comune di fallimenti 1.3.2 nello sviluppo web moderno. Modifica sempre prima l’ordine nel DOM e usa il CSS solo per perfezionare la presentazione visiva. - Collocare il contenuto principale della pagina
<main>dopo un<nav>o un<aside>nel DOM usando il CSS per far apparire visivamente il contenuto principale per primo — i lettori di schermo leggeranno la navigazione o il contenuto della barra laterale prima dell’articolo principale, interrompendo la sequenza significativa. - Costruire layout in stile rivista a più colonne con colonne CSS o float in cui l’ordine del DOM procede colonna per colonna dall’alto verso il basso all’interno di ogni colonna, ma l’ordine visivo è riga per riga — le persone che si aspettano una lettura riga per riga (come in molti layout di contenuti a griglia) riceveranno il contenuto nella sequenza sbagliata.
- Usare
position: absoluteoposition: fixedper spostare visivamente un riepilogo degli errori di un modulo in cima alla pagina mentre l’elemento del riepilogo degli errori rimane in fondo al DOM — le persone che usano un lettore di schermo, dopo aver inviato un modulo, non incontreranno il riepilogo degli errori finché non raggiungeranno il fondo della pagina, perdendo un feedback critico. - Visualizzare istruzioni passo-passo o sequenze numerate con reset di contatori CSS mentre l’ordine dei passaggi nel DOM non corrisponde all’ordine significativo — i numeri visivi possono apparire corretti, ma la sequenza letta ad alta voce sarà sbagliata.
- Inserire contenuti dinamici (ad es. messaggi di chat, elementi di feed in tempo reale, notifiche toast) all’inizio di un contenitore nel DOM quando la convenzione visiva mostra gli elementi più recenti in fondo — o viceversa — senza usare regioni ARIA live o adeguare il DOM per corrispondere alla sequenza significativa.
- Usare tabelle HTML per il layout anziché per dati tabellari e collocare le celle in un ordine DOM che legge prima le colonne anziché le righe — le tecnologie assistive leggono le celle delle tabelle nell’ordine del DOM (riga per riga), quindi le tabelle di layout costruite colonna per colonna verranno lette nella sequenza sbagliata.
- Affidarsi a JavaScript per ordinare o riordinare visivamente i contenuti (ad es. un elenco di prodotti ordinabile) senza aggiornare l’ordine sottostante nel DOM — dopo che una persona ha ordinato per prezzo, il lettore di schermo può continuare ad annunciare gli elementi nell’ordine originale non ordinato se sono state aggiornate solo le classi CSS o il posizionamento visivo.
- Collocare note a piè di pagina o note finali nel DOM immediatamente dopo il paragrafo che annotano quando la presentazione visiva raggruppa tutte le note a piè di pagina in fondo alla pagina — o il contrario — senza garantire che l’ordine esposto alle tecnologie assistive sia significativo per il flusso di lettura previsto.
- Dividere un’unica unità logica di contenuto in posizioni non adiacenti nel DOM — ad esempio, collocare il
<figcaption>di una figura lontano dal suo elemento<figure>nel sorgente, facendo sì che i lettori di schermo annuncino la didascalia fuori contesto.
Relazione con le Normative di Accessibilità della Turchia
La Circolare Presidenziale n. 2025/10 della Turchia, pubblicata nella Gazzetta Ufficiale n. 32933 il 21 giugno 2025, stabilisce requisiti obbligatori di accessibilità web allineati a WCAG 2.2. WCAG 1.3.2 Sequenza Significativa è un criterio di Livello A, il che lo rende parte del set di requisiti di base che tutti i soggetti interessati devono soddisfare.
La circolare impone la conformità secondo una tempistica graduale: le istituzioni pubbliche devono raggiungere la conformità entro un anno dalla data di pubblicazione della circolare, mentre le entità del settore privato hanno due anni per conformarsi.
I seguenti tipi di entità sono esplicitamente inclusi nella circolare e devono quindi garantire che tutti i contenuti digitali e le interfacce web presentino le informazioni in una sequenza significativa determinabile a livello programmato:
- Istituzioni pubbliche e agenzie governative — tutti gli organi di governo centrali e locali, i ministeri e le organizzazioni affiliate allo Stato che gestiscono siti web o servizi digitali rivolti al pubblico.
- Banche e istituzioni finanziarie — inclusi portali di banking online, piattaforme di investimento e siti web di compagnie assicurative in cui i contenuti sequenziali (riepiloghi di conto, domande di prestito passo-passo, storici delle transazioni) devono essere leggibili nel giusto ordine da tutte le persone.
- Piattaforme di e-commerce — gli elenchi di prodotti, i flussi di checkout a più passaggi e le sequenze di conferma dell’ordine devono avere ordini DOM che riflettano correttamente la loro sequenza visiva significativa, garantendo che le persone cieche e ipovedenti possano completare gli acquisti senza confusione indotta dalle tecnologie assistive.
- Ospedali e fornitori di servizi sanitari — portali per i pazienti, sistemi di prenotazione degli appuntamenti e pagine di informazioni mediche in cui la sequenza di istruzioni, avvertenze e campi dei moduli ha implicazioni dirette per la sicurezza.
- Società di telecomunicazioni con 200.000 o più abbonati — pagine di confronto dei servizi, interfacce di gestione dei contratti e portali di assistenza in cui le tabelle delle tariffe e gli elenchi delle funzionalità devono essere presentati in un ordine significativo e corretto a livello programmato.
- Agenzie di viaggio e società di trasporto privato — flussi di prenotazione, visualizzazioni di itinerari e interfacce di selezione dei posti si basano fortemente sulla sequenza visiva (partenza prima dell’arrivo, passo 1 prima del passo 2) che deve essere correttamente riflessa nel DOM.
- Scuole private autorizzate dal Ministero dell’Istruzione Nazionale (MoNE) — sistemi di gestione dell’apprendimento, pagine di contenuti dei corsi e portali di iscrizione devono presentare sequenze educative — lezioni, moduli, valutazioni — in un ordine determinabile a livello programmato affinché gli studenti che usano tecnologie assistive possano seguire correttamente i corsi.
Il mancato rispetto di WCAG 1.3.2 su una qualsiasi di queste piattaforme non è semplicemente una lacuna di buone pratiche; ai sensi della circolare 2025/10 costituisce una non conformità normativa soggetta a vigilanza e obblighi di rimedio. Considerato che le violazioni di 1.3.2 derivano frequentemente da moderne tecniche di layout CSS (Flexbox, Grid) che sono ubiquitarie nello sviluppo web turco, le organizzazioni dovrebbero dare priorità a un audit sistematico dei propri schemi di layout e delle pratiche di ordinamento del DOM come parte della loro roadmap di conformità.
