EAA ComplyEAA Comply · Accessibility & compliance
Report n.EAAC-2026-0624-17AEmesso il 27 giugno 2026ESEMPIO — DATI FITTIZI

Audit completo — WCAG 2.1 e 2.2 AA · EN 301 549

Report di audit di accessibilità web

Questo report raccoglie ogni barriera di accessibilità trovata nel sito indicato qui sotto, che cosa comporta per un cliente reale e come si corregge esattamente. È scritto per essere consegnato direttamente al tuo sviluppatore.

Sito sottoposto ad audit
shop.demostore-example.com
Titolare del sito
Demo Store S.L. (esempio)
Periodo dell'audit
24–27 giugno 2026
Report emesso
27 giugno 2026
Auditor
EAA Comply · eaacompliance.com
Ambito
15 pagine percorse da tastiera su 6 template (home, categoria, prodotto, carrello, checkout, account); 41 pagine scansionate con axe-core
Testato su
Desktop 1280 px e mobile 390 px · solo tastiera · zoom 200% · percorso registrato in video

Sintesi esecutiva

shop.demostore-example.com oggi non raggiunge il livello AA. Abbiamo trovato 37 problemi distinti nei sei template dell'ambito. Sei sono critici, il che in questo report significa che un cliente che usa la tastiera o uno screen reader non riesce a superarli senza aiuto.

Tre di questi sei si trovano direttamente sul percorso di acquisto. L'avviso sui cookie non si può chiudere da tastiera, quindi chi naviga senza mouse non riesce nemmeno a entrare nel negozio. I pulsanti del carrello e di quantità vengono annunciati solo come «pulsante», così un utente di screen reader non distingue «elimina articolo» da «aggiungine un altro». E quando il checkout rifiuta un indirizzo, non viene annunciato nulla: il modulo sembra semplicemente non rispondere.

Niente di tutto ciò richiede una riprogettazione. L'elenco completo delle correzioni è di circa 11–15 ore di sviluppo, e quasi tutto è marcatura: etichette, nomi accessibili, gestione del focus e quattro valori di colore. Il design visivo non cambia.

Correggere questi 37 problemi porta l'ambito sottoposto ad audit al livello AA alla data della riverifica. Non rende il sito conforme per sempre: l'accessibilità si rompe di nuovo con il successivo aggiornamento del template o con il successivo lotto di foto di prodotto. È per questo che esiste la revisione mensile.

Sintesi dei risultati

No AA
Livello di conformità raggiunto
61/100
Punteggio di accessibilità
37
Problemi trovati
6
Problemi critici

Il punteggio è un indice proprietario di EAA Comply che pondera gravità, frequenza e il punto del processo di acquisto in cui compare ciascun problema. Serve a misurare i progressi tra un audit e l'altro. Non è una misura standard: WCAG non prevede punteggi, solo conforme o non conforme per criterio.

Problemi per gravità

GravitàNumeroChe cosa significa qui
Critico6Impedisce completamente un'attività ad almeno un gruppo di utenti. Non si riesce a concludere l'acquisto.
Grave14L'attività si può completare, ma con difficoltà, tirando a indovinare o con l'aiuto di un'altra persona.
Moderato12Notevolmente più difficile o confuso; la maggior parte ci riesce comunque.
Lieve5Non blocca nulla, ma viola un criterio ed è opportuno correggerlo.

Conformità per criterio di successo (estratto)

WCAGCriterio di successoLivelloRisultato
1.1.1Contenuto non testuale (testo alternativo)ANon conforme
1.3.1Informazioni e relazioniANon conforme
1.3.5Identificare lo scopo dell'inputAANon conforme
1.4.1Uso del coloreANon conforme
1.4.3Contrasto (minimo) 4,5:1AANon conforme
1.4.10Reflow a 320 pxAAConforme
1.4.11Contrasto non testuale (controlli)AANon conforme
2.1.1Operabilità da tastieraANon conforme
2.1.2Nessuna trappola per il focus da tastieraANon conforme
2.4.1Salto di blocchi (link di salto)ANon conforme
2.4.7Focus visibileAAConforme
2.5.8Dimensione del target (minima)AANon conforme
3.3.1Identificazione degli erroriANon conforme
3.3.2Etichette o istruzioniANon conforme
4.1.2Nome, ruolo, valoreANon conforme
4.1.3Messaggi di statoAANon conforme

Il report consegnato copre i 56 criteri di livello A e AA di WCAG 2.1 e 2.2, ciascuno con l'evidenza che sostiene il verdetto e con l'indicazione di quelli non applicabili, per i quali il sito non ha contenuti. Questo è un estratto rappresentativo.

Il piano di correzione, nell'ordine in cui lo affronteremmo

OrdineProblemaSforzo
1Critico F-01 — L'avviso sui cookie non si può chiudere da tastiera2-3 h
2Critico F-02 — I pulsanti di sola icona non hanno un nome accessibile1 h
3Critico F-03 — I campi del checkout usano il placeholder al posto dell'etichetta2 h
4Grave F-04 — Gli errori di validazione si vedono ma non vengono mai annunciati2 h
5Grave F-05 — I prezzi e i link del footer non raggiungono il contrasto minimo1 h
6Grave F-06 — Le immagini di prodotto usano il nome del file come testo alternativo3 h
7I 31 problemi restanti (moderati e lievi)5–7 h

Ordinato per impatto sul cliente diviso per sforzo, non solo per gravità. F-02 è un'ora di lavoro che sblocca dodici controlli, quindi precede elementi più lenti di pari gravità.

Rilievi in dettaglio

Qui sotto sono riprodotti sei dei 37 rilievi con il formato usato nel report completo. Tutti i problemi sono documentati così e, nel livello «Correzioni guidate», si aggiunge il codice già corretto per la tua tecnologia.

L'avviso sui cookie non si può chiudere da tastiera

F-01 Critico
WCAG: 2.1.2 · 2.4.3Livello: ARegola di axe-core: non rilevabile automaticamenteCasi: 41Sforzo: 2-3 h

Dove

Tutte le 41 pagine — l'avviso di consenso che compare alla prima visita.

Chi ne è colpito

Chiunque navighi senza mouse: utenti di sola tastiera, di screen reader, di switch e di controllo vocale.

Perché non è conforme

L'avviso è un <div> con tabindex="-1" e il controllo di accettazione è uno <span> con un gestore di clic, quindi non riceve il focus né viene annunciato come pulsante. Il livello copre la pagina, ma il tabulatore continua a percorrere il contenuto sottostante e non arriva mai al pulsante Accetta. Chi usa il mouse fa un clic e prosegue; chi usa la tastiera non può chiudere l'avviso né raggiungere il negozio. Viola il 2.1.2 Nessuna trappola per il focus da tastiera e, poiché il focus smette di seguire l'ordine visibile, il 2.4.3 Ordine di focus.

Trovato sul sito

<div class="cc-bar" tabindex="-1">
  <span class="cc-ok" onclick="acceptAll()">Accept</span>
</div>

Come si corregge

<div class="cc-bar" role="dialog" aria-modal="true"
     aria-labelledby="cc-title">
  <h2 id="cc-title">Cookies</h2>
  <button type="button" class="cc-ok">Accept</button>
  <button type="button" class="cc-no">Reject non-essential</button>
</div>

I pulsanti di sola icona non hanno un nome accessibile

F-02 Critico
WCAG: 4.1.2 · 1.1.1Livello: ARegola di axe-core: button-nameCasi: 12Sforzo: 1 h

Dove

Carrello e ricerca dell'intestazione, il controllo della lista dei desideri di ogni scheda prodotto e i selettori di quantità del carrello e della scheda prodotto — 12 controlli.

Chi ne è colpito

Utenti di screen reader e di controllo vocale, che non hanno alcun nome da pronunciare.

Perché non è conforme

Ogni pulsante contiene solo un'icona SVG, senza testo né etichetta, quindi viene annunciato come «pulsante» e nulla più. Nel carrello ce ne sono quattro di seguito: aumenta, diminuisci, salva per dopo ed elimina. Indovinare quale sia quale significa indovinare se l'ordine sta per svuotarsi.

Trovato sul sito

<button class="qty-up">
  <svg viewBox="0 0 16 16">...</svg>
</button>

Come si corregge

<button type="button" class="qty-up" aria-label="Increase quantity">
  <svg viewBox="0 0 16 16" aria-hidden="true" focusable="false">...</svg>
</button>

I campi del checkout usano il placeholder al posto dell'etichetta

F-03 Critico
WCAG: 3.3.2 · 1.3.1 · 1.3.5Livello: A / AARegola di axe-core: labelCasi: 9Sforzo: 2 h

Dove

Checkout passaggio 1 (indirizzo di spedizione) e passaggio 2 (pagamento) — 9 campi.

Chi ne è colpito

Utenti di screen reader, persone con disabilità cognitive e chiunque venga interrotto nel mezzo di un modulo lungo.

Perché non è conforme

I campi hanno il placeholder e nessuna <label>. Un placeholder non è un'etichetta: sparisce non appena il campo ha contenuto, quindi chi distoglie lo sguardo non può più vedere a che cosa serviva il campo, e per di più viene annunciato in modo incoerente tra i vari screen reader. Il grigio del placeholder (#9aa4b2 su bianco) è solo 2,52:1, molto al di sotto del minimo di 4,5:1.

Trovato sul sito

<input type="text" name="postcode" placeholder="Postcode">

Come si corregge

<label for="ship-post">Postcode</label>
<input type="text" id="ship-post" name="postcode"
       autocomplete="postal-code">

Gli errori di validazione si vedono ma non vengono mai annunciati

F-04 Grave
WCAG: 3.3.1 · 4.1.3 · 1.4.1Livello: A / AARegola di axe-core: non rilevabile automaticamenteCasi: 6Sforzo: 2 h

Dove

Checkout, iscrizione alla newsletter e modulo di contatto — 6 moduli.

Chi ne è colpito

Soprattutto utenti di screen reader, e chiunque non percepisca un cambio di colore.

Perché non è conforme

Il testo dell'errore viene scritto in un <div class="err"> senza ruolo, e il campo viene segnalato solo con un bordo rosso. Chi usa uno screen reader preme Invia, non sente nulla e non ha modo di sapere che il modulo non è stato inviato. Segnalare il campo solo con il colore viola inoltre il 1.4.1 Uso del colore.

Trovato sul sito

<div class="err"></div>
<input type="email" id="mail" class="is-error">

Come si corregge

<input type="email" id="mail" aria-invalid="true"
       aria-describedby="mail-err">
<div id="mail-err" class="err" role="alert">
  Email address: enter an address in the form name@example.com.
</div>

I prezzi e i link del footer non raggiungono il contrasto minimo

F-05 Grave
WCAG: 1.4.3Livello: AARegola di axe-core: color-contrastCasi: 23Sforzo: 1 h

Dove

Schede prodotto, il blocco prezzo della scheda, l'etichetta di sconto e i link del footer — 23 elementi.

Chi ne è colpito

Persone ipovedenti e chiunque guardi il telefono per strada.

Perché non è conforme

Il prezzo scontato è #e05c5c su bianco, un rapporto di 3,59:1, e i link del footer sono #8b95a5 su #f6f9fc, 2,86:1. Il livello AA richiede 4,5:1 per il testo di dimensione normale. Il prezzo scontato è proprio la cifra che il cliente è venuto a leggere.

Trovato sul sito

.price--sale { color: #e05c5c; }   /* 3.59:1 on white */
.site-foot a { color: #8b95a5; }   /* 2.86:1 on #f6f9fc */

Come si corregge

.price--sale { color: #c0392b; }   /* 5.44:1 on white */
.site-foot a { color: #5a6678; }   /* 5.51:1 on #f6f9fc */

Le immagini di prodotto usano il nome del file come testo alternativo

F-06 Grave
WCAG: 1.1.1Livello: ARegola di axe-core: non rilevabile automaticamenteCasi: 38Sforzo: 3 h

Dove

38 immagini di prodotto nei template di categoria e di prodotto.

Chi ne è colpito

Utenti di screen reader e chiunque non riesca a caricare le immagini.

Perché non è conforme

Il testo alternativo è il nome del file: alt="product-img-04.jpg". È il rilievo più istruttivo del report, perché axe-core lo registra come corretto: la regola verifica che esista un attributo alt e che non sia vuoto, e non lo è. Solo il confronto tra quel testo e il prodotto reale rivela che al cliente non viene detto assolutamente nulla del prodotto che sta pensando di comprare.

Trovato sul sito

<img src="/img/product-img-04.jpg" alt="product-img-04.jpg">

Come si corregge

<img src="/img/product-img-04.jpg"
     alt="Navy wool scarf, folded, showing the ribbed weave">

Informazioni sull'overlay di accessibilità installato in questo negozio

Il negozio ha installato un widget overlay. Abbiamo eseguito l'audit completo due volte, una con il widget attivo e una con il widget disattivato, e i 37 problemi sono identici in entrambi i casi: il widget non ne ha corretto nessuno. Anzi, ne ha aggiunto uno, perché il suo stesso pulsante di apertura non ha un nome accessibile ed è conteggiato in F-02. Non è una critica alla decisione di installarlo; è ciò che hanno mostrato i test.

Che cosa ha rilevato il test automatico e che cosa no

axe-core ha trovato 14 dei 37 problemi. Gli altri 23 sono emersi dal percorso da tastiera automatizzato, registrato in video. Questa proporzione è normale, ed è il motivo per cui una scansione non è un audit: le regole automatiche sono efficaci su ciò che una macchina può misurare —un attributo mancante, un rapporto di contrasto, un id duplicato— e cieche di fronte al fatto che un nome significhi qualcosa, che il focus possa uscire da una finestra di dialogo o che il messaggio di errore aiuti davvero. F-01 e F-06 sono gli esempi più chiari: uno è invisibile per lo scanner e l'altro viene registrato da quest'ultimo come corretto.

Ambito, limiti e che cosa non abbiamo testato

Che cosa succede adesso

Vedi il certificato di esempio corrispondente →

La tua dichiarazione di accessibilità (estratto della bozza)

Impegno. Demo Store S.L. si impegna a rendere accessibile shop.demostore-example.com conformemente alla Direttiva (UE) 2019/882 e alla norma armonizzata EN 301 549.

Stato di conformità. Questo sito web è parzialmente conforme alle WCAG 2.1 livello AA. «Parzialmente conforme» significa che alcune parti del contenuto non rispettano del tutto lo standard di accessibilità.

Contenuti non accessibili. L'avviso sui cookie non è utilizzabile da tastiera (WCAG 2.1.2). Diversi controlli non hanno un nome accessibile (WCAG 4.1.2). Gli errori dei moduli non vengono annunciati (WCAG 4.1.3). Risoluzione prevista: 31 luglio 2026.

Canale di contatto. Se trovi una barriera in questo sito, scrivi a accesibilidad@demostore-example.com. Rispondiamo entro 10 giorni lavorativi.

La dichiarazione consegnata è completa, datata e pronta per la pubblicazione; questo estratto mostra le parti che derivano dall'audit. Dice «parzialmente conforme» perché il giorno dell'audit era così. Viene riscritta alla riverifica.

Documento di esempio. shop.demostore-example.com, Demo Store S.L. e tutti i rilievi, le cifre e le date di questo report sono fittizi ed esistono unicamente per mostrare il formato del report che consegna EAA Comply. Non è rappresentato alcun cliente, sito o audit reale. EAA Comply è un servizio tecnico di audit indipendente, non un'autorità pubblica né un organismo di certificazione. Un report reale viene elaborato sul tuo codice in produzione e il suo contenuto sarà diverso.

© 2026 EAA Comply — ← Torna a eaacompliance.com · hello@eaacompliance.com