Accessibilità
Gli errori WCAG più comuni
Sei tipi di errore coprono il 96% delle violazioni WCAG rilevate su un milione di homepage: contrasto, alt, etichette, link e bottoni vuoti, lingua.
In sintesi
- Il 95,9% delle homepage del campione WebAIM Million 2026 ha almeno una violazione WCAG 2 rilevata.
- Contrasto insufficiente (83,9%), alt mancante (53,1%) ed etichette di form assenti (51%) sono i tre errori più diffusi.
- Sei categorie coprono il 96% degli errori: correggerle cambia la pagina più di qualsiasi altro intervento.
Gli errori WCAG più comuni sono sei: contrasto insufficiente, testo alternativo mancante, campi senza etichetta, link vuoti, bottoni vuoti e lingua del documento assente. Nel campione WebAIM Million di febbraio 2026 coprono il 96% degli errori rilevati, e il 95,9% delle homepage ha almeno una violazione WCAG 2.
Contrasto: si misura, non si guarda
Il criterio 1.4.3 chiede un rapporto di 4,5:1 per il testo normale e 3:1 per quello grande; il 83,9% delle homepage non lo rispetta. Il fix non sta nel singolo componente: sta nei token del tema. Correggi la coppia sfondo/testo e ricalcola i contrasti una volta, invece di rincorrere i casi. La palette misurata del catalogo è in palette e contrasto misurato.
Alt, etichette, nomi accessibili
- Immagini (1.1.1): un'alt informativa descrive la funzione dell'immagine; un'immagine decorativa porta
alt=""e non viene annunciata. - Campi di form (3.3.2): ogni input ha un
<label for>o un nome accessibile; il placeholder non è un'etichetta e sparisce quando si scrive. - Bottoni con icona (4.1.2): il nome arriva dal testo visibile o da
aria-label. Un SVG dentro il bottone resta decorativo conaria-hidden="true".
Link e bottoni vuoti
Il 46,3% delle pagine ha almeno un link senza nome accessibile e il 30,6% almeno un bottone vuoto. Il caso tipico è l'icona social con dentro solo un SVG: il nome manca, il controllo resta raggiungibile da tastiera e il lettore di schermo annuncia «link». Non aggiungere aria-label se il testo visibile c'è già: crea una discrepanza tra ciò che si vede e ciò che si pronuncia.
La lingua del documento
Il 13,5% delle pagine non dichiara la lingua. Serve un attributo sull'elemento radice, <html lang="it">, e un lang diverso sui blocchi scritti in un'altra lingua. Senza, il lettore di schermo applica la fonetica sbagliata e la pagina diventa incomprensibile anche se il testo è corretto.
Come trovarli in fretta
Pa11y è open source con licenza LGPL-3.0 e applica le regole WCAG alla pagina renderizzata. Il comando sotto controlla l'intero sitemap e restituisce una riga per URL.
npx --yes pa11y-ci --sitemap https://example.com/sitemap.xml --standard WCAG2AA
Poi fai il controllo che nessuno strumento sostituisce: tab attraverso la pagina, Enter e Space sul primo controllo, e ascolta l'annuncio con VoiceOver o NVDA. Un errore di contrasto lo vede il tool, un nome che descrive la cosa sbagliata lo sente solo chi ascolta.
Il catalogo EneUI
EneUI indicizza i componenti della categoria accessibilità e i componenti di form. Un record verificato è dialog di Origin UI, licenza MIT dichiarata a monte: dipende da @radix-ui/react-dialog, quindi nome, focus e chiusura con Escape arrivano dalla primitiva. Controllo eseguito il 1 novembre 2026 sul catalogo da 111.985 componenti.
La limitazione
Un audit automatico misura ciò che è decidibile senza contesto. Non distingue un alt utile da uno inutile, non vede se il focus torna al punto giusto dopo la chiusura di un modale e non sente un annuncio sbagliato. Il conteggio di 56,1 errori per pagina è quindi un limite inferiore: la pagina conformità non arriva da nessuno strumento.
Dove continuare
Il processo completo è in come fare un audit di accessibilità; la checklist operativa per i componenti è in componenti React accessibili. Per capire quali attributi servono davvero, leggi il confronto fra primitive headless in Radix, Base UI e React Aria.
Domande frequenti
Qual è l'errore WCAG più diffuso?
Il contrasto insufficiente: compare sull'83,9% delle homepage del campione 2026. Seguono alt mancante al 53,1% ed etichette di form assenti al 51%.
Un test automatico trova tutti gli errori?
No. WAVE rileva solo le violazioni verificabili senza giudizio umano. Qualità del testo alternativo, ordine di focus e annunci corretti richiedono un test manuale.
Il 95,9% delle pagine non è conforme?
Il numero riguarda le violazioni rilevabili automaticamente, quindi la non conformità reale è almeno quella. Le pagine senza errori rilevati erano il 4,1% al massimo.
Quanti errori ha una pagina media?
56,1 errori rilevati per homepage a febbraio 2026, con un aumento del 10,1% rispetto ai 51 del 2025. La pagina media aveva 1.437 elementi.
Da dove comincio a correggere?
Dai contrasti, perché sono la voce più alta e si correggono nei token del tema. Poi alt e etichette, che sono due attributi per elemento.