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à
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à | Numero | Che cosa significa qui |
|---|
| Critico | 6 | Impedisce completamente un'attività ad almeno un gruppo di utenti. Non si riesce a concludere l'acquisto. |
| Grave | 14 | L'attività si può completare, ma con difficoltà, tirando a indovinare o con l'aiuto di un'altra persona. |
| Moderato | 12 | Notevolmente più difficile o confuso; la maggior parte ci riesce comunque. |
| Lieve | 5 | Non blocca nulla, ma viola un criterio ed è opportuno correggerlo. |
Conformità per criterio di successo (estratto)
| WCAG | Criterio di successo | Livello | Risultato |
|---|
| 1.1.1 | Contenuto non testuale (testo alternativo) | A | Non conforme |
| 1.3.1 | Informazioni e relazioni | A | Non conforme |
| 1.3.5 | Identificare lo scopo dell'input | AA | Non conforme |
| 1.4.1 | Uso del colore | A | Non conforme |
| 1.4.3 | Contrasto (minimo) 4,5:1 | AA | Non conforme |
| 1.4.10 | Reflow a 320 px | AA | Conforme |
| 1.4.11 | Contrasto non testuale (controlli) | AA | Non conforme |
| 2.1.1 | Operabilità da tastiera | A | Non conforme |
| 2.1.2 | Nessuna trappola per il focus da tastiera | A | Non conforme |
| 2.4.1 | Salto di blocchi (link di salto) | A | Non conforme |
| 2.4.7 | Focus visibile | AA | Conforme |
| 2.5.8 | Dimensione del target (minima) | AA | Non conforme |
| 3.3.1 | Identificazione degli errori | A | Non conforme |
| 3.3.2 | Etichette o istruzioni | A | Non conforme |
| 4.1.2 | Nome, ruolo, valore | A | Non conforme |
| 4.1.3 | Messaggi di stato | AA | Non 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
| Ordine | Problema | Sforzo |
|---|
| 1 | Critico F-01 — L'avviso sui cookie non si può chiudere da tastiera | 2-3 h |
| 2 | Critico F-02 — I pulsanti di sola icona non hanno un nome accessibile | 1 h |
| 3 | Critico F-03 — I campi del checkout usano il placeholder al posto dell'etichetta | 2 h |
| 4 | Grave F-04 — Gli errori di validazione si vedono ma non vengono mai annunciati | 2 h |
| 5 | Grave F-05 — I prezzi e i link del footer non raggiungono il contrasto minimo | 1 h |
| 6 | Grave F-06 — Le immagini di prodotto usano il nome del file come testo alternativo | 3 h |
| 7 | I 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 CriticoWCAG: 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 CriticoWCAG: 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 CriticoWCAG: 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 GraveWCAG: 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 GraveWCAG: 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 GraveWCAG: 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
- •Il passaggio di pagamento è un iframe ospitato dal fornitore di pagamenti del negozio. Abbiamo verificato che il focus vi entra ed esce correttamente; la sua marcatura interna è del fornitore e il negozio non può modificarla.
- •Le fatture in PDF e i due video di marketing restano fuori dall'ambito di questo report. Entrambi rientrano nel campo di applicazione dell'EAA e possono essere preventivati a parte.
- •I rilievi descrivono il sito così com'era tra il 24 e il 27 giugno 2026. Aggiornamenti del template, nuovi plugin e nuovi contenuti possono reintrodurre problemi dopo tale data.
- •Questa è una valutazione tecnica, non consulenza legale. EAA Comply è un servizio di audit indipendente, non un'autorità pubblica né un organismo di certificazione.
Che cosa succede adesso
- →Il tuo sviluppatore procede lungo il piano di correzione. È tutto marcatura, CSS e gestione del focus; niente di tutto ciò richiede una riprogettazione.
- →Ci avvisi quando è fatto e ritestiamo lo stesso ambito. La riverifica è inclusa.
- →Quando l'ambito supera la verifica, i piani a pagamento emettono il certificato tecnico di conformità. Per questo negozio fittizio è il certificato di esempio EAAC-2026-0428-17A, che è l'altra metà di questo esempio.
- →La tua dichiarazione di accessibilità viene redatta a partire da questi rilievi e si aggiorna a ogni riverifica. Qui sotto trovi un estratto della bozza.
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.