Report Accessibilità di esempio. Harbor & Pine è un negozio fittizio che abbiamo creato con difetti di accessibilità comuni e poi testato con lo stesso motore che analizza il tuo sito web.
Analizza il tuo sito gratisReport Accessibilità di esempio
harborandpine.example
- Piattaforma:
- Shopify
- Generato il:
- 24 set 2026
- Pagine testate:
- 9
- Motore:
- axe-core 4.13.0
Riepilogo
- Abbiamo testato 9 pagine di harborandpine.example (4 dalla tua sitemap) il 24 set 2026 con axe-core 4.13.0 secondo le WCAG 2.2 A e AA, più un test di acquisto solo da tastiera.
- Test WCAG automatici non superati: 8 tipi di problema (131 occorrenze). 8 sono contrassegnati come Da correggere subito.
- Percorso bloccatoUn cliente che usa solo la tastiera resta bloccato qui: Scegliere opzioni e quantità.
- Verifica umana necessaria per 4 elementi: i test automatici li hanno segnalati ma non hanno potuto decidere.
- Inizia da: Il focus della tastiera resta intrappolato nel banner dei cookie; Le opzioni del prodotto non si possono scegliere con la tastiera; I pulsanti devono avere un testo distinguibile.
I test automatici trovano una parte dei problemi di accessibilità di un sito, non tutti. Questo report descrive ciò che i nostri test hanno trovato e come correggerlo. Non costituisce consulenza legale e non certifica la conformità all’ADA, all’European Accessibility Act o a qualsiasi legge.
Panoramica
- P1 · Da correggere subitoBlocca i visitatori nelle pagine chiave
- 8
- P2 · Da correggere dopoBarriere gravi o moderate
- 0
- P3 · Da migliorareProblemi lievi e buone pratiche
- 2
Occorrenze per gravità
- Critico
- 73
- Grave
- 58
- Moderato
- 25
- Lieve
- 0
- Errori verificatiTipi di problema che non hanno superato un test automatico
- 10
- Da verificareSegnalati, ma serve una persona per decidere
- 4
- Controlli superatiRegole automatiche senza errori
- 32
- Non testatoPassaggi del percorso e verifiche manuali
- 7
Abbiamo testato 9 pagine, di cui 4 scelte a campione dalla tua sitemap. Le date obiettivo sono suggerimenti basati sulla gravità; concorda le date definitive con il tuo sviluppatore.
Panoramica del sito web
Rilevato dalle prove pubbliche presenti nelle pagine testate. Un’etichetta può essere sbagliata; serve solo a decidere quali controlli aggiuntivi eseguire.
Tipo di sito web
- Negozio onlineAffidabilità alta
- Realizzato con Shopify, una piattaforma per negozi online
- Link a un carrello
- Link a prodotti o al negozio
- Landing pageAffidabilità media
- Solo 6 pagine interne collegate
Tecnologie rilevate
- ShopifyAffidabilità alta
Risorse o script Shopify nella pagina
Controlli per questo sito
- Controlli universali: accessibilità, SEO, velocità, sicurezza ed email
- Modulo e-commerce: pagine di collezione, prodotto e carrello, e un percorso d’acquisto da tastiera fino al pulsante del checkout
- Note per Shopify: passaggi di correzione per il tema e l’admin; header e cookie gestiti dalla piattaforma mostrati a titolo informativo
Percorso d’acquisto da tastiera
Abbiamo provato a fare acquisti usando solo la tastiera (Tab, Maiusc+Tab, Invio, Spazio, Esc), come fanno le persone che non possono usare un mouse. Aggiungiamo un articolo al carrello in una sessione usa e getta e ci fermiamo al pulsante del checkout: non entriamo mai nel checkout e non digitiamo dati personali o di pagamento. Obiettivo: Arrivare dalla home page al pulsante del checkout usando solo la tastiera.
01Raggiungere la navigazione principale
SuperatoIl focus ha raggiunto «Shop» nella navigazione dopo 21 pressioni di Tab.
Atteso: Premendo Tab dall’inizio della home page si raggiungono i link della navigazione principale.
- Nota: Un banner dei cookie ha trattenuto il focus della tastiera finché non abbiamo premuto Invio su «Accept all».
Come riprodurlo
https://harborandpine.example/
- Apri la home page.
- Fai clic sulla barra degli indirizzi del browser, poi premi Tab più volte (Maiusc+Tab torna indietro).
Ordine del focus che abbiamo osservato
«Shop»
02Aprire un prodotto da una collezione
SuperatoIl focus ha raggiunto «Trail Daypack 22L» dopo 9 pressioni di Tab, e Invio ha aperto /products/trail-daypack.
Atteso: Tab raggiunge un prodotto nella griglia della collezione, e Invio ne apre la pagina.
Come riprodurlo
https://harborandpine.example/collections/all
- Apri /collections/all.
- Premi Tab finché un prodotto della griglia non viene evidenziato, poi premi Invio.
Ordine del focus che abbiamo osservato
«Harbor & Pine» → «Shop» → «New arrivals» → «Our story» → body > header.site > div.icons > button → «Account» → body > header.site > div.icons > a → «FeaturedPrice, low to highPrice, high to low» → «Trail Daypack 22L»
03Scegliere opzioni e quantità
Non superato3 opzioni del prodotto non possono ricevere il focus della tastiera: «S», «M», «L». Rispondono al mouse, ma chi usa la tastiera non può sceglierle.
Atteso: Ogni opzione del prodotto (taglia, colore, variante) e il campo della quantità sono raggiungibili con Tab.
2.1.1 Keyboard · Affidabilità: alta

Scegliere opzioni e quantità: l’elemento non conforme, evidenziato Come riprodurlo
https://harborandpine.example/products/trail-daypack
- Apri /products/trail-daypack.
- Premi Tab dall’inizio della pagina e annota quali controlli ricevono il focus prima di Aggiungi al carrello.
Ordine del focus che abbiamo osservato
«Harbor & Pine» → «Shop» → «New arrivals» → «Our story» → … altri 5 … → body > header.site > div.icons > a → div.page.product > div.gallery > div.thumbs > button → div.page.product > div.gallery > div.thumbs > button → div.page.product > div.gallery > div.thumbs > button → div.page.product > div > div.swatches > button → div.page.product > div > div.swatches > button → div.page.product > div > div.swatches > button → «1» → «Add to cart»
Elemento <div class="size-option" data-fr="opt-1">S</div>04Aggiungere al carrello con la tastiera
Da verificareInvio su Aggiungi al carrello ha funzionato (il contatore del carrello nell’header è cambiato, è comparso un messaggio «aggiunto al carrello»), ma non abbiamo trovato alcun messaggio di stato né una finestra di dialogo con il focus, quindi gli utenti di screen reader potrebbero non sapere che l’articolo è stato aggiunto.
Atteso: Invio su Aggiungi al carrello aggiunge l’articolo e la conferma viene annunciata: un messaggio di stato, una finestra di dialogo che riceve il focus, o la pagina del carrello.
4.1.3 Status Messages · Affidabilità: media

Aggiungere al carrello con la tastiera: la pagina in questo passaggio Come riprodurlo
https://harborandpine.example/products/trail-daypack
- Apri /products/trail-daypack.
- Premi Tab finché Aggiungi al carrello non riceve il focus, poi premi Invio.
- Ascolta con uno screen reader (VoiceOver: Cmd+F5) se viene annunciata una conferma.
05Modificare il carrello e raggiungere il checkout
SuperatoRaggiunti tutti i 4 controlli del carrello e il pulsante del checkout («Check out») con 12 pressioni di Tab. Non lo abbiamo premuto.
Atteso: Campi della quantità, pulsanti di rimozione e pulsante del checkout sono tutti raggiungibili con Tab.
Come riprodurlo
https://harborandpine.example/cart
- Aggiungi un prodotto qualsiasi al carrello e apri la pagina del carrello.
- Premi Tab e verifica che campi della quantità, pulsanti di rimozione e pulsante del checkout ricevano tutti il focus.
Ordine del focus che abbiamo osservato
«Harbor & Pine» → «Shop» → «New arrivals» → «Our story» → body > header.site > div.icons > button → «Account» → body > header.site > div.icons > a → «1» → tbody > tr > td > button.remove → «2» → tbody > tr > td > button.remove → «Check out»
06Checkout
Non testatoCi fermiamo al pulsante del checkout: non entriamo mai nel checkout, non creiamo ordini e non digitiamo dati di pagamento. Su Shopify le pagine del checkout sono gestite da Shopify, non dal tuo tema. Verifica il checkout a mano (vedi Verifiche manuali).
Mappa delle contestazioni della lettera
Ogni contestazione della lettera, confrontata con le prove della scansione. Un confronto dei fatti, non una consulenza legale.
- Riprodotto
“Images lack alternative text, so product photos are not described.”
Immagini senza alternativa testuale. 10 occorrenze in 3 delle 5 pagine testate.
image-alt
- Riprodotto
“Text has insufficient color contrast against its background, including sale badges and prices.”
Contrasto dei colori insufficiente. 16 occorrenze in 5 delle 5 pagine testate.
color-contrast
- Riprodotto
“The website cannot be navigated using a keyboard alone.”
Accesso da tastiera e focus. Il focus della tastiera resta bloccato nel banner dei cookie.
- Riprodotto
“Form fields do not have labels, including the newsletter sign-up and the quantity fields in the cart.”
Campi dei moduli senza etichetta. 4 occorrenze in 3 delle 5 pagine testate.
select-name, label
- Verifica manuale
“Product videos do not have captions.”
Sottotitoli di video e audio. Le scansioni automatiche non possono valutare i sottotitoli. Controlla che ogni video di prodotto o del brand abbia sottotitoli accurati e una trascrizione.
- Verifica manuale
“Our client is legally blind and uses screen reader software.”
Altri problemi. Questa è un’affermazione generica. Testa i flussi chiave (ricerca, pagina prodotto, aggiunta al carrello, checkout) con uno screen reader come VoiceOver o NVDA.
Piano di correzione
| Priorità | Problema | Stato | WCAG | Occorrenze | Responsabile | Data obiettivo |
|---|---|---|---|---|---|---|
| P1 | Il focus della tastiera resta intrappolato nel banner dei cookie | Verificato | 2.1.2 | 1 | fornitore dell’app | 2026-10-08 |
| P1 | Le opzioni del prodotto non si possono scegliere con la tastiera | Verificato | 2.1.1 | 1 | sviluppatore del tema | 2026-10-08 |
| P1 | I pulsanti devono avere un testo distinguibile | Verificato | 4.1.2 | 41 | sviluppatore del tema | 2026-10-08 |
| P1 | Le immagini devono avere un testo alternativo | Verificato | 1.1.1 | 22 | redattore dei contenuti | 2026-10-08 |
| P1 | Gli elementi del modulo devono avere etichette | Verificato | 4.1.2 | 7 | sviluppatore del tema | 2026-10-08 |
| P1 | L'elemento select deve avere un nome accessibile | Verificato | 4.1.2 | 1 | sviluppatore del tema | 2026-10-08 |
| P1 | I collegamenti devono avere un testo distinguibile | Verificato | 2.4.4, 4.1.2 | 36 | sviluppatore del tema | 2026-10-08 |
| P1 | Gli elementi devono soddisfare le soglie minime del rapporto di contrasto di colore | Verificato | 1.4.3 | 22 | titolare del negozio (impostazioni admin) | 2026-10-08 |
| P3 | Tutti i contenuti della pagina dovrebbero essere contenuti nei landmark | Verificato | Buona pratica | 18 | sviluppatore del tema | 2026-11-23 |
| P3 | I livelli delle intestazioni possono aumentare solo di uno | Verificato | Buona pratica | 7 | sviluppatore del tema | 2026-11-23 |
Come correggere ogni problema
Il focus della tastiera resta intrappolato nel banner dei cookie
impegno: moderato · responsabile: fornitore dell’app · 2.1.2 No Keyboard Trap
Quando chi usa la tastiera preme Tab, il focus gira tra pochi elementi e non raggiunge mai il resto della pagina.
Se il focus resta intrappolato, chi usa solo la tastiera o uno screen reader non può fare acquisti (WCAG 2.1.2 No Keyboard Trap).
Prove
- Rilevato da
- Test da tastiera (Tab attraverso la home page)
- Stato · affidabilità
- Errore verificato · alta
- Rilevato il
- 24 set 2026 (UTC)
- Dove
- 1 occorrenza in 1 pagina
Atteso: Premendo Tab il focus attraversa ogni elemento interattivo della pagina e prosegue nel resto della pagina.
Osservato: Dopo 40 pressioni di Tab, il focus continuava a girare tra: Settings, Accept all.
Come riprodurlo
- Apri la home page.
- Fai clic sulla barra degli indirizzi, poi premi Tab più volte.
- Il focus continua a tornare sugli stessi pochi elementi.
Elementi non conformi (mostrati: 6)
SettingsAccept allSettingsAccept allSettingsAccept allPagine interessate (1)
- https://harborandpine.example/
Come correggerlo
Indicazioni generali- Cerca nelle impostazioni dell’app del banner dei cookie o del consenso un’opzione per l’accessibilità o per la trappola del focus, oppure chiedi al fornitore di correggerlo.
- Una finestra modale può trattenere il focus solo mentre è aperta, e deve chiudersi con il tasto Esc e riportare il focus al punto di partenza.
Correggi con l’IAMostra il prompt
Incollalo in ChatGPT, Claude, Cursor o Copilot insieme al file del tuo tema. Controlla la modifica prima di pubblicarla.
Gestisco un negozio Shopify (tema Online Store 2.0, template Liquid) all’indirizzo harborandpine.example. Un test di accessibilità ha trovato questo problema e voglio correggerlo nel mio tema. Problema: Il focus della tastiera resta intrappolato nel banner dei cookie (WCAG 2.1.2). Dove: 1 occorrenza in 1 pagina, ad esempio /. Un elemento non conforme, così come l’ha reso il browser: ```html Settings ``` Perché è importante: Se il focus resta intrappolato, chi usa solo la tastiera o uno screen reader non può fare acquisti (WCAG 2.1.2 No Keyboard Trap). Cosa va modificato: - Cerca nelle impostazioni dell’app del banner dei cookie o del consenso un’opzione per l’accessibilità o per la trappola del focus, oppure chiedi al fornitore di correggerlo. - Una finestra modale può trattenere il focus solo mentre è aperta, e deve chiudersi con il tasto Esc e riportare il focus al punto di partenza. Regole per la tua risposta: - Mostra la modifica esatta come prima e dopo, e indica il file o l’impostazione in cui va inserita. Se prima hai bisogno di vedere il mio file, chiedimi di incollarlo. - Mantieni invariati il design visivo e tutto il comportamento esistente. - Non inventare nomi di prodotti, prezzi o testi; usa dei segnaposto che posso compilare io. - Concludi spiegando come posso verificare personalmente la correzione. - Spiega anche come verificarla con la tastiera e uno screen reader.
Verifica la correzione
- Carica la home page, premi Tab più volte e verifica che il focus raggiunga la navigazione principale e il contenuto.
Rilevato da un test automatico da tastiera; verificalo a mano.
Le opzioni del prodotto non si possono scegliere con la tastiera
impegno: moderato · responsabile: sviluppatore del tema · 2.1.1 Keyboard
Le opzioni di taglia, colore o variante rispondono al mouse ma non possono ricevere il focus della tastiera, quindi chi usa la tastiera non può scegliere una variante.
I clienti che usano solo la tastiera, compresi molti utenti di screen reader, non riescono a superare questo passaggio (WCAG 2.1.1).
Prove
- Rilevato da
- Percorso da tastiera
- Stato · affidabilità
- Errore verificato · alta
- Rilevato il
- 24 set 2026 (UTC)
- Dove
- 1 occorrenza in 1 pagina
Atteso: Ogni opzione del prodotto (taglia, colore, variante) e il campo della quantità sono raggiungibili con Tab.
Osservato: 3 opzioni del prodotto non possono ricevere il focus della tastiera: «S», «M», «L». Rispondono al mouse, ma chi usa la tastiera non può sceglierle.

Come riprodurlo
- Apri /products/trail-daypack.
- Premi Tab dall’inizio della pagina e annota quali controlli ricevono il focus prima di Aggiungi al carrello.
Elementi non conformi (mostrati: 1)
<div class="size-option" data-fr="opt-1">S</div>Pagine interessate (1)
- https://harborandpine.example/products/trail-daypack
Come correggerlo
Indicazioni generali- Costruisci i selettori delle opzioni con radio button nativi (o un <select>) con etichette visibili; dai all’etichetta lo stile del campione.
- Se mantieni elementi personalizzati, ogni opzione ha bisogno di tabindex="0", role="radio" con aria-checked all’interno di un role="radiogroup", e della gestione dei tasti freccia e della barra spaziatrice. I radio button nativi ti offrono tutto questo senza sforzo.
Codice
Esempi di implementazione per il tuo sviluppatore. Non abbiamo il codice sorgente del tuo tema, quindi le posizioni dei file sono suggerimenti, non percorsi esatti.
<div class="size-option" data-fr="opt-1">S</div><fieldset class="variant-picker">
<legend>Size</legend>
<input type="radio" id="size-s" name="Size" value="S" class="visually-hidden">
<label for="size-s" class="size-option">S</label>
<input type="radio" id="size-m" name="Size" value="M" class="visually-hidden">
<label for="size-m" class="size-option">M</label>
</fieldset>Ogni opzione è un vero radio button, raggiungibile con Tab e modificabile con i tasti freccia; l’etichetta mantiene lo stile del tuo campione. Usa i nomi e i valori delle tue opzioni.
Correggi con l’IAMostra il prompt
Incollalo in ChatGPT, Claude, Cursor o Copilot insieme al file del tuo tema. Controlla la modifica prima di pubblicarla.
Gestisco un negozio Shopify (tema Online Store 2.0, template Liquid) all’indirizzo harborandpine.example. Un test di accessibilità ha trovato questo problema e voglio correggerlo nel mio tema. Problema: Le opzioni del prodotto non si possono scegliere con la tastiera (WCAG 2.1.1). Dove: 1 occorrenza in 1 pagina, ad esempio /products/trail-daypack. Un elemento non conforme, così come l’ha reso il browser: ```html <div class="size-option" data-fr="opt-1">S</div> ``` Perché è importante: I clienti che usano solo la tastiera, compresi molti utenti di screen reader, non riescono a superare questo passaggio (WCAG 2.1.1). Cosa va modificato: - Costruisci i selettori delle opzioni con radio button nativi (o un <select>) con etichette visibili; dai all’etichetta lo stile del campione. - Se mantieni elementi personalizzati, ogni opzione ha bisogno di tabindex="0", role="radio" con aria-checked all’interno di un role="radiogroup", e della gestione dei tasti freccia e della barra spaziatrice. I radio button nativi ti offrono tutto questo senza sforzo. Una modifica suggerita (Il modulo prodotto del tuo tema (selettore delle varianti)): ```html <fieldset class="variant-picker"> <legend>Size</legend> <input type="radio" id="size-s" name="Size" value="S" class="visually-hidden"> <label for="size-s" class="size-option">S</label> <input type="radio" id="size-m" name="Size" value="M" class="visually-hidden"> <label for="size-m" class="size-option">M</label> </fieldset> ``` Regole per la tua risposta: - Mostra la modifica esatta come prima e dopo, e indica il file o l’impostazione in cui va inserita. Se prima hai bisogno di vedere il mio file, chiedimi di incollarlo. - Mantieni invariati il design visivo e tutto il comportamento esistente. - Non inventare nomi di prodotti, prezzi o testi; usa dei segnaposto che posso compilare io. - Concludi spiegando come posso verificare personalmente la correzione. - Spiega anche come verificarla con la tastiera e uno screen reader.
Verifica la correzione
- Ripeti i passaggi per riprodurlo usando solo la tastiera.
- Richiedi un nuovo test da questo report: il percorso viene eseguito di nuovo.
Le immagini devono avere un testo alternativo
impegno: moderato · responsabile: redattore dei contenuti · 1.1.1 Non-text Content
Alle immagini manca un’alternativa testuale, quindi chi usa uno screen reader non sa cosa mostrano.
Il criterio WCAG 1.1.1 richiede un’alternativa testuale per le immagini significative. Senza di essa, chi usa uno screen reader non può capire quale prodotto mostra una foto.
Prove
- Rilevato da
- Regola automatica di axe-core
- Stato · affidabilità
- Errore verificato · alta
- Rilevato il
- 24 set 2026 (UTC)
- Dove
- 22 occorrenze in 7 pagine
Atteso: Le immagini devono avere un testo alternativo
Osservato: L'elemento non ha un attributo alt. L'attributo aria-label non esiste o è vuoto. L'attributo aria-labelledby non esiste, fa riferimento ad elementi che non esistono o fa riferimento ad elementi che sono vuoti. L'elemento non ha un attributo title. La semantica predefinita dell'elemento non è stata sostituita da role="none" o role="presentation".


Come riprodurlo
- Apri https://harborandpine.example/ in Chrome o Edge.
- Apri DevTools (F12) › Elements, premi Ctrl+F (Cmd+F su Mac) e cerca: img[src$="hero-photo.jpg"]
- Nel riquadro Accessibility di DevTools, il Name calcolato dell’elemento è vuoto.
- Oppure esegui sulla pagina l’estensione gratuita per browser axe DevTools: lo segnala come «image-alt».
Elementi non conformi (mostrati: 4)
<img src="/img/hero-photo.jpg" loading="lazy"><img src="/img/mug.svg"><img src="/img/beanie.svg"><img src="/img/jacket.svg">Pagine interessate (7)
- https://harborandpine.example/
- https://harborandpine.example/collections/all
- https://harborandpine.example/products/trail-daypack
- https://harborandpine.example/products/pine-wool-beanie
- https://harborandpine.example/products/enamel-camp-mug
- https://harborandpine.example/products/harbor-lantern
- https://harborandpine.example/products/insulated-bottle
Come correggerlo
Codice costruito dal markup della tua pagina- Nell’admin di Shopify apri Prodotti > [prodotto] > Contenuti multimediali, fai clic su ogni immagine e compila «Testo alternativo». Per le immagini delle sezioni, apri Negozio online > Temi > Personalizza e imposta il testo alternativo dell’immagine nelle impostazioni della sezione.
- Descrivi ciò che conta per un cliente: nome del prodotto, colore e angolazione mostrata (ad esempio «Borsa tote in tela verde oliva, vista frontale»).
- Le immagini decorative devono avere un attributo alt vuoto (alt=""), così gli screen reader le saltano.
Codice
Esempi di implementazione per il tuo sviluppatore. Non abbiamo il codice sorgente del tuo tema, quindi le posizioni dei file sono suggerimenti, non percorsi esatti.
<img src="/img/hero-photo.jpg" loading="lazy"><img src="/img/hero-photo.jpg" loading="lazy" alt="[Describe the image for a shopper]">Descrivi cosa mostra l’immagine (per una foto di prodotto: prodotto, colore, angolazione). Se l’immagine è puramente decorativa, usa invece alt="", così gli screen reader la saltano.
<img src="/img/mug.svg"><img src="/img/mug.svg" alt="[Describe the image for a shopper]">Descrivi cosa mostra l’immagine (per una foto di prodotto: prodotto, colore, angolazione). Se l’immagine è puramente decorativa, usa invece alt="", così gli screen reader la saltano.
<img src="/img/beanie.svg"><img src="/img/beanie.svg" alt="[Describe the image for a shopper]">Descrivi cosa mostra l’immagine (per una foto di prodotto: prodotto, colore, angolazione). Se l’immagine è puramente decorativa, usa invece alt="", così gli screen reader la saltano.
<img src="/img/jacket.svg"><img src="/img/jacket.svg" alt="[Describe the image for a shopper]">Descrivi cosa mostra l’immagine (per una foto di prodotto: prodotto, colore, angolazione). Se l’immagine è puramente decorativa, usa invece alt="", così gli screen reader la saltano.
Correggi con l’IAMostra il prompt
Incollalo in ChatGPT, Claude, Cursor o Copilot insieme al file del tuo tema. Controlla la modifica prima di pubblicarla.
Gestisco un negozio Shopify (tema Online Store 2.0, template Liquid) all’indirizzo harborandpine.example. Un test di accessibilità ha trovato questo problema e voglio correggerlo nel mio tema. Problema: Le immagini devono avere un testo alternativo (WCAG 1.1.1). Dove: 22 occorrenze in 7 pagine, ad esempio /, /collections/all, /products/trail-daypack, /products/pine-wool-beanie. Un elemento non conforme, così come l’ha reso il browser: ```html <img src="/img/hero-photo.jpg" loading="lazy"> ``` Perché è importante: Il criterio WCAG 1.1.1 richiede un’alternativa testuale per le immagini significative. Senza di essa, chi usa uno screen reader non può capire quale prodotto mostra una foto. Cosa va modificato: - Nell’admin di Shopify apri Prodotti > [prodotto] > Contenuti multimediali, fai clic su ogni immagine e compila «Testo alternativo». Per le immagini delle sezioni, apri Negozio online > Temi > Personalizza e imposta il testo alternativo dell’immagine nelle impostazioni della sezione. - Descrivi ciò che conta per un cliente: nome del prodotto, colore e angolazione mostrata (ad esempio «Borsa tote in tela verde oliva, vista frontale»). - Le immagini decorative devono avere un attributo alt vuoto (alt=""), così gli screen reader le saltano. Una modifica suggerita (Foto dei prodotti: admin di Shopify › Prodotti › Contenuti multimediali › Testo alternativo. Altre immagini: il codice del tuo tema): ```html <img src="/img/hero-photo.jpg" loading="lazy" alt="[Describe the image for a shopper]"> ``` Regole per la tua risposta: - Mostra la modifica esatta come prima e dopo, e indica il file o l’impostazione in cui va inserita. Se prima hai bisogno di vedere il mio file, chiedimi di incollarlo. - Mantieni invariati il design visivo e tutto il comportamento esistente. - Non inventare nomi di prodotti, prezzi o testi; usa dei segnaposto che posso compilare io. - Concludi spiegando come posso verificare personalmente la correzione. - Spiega anche come verificarla con la tastiera e uno screen reader.
Verifica la correzione
- Esegui di nuovo la scansione delle pagine interessate.
- Usa uno screen reader (VoiceOver: Cmd+F5 su Mac) per ascoltare come vengono annunciate le immagini dei prodotti.
Guida dettagliata: https://dequeuniversity.com/rules/axe/4.13/image-alt?application=playwright
Gli elementi del modulo devono avere etichette
impegno: rapido · responsabile: sviluppatore del tema · 4.1.2 Name, Role, Value
Alcuni campi dei moduli non hanno un’etichetta, quindi chi usa uno screen reader non sa cosa inserire.
I criteri WCAG 1.3.1, 3.3.2 e 4.1.2 richiedono che i campi dei moduli abbiano un’etichetta. Le iscrizioni alla newsletter e i campi di ricerca sono i colpevoli più frequenti.
Prove
- Rilevato da
- Regola automatica di axe-core
- Stato · affidabilità
- Errore verificato · alta
- Rilevato il
- 24 set 2026 (UTC)
- Dove
- 7 occorrenze in 6 pagine
Atteso: Gli elementi del modulo devono avere etichette
Osservato: L'elemento del modulo non ha un'etichetta implicita (racchiusa) <label>. L'elemento del modulo non ha un'etichetta esplicita <label>. L'attributo aria-label non esiste o è vuoto. L'attributo aria-labelledby non esiste, fa riferimento ad elementi che non esistono o fa riferimento ad elementi che sono vuoti. L'elemento non ha un attributo title. L'elemento non ha un attributo placeholder. La semantica predefinita dell'elemento non è stata sostituita da role="none" o role="presentation".


Come riprodurlo
- Apri https://harborandpine.example/products/trail-daypack in Chrome o Edge.
- Apri DevTools (F12) › Elements, premi Ctrl+F (Cmd+F su Mac) e cerca: input
- Nel riquadro Accessibility di DevTools, il Name calcolato dell’elemento è vuoto.
- Oppure esegui sulla pagina l’estensione gratuita per browser axe DevTools: lo segnala come «label».
Elementi non conformi (mostrati: 2)
<input type="number" value="1" min="1"><input type="number" value="2" min="1">Pagine interessate (6)
- https://harborandpine.example/products/trail-daypack
- https://harborandpine.example/cart
- https://harborandpine.example/products/pine-wool-beanie
- https://harborandpine.example/products/enamel-camp-mug
- https://harborandpine.example/products/harbor-lantern
- https://harborandpine.example/products/insulated-bottle
Come correggerlo
Codice costruito dal markup della tua pagina- Dai a ogni campo un elemento <label for="field-id">, o almeno un aria-label.
- Il solo testo segnaposto non vale come etichetta.
Codice
Esempi di implementazione per il tuo sviluppatore. Non abbiamo il codice sorgente del tuo tema, quindi le posizioni dei file sono suggerimenti, non percorsi esatti.
<input type="number" value="1" min="1"><input type="number" value="1" min="1" aria-label="Quantity">Il campo non ha un id, quindi la correzione più rapida è un aria-label. Un <label> visibile è meglio per tutti. Il testo dell’etichetta «Quantity» è dedotto dal campo; modificalo se serve.
<input type="number" value="2" min="1"><input type="number" value="2" min="1" aria-label="Quantity">Il campo non ha un id, quindi la correzione più rapida è un aria-label. Un <label> visibile è meglio per tutti. Il testo dell’etichetta «Quantity» è dedotto dal campo; modificalo se serve.
Correggi con l’IAMostra il prompt
Incollalo in ChatGPT, Claude, Cursor o Copilot insieme al file del tuo tema. Controlla la modifica prima di pubblicarla.
Gestisco un negozio Shopify (tema Online Store 2.0, template Liquid) all’indirizzo harborandpine.example. Un test di accessibilità ha trovato questo problema e voglio correggerlo nel mio tema. Problema: Gli elementi del modulo devono avere etichette (WCAG 4.1.2). Dove: 7 occorrenze in 6 pagine, ad esempio /products/trail-daypack, /cart, /products/pine-wool-beanie, /products/enamel-camp-mug. Un elemento non conforme, così come l’ha reso il browser: ```html <input type="number" value="1" min="1"> ``` Perché è importante: I criteri WCAG 1.3.1, 3.3.2 e 4.1.2 richiedono che i campi dei moduli abbiano un’etichetta. Le iscrizioni alla newsletter e i campi di ricerca sono i colpevoli più frequenti. Cosa va modificato: - Dai a ogni campo un elemento <label for="field-id">, o almeno un aria-label. - Il solo testo segnaposto non vale come etichetta. Una modifica suggerita (Il codice del tuo tema (cercaci il markup mostrato)): ```html <input type="number" value="1" min="1" aria-label="Quantity"> ``` Regole per la tua risposta: - Mostra la modifica esatta come prima e dopo, e indica il file o l’impostazione in cui va inserita. Se prima hai bisogno di vedere il mio file, chiedimi di incollarlo. - Mantieni invariati il design visivo e tutto il comportamento esistente. - Non inventare nomi di prodotti, prezzi o testi; usa dei segnaposto che posso compilare io. - Concludi spiegando come posso verificare personalmente la correzione. - Spiega anche come verificarla con la tastiera e uno screen reader.
Verifica la correzione
- Esegui di nuovo la scansione e verifica che la regola label non fallisca più.
- Fai clic su ogni etichetta e verifica che porti il focus sul suo campo.
Guida dettagliata: https://dequeuniversity.com/rules/axe/4.13/label?application=playwright
L'elemento select deve avere un nome accessibile
impegno: rapido · responsabile: sviluppatore del tema · 4.1.2 Name, Role, Value
Un menu a discesa (spesso un selettore di ordinamento o di variante) non ha un’etichetta.
Il criterio WCAG 4.1.2 richiede che i menu select abbiano un nome accessibile.
Prove
- Rilevato da
- Regola automatica di axe-core
- Stato · affidabilità
- Errore verificato · alta
- Rilevato il
- 24 set 2026 (UTC)
- Dove
- 1 occorrenza in 1 pagina
Atteso: L'elemento select deve avere un nome accessibile
Osservato: L'elemento del modulo non ha un'etichetta implicita (racchiusa) <label>. L'elemento del modulo non ha un'etichetta esplicita <label>. L'attributo aria-label non esiste o è vuoto. L'attributo aria-labelledby non esiste, fa riferimento ad elementi che non esistono o fa riferimento ad elementi che sono vuoti. L'elemento non ha un attributo title. La semantica predefinita dell'elemento non è stata sostituita da role="none" o role="presentation".

Come riprodurlo
- Apri https://harborandpine.example/collections/all in Chrome o Edge.
- Apri DevTools (F12) › Elements, premi Ctrl+F (Cmd+F su Mac) e cerca: select
- Nel riquadro Accessibility di DevTools, il Name calcolato dell’elemento è vuoto.
- Oppure esegui sulla pagina l’estensione gratuita per browser axe DevTools: lo segnala come «select-name».
Elementi non conformi (mostrati: 1)
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>Pagine interessate (1)
- https://harborandpine.example/collections/all
Come correggerlo
Codice costruito dal markup della tua pagina- Aggiungi un <label> collegato al select, oppure un aria-label come aria-label="Sort by".
Codice
Esempi di implementazione per il tuo sviluppatore. Non abbiamo il codice sorgente del tuo tema, quindi le posizioni dei file sono suggerimenti, non percorsi esatti.
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select><select aria-label="[Field label]"><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>Il campo non ha un id, quindi la correzione più rapida è un aria-label. Un <label> visibile è meglio per tutti. Sostituisci il testo tra parentesi quadre con l’etichetta del campo.
Correggi con l’IAMostra il prompt
Incollalo in ChatGPT, Claude, Cursor o Copilot insieme al file del tuo tema. Controlla la modifica prima di pubblicarla.
Gestisco un negozio Shopify (tema Online Store 2.0, template Liquid) all’indirizzo harborandpine.example. Un test di accessibilità ha trovato questo problema e voglio correggerlo nel mio tema. Problema: L'elemento select deve avere un nome accessibile (WCAG 4.1.2). Dove: 1 occorrenza in 1 pagina, ad esempio /collections/all. Un elemento non conforme, così come l’ha reso il browser: ```html <select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select> ``` Perché è importante: Il criterio WCAG 4.1.2 richiede che i menu select abbiano un nome accessibile. Cosa va modificato: - Aggiungi un <label> collegato al select, oppure un aria-label come aria-label="Sort by". Una modifica suggerita (Il codice del tuo tema (cercaci il markup mostrato)): ```html <select aria-label="[Field label]"><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select> ``` Regole per la tua risposta: - Mostra la modifica esatta come prima e dopo, e indica il file o l’impostazione in cui va inserita. Se prima hai bisogno di vedere il mio file, chiedimi di incollarlo. - Mantieni invariati il design visivo e tutto il comportamento esistente. - Non inventare nomi di prodotti, prezzi o testi; usa dei segnaposto che posso compilare io. - Concludi spiegando come posso verificare personalmente la correzione. - Spiega anche come verificarla con la tastiera e uno screen reader.
Verifica la correzione
- Esegui di nuovo la scansione delle pagine di collezione e prodotto.
Guida dettagliata: https://dequeuniversity.com/rules/axe/4.13/select-name?application=playwright
I collegamenti devono avere un testo distinguibile
impegno: rapido · responsabile: sviluppatore del tema · 2.4.4 Link Purpose (In Context), 4.1.2 Name, Role, Value
Alcuni link non hanno un testo che uno screen reader possa annunciare: spesso sono link con la sola icona, come le icone dei social o l’icona del carrello.
I criteri WCAG 2.4.4 e 4.1.2 richiedono che i link abbiano un nome accessibile che ne descriva lo scopo.
Prove
- Rilevato da
- Regola automatica di axe-core
- Stato · affidabilità
- Errore verificato · alta
- Rilevato il
- 24 set 2026 (UTC)
- Dove
- 36 occorrenze in 9 pagine
Atteso: I collegamenti devono avere un testo distinguibile
Osservato: L'elemento è nell'ordine di tab e non ha un testo accessibile. Inoltre: L'elemento non ha del testo che è visibile agli screen reader. L'attributo aria-label non esiste o è vuoto. L'attributo aria-labelledby non esiste, fa riferimento ad elementi che non esistono o fa riferimento ad elementi che sono vuoti. L'elemento non ha un attributo title.


Come riprodurlo
- Apri https://harborandpine.example/ in Chrome o Edge.
- Apri DevTools (F12) › Elements, premi Ctrl+F (Cmd+F su Mac) e cerca: a[href$="cart"]
- Nel riquadro Accessibility di DevTools, il Name calcolato dell’elemento è vuoto.
- Oppure esegui sulla pagina l’estensione gratuita per browser axe DevTools: lo segnala come «link-name».
Elementi non conformi (mostrati: 4)
<a href="/cart"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 4h2l2.4 11h11l2-8H6.5"></path><circle cx="9" cy="20" r="1.5"></circle><circle cx="18" cy="20" r="1.5"></circle></svg></a><a href="https://instagram.example/harborandpine"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="5"></rect><circle cx="12" cy="12" r="4"></circle></svg></a><a href="https://facebook.example/harborandpine"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M14 8h3V4h-3c-2.8 0-4 1.8-4 4v2H7v4h3v8h4v-8h3l1-4h-4V8.5c0-.3.2-.5.5-.5z"></path></svg></a><a href="https://x.example/harborandpine"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 4l16 16M20 4L4 20"></path></svg></a>Pagine interessate (9)
- https://harborandpine.example/
- https://harborandpine.example/collections/all
- https://harborandpine.example/products/trail-daypack
- https://harborandpine.example/cart
- https://harborandpine.example/pages/about
- https://harborandpine.example/products/pine-wool-beanie
- https://harborandpine.example/products/enamel-camp-mug
- https://harborandpine.example/products/harbor-lantern
- https://harborandpine.example/products/insulated-bottle
Come correggerlo
Codice costruito dal markup della tua pagina- Trova i link negli esempi qui sotto. La maggior parte sono icone o immagini all’interno di un tag <a>.
- Aggiungi un testo visivamente nascosto all’interno del link, oppure un aria-label come aria-label="Instagram" o aria-label="Cart".
- Se il link contiene un’immagine, dai invece all’immagine un testo alternativo significativo.
Codice
Esempi di implementazione per il tuo sviluppatore. Non abbiamo il codice sorgente del tuo tema, quindi le posizioni dei file sono suggerimenti, non percorsi esatti.
<a href="/cart">…</a><a href="/cart" aria-label="Cart">…</a>Dà al link il nome «Cart», dedotto dal suo indirizzo o dalle sue classi. Verifica che dica cosa fa il link.
<a href="https://instagram.example/harborandpine">…</a><a href="https://instagram.example/harborandpine" aria-label="Instagram">…</a>Dà al link il nome «Instagram», dedotto dal suo indirizzo o dalle sue classi. Verifica che dica cosa fa il link.
<a href="https://facebook.example/harborandpine">…</a><a href="https://facebook.example/harborandpine" aria-label="Facebook">…</a>Dà al link il nome «Facebook», dedotto dal suo indirizzo o dalle sue classi. Verifica che dica cosa fa il link.
<a href="https://x.example/harborandpine">…</a><a href="https://x.example/harborandpine" aria-label="X (Twitter)">…</a>Dà al link il nome «X (Twitter)», dedotto dal suo indirizzo o dalle sue classi. Verifica che dica cosa fa il link.
Correggi con l’IAMostra il prompt
Incollalo in ChatGPT, Claude, Cursor o Copilot insieme al file del tuo tema. Controlla la modifica prima di pubblicarla.
Gestisco un negozio Shopify (tema Online Store 2.0, template Liquid) all’indirizzo harborandpine.example. Un test di accessibilità ha trovato questo problema e voglio correggerlo nel mio tema. Problema: I collegamenti devono avere un testo distinguibile (WCAG 2.4.4, 4.1.2). Dove: 36 occorrenze in 9 pagine, ad esempio /, /collections/all, /products/trail-daypack, /cart. Un elemento non conforme, così come l’ha reso il browser: ```html <a href="/cart"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 4h2l2.4 11h11l2-8H6.5"></path><circle cx="9" cy="20" r="1.5"></circle><circle cx="18" cy="20" r="1.5"></circle></svg></a> ``` Perché è importante: I criteri WCAG 2.4.4 e 4.1.2 richiedono che i link abbiano un nome accessibile che ne descriva lo scopo. Cosa va modificato: - Trova i link negli esempi qui sotto. La maggior parte sono icone o immagini all’interno di un tag <a>. - Aggiungi un testo visivamente nascosto all’interno del link, oppure un aria-label come aria-label="Instagram" o aria-label="Cart". - Se il link contiene un’immagine, dai invece all’immagine un testo alternativo significativo. Una modifica suggerita (Il codice del tuo tema (cercaci il markup mostrato)): ```html <a href="/cart" aria-label="Cart">…</a> ``` Regole per la tua risposta: - Mostra la modifica esatta come prima e dopo, e indica il file o l’impostazione in cui va inserita. Se prima hai bisogno di vedere il mio file, chiedimi di incollarlo. - Mantieni invariati il design visivo e tutto il comportamento esistente. - Non inventare nomi di prodotti, prezzi o testi; usa dei segnaposto che posso compilare io. - Concludi spiegando come posso verificare personalmente la correzione. - Spiega anche come verificarla con la tastiera e uno screen reader.
Verifica la correzione
- Esegui di nuovo la scansione e verifica che link-name sia scomparso.
- Con uno screen reader attivo, raggiungi ogni link con Tab e ascolta il nome.
Guida dettagliata: https://dequeuniversity.com/rules/axe/4.13/link-name?application=playwright
Gli elementi devono soddisfare le soglie minime del rapporto di contrasto di colore
impegno: rapido · responsabile: titolare del negozio (impostazioni admin) · 1.4.3 Contrast (Minimum)
Alcuni testi non si distinguono abbastanza dallo sfondo per essere letti dalle persone ipovedenti.
Il criterio WCAG 1.4.3 richiede un rapporto di contrasto di almeno 4,5:1 per il testo normale e 3:1 per il testo grande. Prezzi, badge e banner sbiaditi sono difficili da leggere per le persone ipovedenti, e per tutti in piena luce.
Prove
- Rilevato da
- Regola automatica di axe-core
- Stato · affidabilità
- Errore verificato · alta
- Rilevato il
- 24 set 2026 (UTC)
- Dove
- 22 occorrenze in 9 pagine
Atteso: Gli elementi devono soddisfare le soglie minime del rapporto di contrasto di colore
Osservato: L'elemento ha un contrasto di colore insufficiente di 3.09 (colore in primo piano: #ffffff, colore di sfondo: #e76f51, dimensione del font: 9.8pt (13px), peso del font: normal). Contrasto atteso di 4.5:1.


Come riprodurlo
- Apri https://harborandpine.example/ in Chrome o Edge.
- Apri DevTools (F12) › Elements, premi Ctrl+F (Cmd+F su Mac) e cerca: .announce
- Fai clic sul campione di colore accanto al colore dell’elemento nel riquadro Styles per vedere il rapporto di contrasto misurato.
- Oppure esegui sulla pagina l’estensione gratuita per browser axe DevTools: lo segnala come «color-contrast».
Elementi non conformi (mostrati: 4)
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div><span class="badge">Sale</span><span class="compare">$72</span><span class="compare">$40</span>Pagine interessate (9)
- https://harborandpine.example/
- https://harborandpine.example/collections/all
- https://harborandpine.example/products/trail-daypack
- https://harborandpine.example/cart
- https://harborandpine.example/pages/about
- https://harborandpine.example/products/pine-wool-beanie
- https://harborandpine.example/products/enamel-camp-mug
- https://harborandpine.example/products/harbor-lantern
- https://harborandpine.example/products/insulated-bottle
Come correggerlo
Codice costruito dal markup della tua pagina- Apri gli elementi non conformi elencati qui sotto e annota i colori di primo piano e di sfondo indicati nel riepilogo dell’errore.
- In Negozio online > Temi > Personalizza > Impostazioni del tema > Colori, scurisci il colore del testo o schiarisci lo sfondo della combinazione di colori interessata finché il rapporto non è almeno 4,5:1.
- Presta particolare attenzione ai badge dei saldi, al testo segnaposto, ai link del footer e ai pulsanti sopra le immagini.
Codice
Esempi di implementazione per il tuo sviluppatore. Non abbiamo il codice sorgente del tuo tema, quindi le posizioni dei file sono suggerimenti, non percorsi esatti.
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>.announce {
background-color: #b95941; /* was #e76f51: 3.09:1, now 4.59:1 */
}Misurato 3,09:1 per un testo da 13px; il criterio WCAG 1.4.3 richiede 4,5:1. #b95941 mantiene la stessa tonalità e supera il controllo. Il selettore è quello usato dal nostro test; il tuo tema potrebbe usare una classe più ampia per lo stesso stile.
<span class="badge">Sale</span>.badge {
background-color: #9f693f; /* was #f4a261: 2.06:1, now 4.59:1 */
}Misurato 2,06:1 per un testo in grassetto da 12px; il criterio WCAG 1.4.3 richiede 4,5:1. #9f693f mantiene la stessa tonalità e supera il controllo. Il selettore è quello usato dal nostro test; il tuo tema potrebbe usare una classe più ampia per lo stesso stile.
<span class="compare">$72</span>.compare {
color: #78736c; /* was #b0a99f: 2.29:1, now 4.62:1 */
}Misurato 2,29:1 per un testo da 14px; il criterio WCAG 1.4.3 richiede 4,5:1. #78736c mantiene la stessa tonalità e supera il controllo. Il selettore è quello usato dal nostro test; il tuo tema potrebbe usare una classe più ampia per lo stesso stile.
Correggi con l’IAMostra il prompt
Incollalo in ChatGPT, Claude, Cursor o Copilot insieme al file del tuo tema. Controlla la modifica prima di pubblicarla.
Gestisco un negozio Shopify (tema Online Store 2.0, template Liquid) all’indirizzo harborandpine.example. Un test di accessibilità ha trovato questo problema e voglio correggerlo nel mio tema.
Problema: Gli elementi devono soddisfare le soglie minime del rapporto di contrasto di colore (WCAG 1.4.3).
Dove: 22 occorrenze in 9 pagine, ad esempio /, /collections/all, /products/trail-daypack, /cart.
Un elemento non conforme, così come l’ha reso il browser:
```html
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
```
Perché è importante: Il criterio WCAG 1.4.3 richiede un rapporto di contrasto di almeno 4,5:1 per il testo normale e 3:1 per il testo grande. Prezzi, badge e banner sbiaditi sono difficili da leggere per le persone ipovedenti, e per tutti in piena luce.
Cosa va modificato:
- Apri gli elementi non conformi elencati qui sotto e annota i colori di primo piano e di sfondo indicati nel riepilogo dell’errore.
- In Negozio online > Temi > Personalizza > Impostazioni del tema > Colori, scurisci il colore del testo o schiarisci lo sfondo della combinazione di colori interessata finché il rapporto non è almeno 4,5:1.
- Presta particolare attenzione ai badge dei saldi, al testo segnaposto, ai link del footer e ai pulsanti sopra le immagini.
Una modifica suggerita (Impostazioni del tema › Colori, oppure il file CSS del tuo tema):
```css
.announce {
background-color: #b95941; /* was #e76f51: 3.09:1, now 4.59:1 */
}
```
Regole per la tua risposta:
- Mostra la modifica esatta come prima e dopo, e indica il file o l’impostazione in cui va inserita. Se prima hai bisogno di vedere il mio file, chiedimi di incollarlo.
- Mantieni invariati il design visivo e tutto il comportamento esistente.
- Non inventare nomi di prodotti, prezzi o testi; usa dei segnaposto che posso compilare io.
- Concludi spiegando come posso verificare personalmente la correzione.
- Spiega anche come verificarla con la tastiera e uno screen reader.Verifica la correzione
- Esegui di nuovo la scansione e verifica che color-contrast non compaia più.
- Fai una verifica a campione con uno strumento di controllo del contrasto sui colori esatti.
Guida dettagliata: https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright
Tutti i contenuti della pagina dovrebbero essere contenuti nei landmark
impegno: moderato · responsabile: sviluppatore del tema
Alcuni contenuti non si trovano all’interno di un landmark della pagina (header, nav, main o footer).
I landmark permettono a chi usa uno screen reader di spostarsi rapidamente nella pagina. È una buona pratica a supporto dei criteri WCAG 1.3.1 e 2.4.1.
Prove
- Rilevato da
- Regola automatica di axe-core
- Stato · affidabilità
- Errore verificato · alta
- Rilevato il
- 24 set 2026 (UTC)
- Dove
- 18 occorrenze in 9 pagine
Atteso: Tutti i contenuti della pagina dovrebbero essere contenuti nei landmark
Osservato: Alcuni contenuti della pagina non sono contenuti in landmark.


Come riprodurlo
- Apri https://harborandpine.example/ in Chrome o Edge.
- Apri DevTools (F12) › Elements, premi Ctrl+F (Cmd+F su Mac) e cerca: .announce
- Oppure esegui sulla pagina l’estensione gratuita per browser axe DevTools: lo segnala come «region».
Elementi non conformi (mostrati: 2)
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div><p>We use cookies to improve your experience and measure traffic.</p>Pagine interessate (9)
- https://harborandpine.example/
- https://harborandpine.example/collections/all
- https://harborandpine.example/products/trail-daypack
- https://harborandpine.example/cart
- https://harborandpine.example/pages/about
- https://harborandpine.example/products/pine-wool-beanie
- https://harborandpine.example/products/enamel-camp-mug
- https://harborandpine.example/products/harbor-lantern
- https://harborandpine.example/products/insulated-bottle
Come correggerlo
Indicazioni generali- Racchiudi i contenuti sparsi (barre degli annunci, pop-up, widget di chat) nel landmark appropriato o inseriscili all’interno di <main>.
Correggi con l’IAMostra il prompt
Incollalo in ChatGPT, Claude, Cursor o Copilot insieme al file del tuo tema. Controlla la modifica prima di pubblicarla.
Gestisco un negozio Shopify (tema Online Store 2.0, template Liquid) all’indirizzo harborandpine.example. Un test di accessibilità ha trovato questo problema e voglio correggerlo nel mio tema. Problema: Tutti i contenuti della pagina dovrebbero essere contenuti nei landmark. Dove: 18 occorrenze in 9 pagine, ad esempio /, /collections/all, /products/trail-daypack, /cart. Un elemento non conforme, così come l’ha reso il browser: ```html <div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div> ``` Perché è importante: I landmark permettono a chi usa uno screen reader di spostarsi rapidamente nella pagina. È una buona pratica a supporto dei criteri WCAG 1.3.1 e 2.4.1. Cosa va modificato: - Racchiudi i contenuti sparsi (barre degli annunci, pop-up, widget di chat) nel landmark appropriato o inseriscili all’interno di <main>. Regole per la tua risposta: - Mostra la modifica esatta come prima e dopo, e indica il file o l’impostazione in cui va inserita. Se prima hai bisogno di vedere il mio file, chiedimi di incollarlo. - Mantieni invariati il design visivo e tutto il comportamento esistente. - Non inventare nomi di prodotti, prezzi o testi; usa dei segnaposto che posso compilare io. - Concludi spiegando come posso verificare personalmente la correzione. - Spiega anche come verificarla con la tastiera e uno screen reader.
Verifica la correzione
- Esegui di nuovo la scansione delle pagine interessate.
Guida dettagliata: https://dequeuniversity.com/rules/axe/4.13/region?application=playwright
I livelli delle intestazioni possono aumentare solo di uno
impegno: moderato · responsabile: sviluppatore del tema
I livelli delle intestazioni saltano (ad esempio da H2 a H4), il che rende confusa la struttura della pagina per chi usa uno screen reader.
Chi usa uno screen reader naviga per intestazioni. È una buona pratica a supporto del criterio WCAG 1.3.1.
Prove
- Rilevato da
- Regola automatica di axe-core
- Stato · affidabilità
- Errore verificato · alta
- Rilevato il
- 24 set 2026 (UTC)
- Dove
- 7 occorrenze in 7 pagine
Atteso: I livelli delle intestazioni possono aumentare solo di uno
Osservato: L'ordine delle intestazioni non è valido.


Come riprodurlo
- Apri https://harborandpine.example/collections/all in Chrome o Edge.
- Apri DevTools (F12) › Elements, premi Ctrl+F (Cmd+F su Mac) e cerca: article:nth-child(1) > a[href$="trail-daypack"] > h3
- Oppure esegui sulla pagina l’estensione gratuita per browser axe DevTools: lo segnala come «heading-order».
Elementi non conformi (mostrati: 3)
<h3>Trail Daypack 22L</h3><h3>Reviews</h3><h3>Started on the trail</h3>Pagine interessate (7)
- https://harborandpine.example/collections/all
- https://harborandpine.example/products/trail-daypack
- https://harborandpine.example/pages/about
- https://harborandpine.example/products/pine-wool-beanie
- https://harborandpine.example/products/enamel-camp-mug
- https://harborandpine.example/products/harbor-lantern
- https://harborandpine.example/products/insulated-bottle
Come correggerlo
Indicazioni generali- Modifica i livelli delle intestazioni nelle sezioni interessate in modo che seguano l’ordine senza saltare livelli.
- Cambia solo il tag, non lo stile visivo (usa le classi CSS per la dimensione).
Codice
Esempi di implementazione per il tuo sviluppatore. Non abbiamo il codice sorgente del tuo tema, quindi le posizioni dei file sono suggerimenti, non percorsi esatti.
<h3>Trail Daypack 22L</h3><h2 class="h3">Trail Daypack 22L</h2>Usa il livello che segue l’intestazione precedente nella pagina (spesso un livello più in alto) e mantieni l’aspetto con una classe. Controlla la struttura della pagina prima di modificarla.
<h3>Reviews</h3><h2 class="h3">Reviews</h2>Usa il livello che segue l’intestazione precedente nella pagina (spesso un livello più in alto) e mantieni l’aspetto con una classe. Controlla la struttura della pagina prima di modificarla.
<h3>Started on the trail</h3><h2 class="h3">Started on the trail</h2>Usa il livello che segue l’intestazione precedente nella pagina (spesso un livello più in alto) e mantieni l’aspetto con una classe. Controlla la struttura della pagina prima di modificarla.
Correggi con l’IAMostra il prompt
Incollalo in ChatGPT, Claude, Cursor o Copilot insieme al file del tuo tema. Controlla la modifica prima di pubblicarla.
Gestisco un negozio Shopify (tema Online Store 2.0, template Liquid) all’indirizzo harborandpine.example. Un test di accessibilità ha trovato questo problema e voglio correggerlo nel mio tema. Problema: I livelli delle intestazioni possono aumentare solo di uno. Dove: 7 occorrenze in 7 pagine, ad esempio /collections/all, /products/trail-daypack, /pages/about, /products/pine-wool-beanie. Un elemento non conforme, così come l’ha reso il browser: ```html <h3>Trail Daypack 22L</h3> ``` Perché è importante: Chi usa uno screen reader naviga per intestazioni. È una buona pratica a supporto del criterio WCAG 1.3.1. Cosa va modificato: - Modifica i livelli delle intestazioni nelle sezioni interessate in modo che seguano l’ordine senza saltare livelli. - Cambia solo il tag, non lo stile visivo (usa le classi CSS per la dimensione). Una modifica suggerita (Il codice del tuo tema (cercaci il markup mostrato)): ```html <h2 class="h3">Trail Daypack 22L</h2> ``` Regole per la tua risposta: - Mostra la modifica esatta come prima e dopo, e indica il file o l’impostazione in cui va inserita. Se prima hai bisogno di vedere il mio file, chiedimi di incollarlo. - Mantieni invariati il design visivo e tutto il comportamento esistente. - Non inventare nomi di prodotti, prezzi o testi; usa dei segnaposto che posso compilare io. - Concludi spiegando come posso verificare personalmente la correzione. - Spiega anche come verificarla con la tastiera e uno screen reader.
Verifica la correzione
- Esegui di nuovo la scansione e controlla la struttura delle intestazioni con un’estensione del browser come HeadingsMap.
Guida dettagliata: https://dequeuniversity.com/rules/axe/4.13/heading-order?application=playwright
Richiede una verifica manuale
I test automatici hanno segnalato questi elementi ma non hanno potuto decidere, ad esempio un testo sopra un’immagine o contenuti che potrebbero non entrare nello schermo di uno smartphone. Non vengono conteggiati come errori. Chiedi al tuo sviluppatore di controllarli uno per uno.
- Da verificareWCAG 4.1.3
Percorso da tastiera: Aggiungere al carrello con la tastiera
Invio su Aggiungi al carrello ha funzionato (il contatore del carrello nell’header è cambiato, è comparso un messaggio «aggiunto al carrello»), ma non abbiamo trovato alcun messaggio di stato né una finestra di dialogo con il focus, quindi gli utenti di screen reader potrebbero non sapere che l’articolo è stato aggiunto.
1 occorrenza in 1 pagina · Come verificarlo
- Da verificareWCAG 1.4.10
La pagina prodotto potrebbe non entrare in uno schermo stretto senza scorrimento orizzontale
A 320 pixel CSS di larghezza (come con uno zoom al 400%), la pagina è 200px più larga dello schermo. Tabelle di dati e mappe possono scorrere; testo e controlli no.
2 occorrenze in 1 pagina · Come verificarlo
Elementi da controllare (mostrati: 2)
div.icons <div class="icons"> <button type="button"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"></circle><path d="M20 20l-3.5-3.5"></path></svg></budiv <div> <p style="color:#6a6a60;font-size:14px">Harbor & Pine</p> <h1>Trail Daypack 22L</h1> <p class="price" style="font-size:22px">$128<span class="compare">$150</span></p> <p class="opt-label">Si - Da verificareWCAG 1.4.10
La home page potrebbe non entrare in uno schermo stretto senza scorrimento orizzontale
A 320 pixel CSS di larghezza (come con uno zoom al 400%), la pagina è 55px più larga dello schermo. Tabelle di dati e mappe possono scorrere; testo e controlli no.
3 occorrenze in 1 pagina · Come verificarlo
Elementi da controllare (mostrati: 3)
div.icons <div class="icons"> <button type="button"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"></circle><path d="M20 20l-3.5-3.5"></path></svg></buarticle.card <article class="card"><span class="badge">Sale</span><a href="/products/trail-daypack"><img src="/img/beanie.svg"><h3>Pine Wool Beanie</h3></a><p class="price">$32<span class="compare">$40</span></p><button.btn.light <button class="btn light" type="submit">Subscribe</button> - Da verificareWCAG 1.4.3
Gli elementi devono soddisfare le soglie minime del rapporto di contrasto di colore
Il colore di sfondo dell'elemento non può essere determinato perché l'elemento contiene un nodo immagine.
1 occorrenza in 1 pagina · Come verificarlo
Elementi da controllare (mostrati: 1)
h1 <h1>Gear for the long way home</h1>
Esegui un nuovo test delle correzioni
Quando il tuo sviluppatore ha apportato le modifiche, esegui un nuovo test. Eseguiamo di nuovo gli stessi controlli automatici sulle stesse pagine, il test da tastiera e il percorso da tastiera, e mostriamo quali problemi non riusciamo più a riprodurre. Sono inclusi 5 nuovi test.
I nuovi test sono disponibili sui report a pagamento.
Verifiche manuali
Gli strumenti automatici non possono valutare questi controlli. Eseguili prima di considerare concluso il lavoro.
- Completa il checkout usando solo la tastiera: il nostro percorso automatico si ferma al pulsante del checkout e non entra mai nel checkout.
- Ripeti con uno screen reader (VoiceOver su Mac: Cmd+F5; NVDA su Windows) e verifica che prezzi, varianti ed errori vengano annunciati.
- Porta lo zoom del browser al 200% e verifica che nulla si sovrapponga o scompaia.
- Verifica che i video di prodotto e del brand abbiano sottotitoli accurati.
- Invia i moduli con degli errori (newsletter, contatti, checkout) e verifica che gli errori siano descritti a parole.
- Verifica che caroselli e pop-up si possano mettere in pausa o chiudere, anche con il tasto Esc.
Bozza della dichiarazione di accessibilità
Modifica le parti tra parentesi quadre e pubblicala in una pagina collegata dal footer del sito.
Dichiarazione di accessibilità per harborandpine.example Vogliamo che tutti possano fare acquisti su harborandpine.example, comprese le persone che usano screen reader, navigazione da tastiera, ingrandimento o altre tecnologie assistive. Ci impegniamo a soddisfare le Web Content Accessibility Guidelines (WCAG) 2.2 al livello AA. Cosa facciamo - Testiamo il nostro negozio con strumenti automatici di accessibilità e correggiamo i problemi che rilevano. - Testiamo i passaggi chiave dell’acquisto (navigazione, pagine prodotto, carrello e checkout) con una tastiera e uno screen reader. - Prima di aggiungere app e widget di terze parti, ne verifichiamo l’accessibilità. Limiti noti (al 24 settembre 2026) - Accesso da tastiera e focus (WCAG 2.1.1). Prevediamo di risolvere il problema entro il 2026-10-08. - Link e pulsanti senza nome (WCAG 2.4.4, 4.1.2). Prevediamo di risolvere il problema entro il 2026-10-08. - Immagini senza alternativa testuale (WCAG 1.1.1). Prevediamo di risolvere il problema entro il 2026-10-08. - Campi dei moduli senza etichetta (WCAG 4.1.2). Prevediamo di risolvere il problema entro il 2026-10-08. - Contrasto dei colori insufficiente (WCAG 1.4.3). Prevediamo di risolvere il problema entro il 2026-10-08. Feedback e assistenza Se hai difficoltà a usare una qualsiasi parte del nostro negozio, contattaci a [il tuo indirizzo email] o al numero [il tuo numero di telefono]. Indicaci la pagina e il problema: ti aiuteremo a completare l’acquisto e ti risponderemo entro 5 giorni lavorativi. Questa dichiarazione è stata preparata il 24 settembre 2026 e sarà rivista almeno una volta all’anno.
Registro delle prove
Ogni pagina è stata caricata in Chromium e testata con axe-core 4.13.0. L’hash SHA-256 identifica i risultati grezzi di ogni pagina.
| Pagina | Data del test (UTC) | HTTP | Problemi | SHA-256 |
|---|---|---|---|---|
| Home pagehttps://harborandpine.example/ | 2026-09-24 14:05:00 | 200 | 15 | da1e5470a57859a864332912dd1e4f62b4c4f64487ba144865b74879519599a3 |
| Pagina di collezionehttps://harborandpine.example/collections/all | 2026-09-24 14:05:09 | 200 | 20 | 28d8dfcf5ca953af353264a930a351bea3cf23f98a303874b32e5da355a4c8b0 |
| Pagina prodottohttps://harborandpine.example/products/trail-daypack | 2026-09-24 14:05:18 | 200 | 20 | 68a173ddfd16eeeef5e36d6c0fa9d426769f0d96e358c5e35b67608dd84139b4 |
| Carrellohttps://harborandpine.example/cart | 2026-09-24 14:05:27 | 200 | 12 | 5b7945c2cdf779dcef2bd8975d96eb8f42d8dedbf10e767ec80199dd22ce257c |
| Pagina di contenutohttps://harborandpine.example/pages/about | 2026-09-24 14:05:36 | 200 | 9 | daf61ae856358a574e63f9357db0bfd9ae6079065acf3aebd5b3c5a7f460e53f |
| Pagina aggiuntivahttps://harborandpine.example/products/pine-wool-beanie | 2026-09-24 14:08:00 | 200 | 20 | f708ccd7de34dfb65d59d3716580b6ec15a6420020c8387fa4da4e2ff5bd52d3 |
| Pagina aggiuntivahttps://harborandpine.example/products/enamel-camp-mug | 2026-09-24 14:08:07 | 200 | 19 | c619bcd29e89d06099d174b9fc19305a42f2fa9bdddb600a750c867fc7477022 |
| Pagina aggiuntivahttps://harborandpine.example/products/harbor-lantern | 2026-09-24 14:08:14 | 200 | 20 | 5720b7433b75050ba413ac74c2bd726b0620aaa68f7918083052383257d5c418 |
| Pagina aggiuntivahttps://harborandpine.example/products/insulated-bottle | 2026-09-24 14:08:21 | 200 | 19 | 6f1972c22e477c9a63e2dfde1123ed759718f6a75e1606b23f208848691510fd |
Ambito e metodo
Cosa abbiamo testato
- 9 pagine (home page, pagina di collezione, pagina prodotto, carrello, pagina di contenuto, pagina aggiuntiva) caricate in Chromium a 1366×900.
- Regole di axe-core 4.13.0 per le WCAG 2.0, 2.1 e 2.2 di livello A e AA, più le regole di buona pratica (indicate come P3).
- Un test da tastiera: 40 pressioni del tasto Tab sulla home page, alla ricerca di trappole e indicatori di focus mancanti.
- Un percorso d’acquisto solo da tastiera dalla home page al pulsante del checkout (vedi sopra).
- Un controllo del reflow a 320 pixel CSS di larghezza (WCAG 1.4.10) su queste pagine: home page e pagina prodotto.
Cosa non abbiamo testato
- Pagine di checkout e pagamento, invio di moduli, pagine dell’account e pagine protette da login.
- Ciò che uno screen reader annuncia davvero, oltre alle regole automatiche.
- Sottotitoli dei video e audiodescrizioni, documenti PDF e contenuti all’interno di frame di terze parti.
- Linguaggio semplice, accessibilità cognitiva e tutto ciò che richiede un giudizio umano (vedi Verifiche manuali).
Come leggere i risultati
- Errore verificato
- Un test automatico o il percorso da tastiera non è stato superato; le prove sono mostrate.
- Da verificare
- Un test ha segnalato qualcosa che non è riuscito a decidere; una persona dovrebbe verificarlo.
- Superato
- La regola automatica non ha trovato errori nelle pagine testate.
- Non testato
- Fuori da ciò che i test automatici possono coprire qui; vedi Verifiche manuali.
Ottieni questo report per il tuo sito web.
Inizia con la scansione gratuita per vedere i tuoi problemi e come corrispondono alla tua lettera. Il Report Accessibilità costa $249, una tantum, ed è pronto in circa 10 minuti.
Analizza il tuo sito gratisQuesto report descrive i risultati di test automatici e fornisce indicazioni per la correzione. Non costituisce consulenza legale e non certifica la conformità all’ADA, all’European Accessibility Act o a qualsiasi altra legge.

