# The most common WCAG failures

Six failure types cause 96% of detected WCAG errors on one million home pages: contrast, alt text, labels, empty links and buttons, and lang.

> Page: https://ui.eneawork.it/blog/errori-comuni-wcag
> Markdown: https://ui.eneawork.it/blog/errori-comuni-wcag.md

*2026-11-01*

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.

Il rapporto WebAIM Million 2026 ha analizzato 1.000.000 di homepage del ranking Tranco con la WAVE stand-alone API sul DOM renderizzato, a febbraio 2026: 56,1 errori per pagina e 95,9% delle pagine con almeno una violazione WCAG 2 rilevata. Per tipo: contrasto 83,9%, alt mancante 53,1%, etichette di form assenti 51%, link vuoti 46,3%, bottoni vuoti 30,6%, lingua assente 13,5%. Fonte webaim.org/projects/million, aggiornata il 30 marzo 2026. Il catalogo EneUI conta 111.985 componenti, 1.556 blocchi e 12.808 icone da 1.472 librerie, letti da /api/stats il 1 novembre 2026.

## 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

## 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.

## FAQ

### 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.
