Tutto è partito dalla nostra coda di supporto. I merchant hanno iniziato a passare scanner di accessibilità sui propri negozi, e alcuni dei report che ci sono arrivati puntavano al codice di Candy Rack invece che al loro tema: immagini che inseriamo senza testo alternativo, un livello di intestazione che saltiamo, controlli a cui uno scanner vede benissimo che manca l'etichetta. Giusto così. A luglio siamo andati a guardare sul serio tutte e tre le nostre superfici di negozio, e quello che abbiamo trovato si è rivelato più interessante del report che ci aveva spinti a farlo.

I merchant non lanciano queste scansioni per curiosità. La pressione dietro è reale e misurabile. Nel 2025 sono state depositate 3.117 cause sull'accessibilità dei siti davanti ai tribunali federali statunitensi, il 27 % in più rispetto alle 2.452 del 2024, e i casi di accessibilità web sono passati dal 28 % al 36 % di tutti i depositi federali ai sensi del Title III dell'ADA. Contando anche i tribunali statali, il report annuale di UsableNet stima il totale 2025 attorno a 5.100 casi, di cui circa il 70 % rivolti all'e-commerce. Nell'UE l'European Accessibility Act si applica dal 28 giugno 2025 attraverso le leggi di recepimento di ciascuno Stato membro, e il 4 giugno 2026 il tribunale di Caen ha condannato Carrefour France sulla base del recepimento francese.
Ecco il punto cieco. Il consiglio abituale a un merchant preoccupato si riduce a due cose: scegli un tema con un buon punteggio e installa un widget che aggiunge una barra di accessibilità. Nessuna delle due arriva alle app di terze parti presenti sulla pagina. Il tuo tema disegna la pagina, e le tue app ci iniettano sopra il proprio codice, spesso come una finestra modale che si apre sopra tutto il resto. Un audit del tema non andrà a guardare dentro quella modale, una barra di strumenti non può sistemarla, uno scanner coglie solo la superficie di ciò che non va là dentro, e fino a poco tempo fa non avremmo potuto dirti con certezza che cosa ci fosse dentro la nostra.
Che aspetto ha davvero un'app che rompe l'accessibilità
Non è una questione astratta, e non riguarda soprattutto il testo alternativo. Nove schemi coprono ciò che abbiamo trovato sulle nostre superfici, più ciò che controllerei nell'app di chiunque altro. La maggior parte corrisponde a un criterio WCAG preciso, e dove non è così, viene segnalato.
| Che cosa cercare | Dove compare | Criterio WCAG | Chi può correggerlo |
|---|---|---|---|
| Una modale si apre senza ruolo dialog, senza nome accessibile, senza trappola del focus, senza tasto Esc | Pop-up di upsell, cassetti del carrello, verifiche dell'età, pop-up newsletter | 4.1.2, 2.4.3 e 2.1.2 se il focus resta intrappolato senza via d'uscita. La chiusura con Esc deriva dalle pratiche di scrittura ARIA, non da un criterio numerato | Solo il fornitore dell'app |
| Contorno del focus rimosso senza nulla di visibile al suo posto | Qualsiasi controllo che l'app formatta | 2.4.7 | Solo il fornitore dell'app |
Alcuni controlli portano tabindex="-1" mentre sono visibili sullo schermo | Campi codice sconto, pannelli richiudibili | 2.1.1 | Solo il fornitore dell'app |
| I pulsanti con la sola icona vengono annunciati come un generico «pulsante» | Croce di chiusura, selettori di quantità, pulsanti di rimozione | 4.1.2, 1.1.1 | Solo il fornitore dell'app |
L'elemento cliccabile è un semplice div senza ruolo né stop di tabulazione | Miniature di prodotto, schede offerta | 2.1.1, 4.1.2 | Solo il fornitore dell'app |
| Il testo alternativo delle immagini manca, oppure è generico su tutte | Miniature di prodotto dentro le offerte | 1.1.1 | Solo il fornitore dell'app |
| Totale del carrello, numero di articoli o avanzamento di un premio si aggiornano in silenzio | Cassetti del carrello, barre di spedizione gratuita | 4.1.3 | Solo il fornitore dell'app |
| Un blocco iniettato salta livelli di intestazione | Qualsiasi blocco dell'app con un proprio titolo | Di solito riportato sotto 1.3.1 | Solo il fornitore dell'app |
| Contrasto del testo sotto 4,5:1, oppure sotto 3:1 per il testo grande (18 pt, o 14 pt in grassetto) | Qualsiasi colore che hai scelto nelle impostazioni dell'app | 1.4.3 | Tu, nelle impostazioni dell'app |
Leggi l'ultima colonna. Otto righe su nove riguardano cose che un merchant non può correggere a nessun prezzo, qualunque widget abbia installato. È questo che rende la scelta di un'app una decisione di accessibilità e non solo di funzionalità.
Che cosa abbiamo trovato nella nostra app
Le tre superfici che abbiamo verificato secondo le WCAG 2.1 e 2.2 livello AA sono il pop-up di upsell della pagina prodotto, il pop-up del carrello mostrato lungo il percorso verso il pagamento e il cassetto del carrello. Questa volta non un punteggio di uno scanner, ma un'ispezione del codice generato, controllo per controllo.
I risultati sono stati disomogenei in un modo che sospetto sia tipico. Il punto di partenza del cassetto del carrello era migliore del previsto: i controlli di chiusura e rimozione erano veri pulsanti, ogni immagine di prodotto portava già un testo alternativo descrittivo e il pulsante di pagamento aveva già un nome accessibile. La sostanza stava nelle modali, e la stessa manciata di problemi si ripeteva su tutte e tre le superfici, il che si è rivelato l'aspetto utile. Ripetizione significa una correzione condivisa invece di tre.

I due punti più seri non erano quelli segnalati dagli scanner. Il primo era uno stile di focus soppresso, che è peggio di come suona: rompe la navigazione da tastiera per ogni controllo che lo eredita, non solo per quello per cui era stato scritto. Il secondo era un gruppo di controlli rimasti fuori dall'ordine di tabulazione pur essendo visibili sullo schermo, cosa che trasforma silenziosamente una funzione che funziona in una funzione riservata al mouse. Chi naviga da tastiera non ottiene una versione ridotta di quella funzione. Non ne ottiene nessuna. Abbiamo diviso la correzione su tre ticket, uno per superficie, e li abbiamo chiusi a fine luglio.
Perché non dichiariamo la conformità
Una cosa non l'abbiamo chiusa, di proposito. Tutti i colori di Candy Rack lato negozio puoi modificarli tu, e non validiamo il contrasto dei valori che imposti. Nel negozio verificato ogni colore configurato passava, ma nulla impedisce a un merchant di configurarsi una violazione del criterio 1.4.3 senza il minimo avviso. Aggiungere un controllo del contrasto nelle impostazioni è nella nostra lista. Fino ad allora, e anche dopo, non verremo a dirti che l'app rende conforme il tuo negozio.
Niente di tutto questo rende inutile una barra di accessibilità. Dà ai visitatori il controllo su come viene visualizzato il tuo negozio e dà a te monitoraggio, ed è proprio per questo che una di esse merita un posto nella nostra selezione delle migliori app Shopify per la compliance, accanto al consenso ai cookie, al GPSR, alla fatturazione e ai termini. Semplicemente non è una correzione di fondo, e non può entrare nella modale di un'altra app più di quanto possa farlo tu. La conformità è una proprietà dell'intero negozio in un dato giorno, e nessun singolo fornitore è nella posizione di certificarla. Ciò che un fornitore può dirti è che cosa ha verificato, che cosa ha cambiato e che cosa resta aperto.
Come controllare le app del tuo negozio
Un passaggio utile puoi farlo da solo in una decina di minuti, senza scanner. Quasi tutto ciò che conta qui è invisibile agli strumenti automatici, che trovano bene gli attributi alt mancanti e i difetti di contrasto, ma sono ciechi alle trappole del focus, all'ordine di tabulazione e agli annunci. Tutti i report degli scanner che hanno dato il via a questa storia rientravano nella prima categoria. Nessuno ha segnalato i due problemi che davvero lasciavano fuori delle persone.
- Allontana il mouse dalla tastiera e lascialo lì.
- Percorri la pagina prodotto con il tasto Tab e osserva l'indicatore di focus. Se sparisce da qualche parte, fermati: il blocco l'hai già trovato.
- Attiva ogni superficie che appartiene alle tue app: aggiungi al carrello, apri il cassetto del carrello, avvia il pagamento e aspetta i pop-up che compaiono dopo qualche secondo.
- In ciascuna verifica quattro cose. Riesci a entrarci con Tab? Il focus resta dentro invece di finire sulla pagina retrostante? Il tasto Esc la chiude? Il focus torna sull'elemento che avevi cliccato per aprirla?
- Usa ogni controllo solo da tastiera, compresi selettori di quantità, scelta delle varianti, campi codice sconto e pulsanti di rimozione. Tutto ciò che raggiungi col mouse ma non da tastiera è una violazione del criterio 2.1.1.
- Attiva VoiceOver (Cmd+F5 su Mac) oppure NVDA e ascolta come vengono annunciati il pulsante di chiusura e le immagini di prodotto. «Pulsante» e «Prodotto» sono due violazioni.
- Cambia una quantità e ascolta se il nuovo totale viene annunciato. Se l'aggiornamento non riceve mai il focus e non viene annunciato nulla, è una violazione del criterio 4.1.3.
Tutto ciò che trovi nei passaggi da 3 a 7 spetta al fornitore dell'app. Il che ci porta all'ultima parte.

Quattro domande da fare a un fornitore
Falle prima di installare, e considera la vaghezza una risposta.
- Avete verificato l'interfaccia della vostra app lato negozio secondo le WCAG 2.1 o 2.2 livello AA, e quando?
- Le vostre modali implementano la semantica di dialogo e la gestione del focus, cioè ruolo, nome accessibile, trappola del focus, Esc e ritorno del focus?
- Ogni funzione della vostra app può essere completata usando solo la tastiera?
- E che cosa resta aperto?
La quarta domanda è quella che dice di più. Un fornitore con una risposta vera ce l'avrà, perché tutti hanno qualcosa di aperto. La mia lettura è che «siamo pienamente conformi» di solito significa che nessuno ha guardato, e vale la pena ricordare su che cosa verteva davvero il provvedimento della FTC contro accessiBe: non sulla parola conforme, ma su un'affermazione di conformità che l'azienda non era in grado di dimostrare.
In pratica, chi viene perseguito da querelanti e autorità è il merchant che gestisce il negozio, non i fornitori dei singoli pezzi. È scomodo, perché una buona parte di ciò che arriva ai tuoi clienti è codice che non hai scritto e non puoi modificare. Quello che controlli è la scelta dei fornitori e ciò che pretendi da loro. Se stai confrontando app e vuoi lo stesso sguardo applicato alla conversione invece che alla compliance, la nostra guida alla strategia di upselling e la nostra guida all'ottimizzazione del checkout coprono quel lato. Se vendi nell'UE, il pulsante di recesso e gli altri vincoli europei di cui abbiamo scritto arrivano nello stesso periodo dell'European Accessibility Act.
Le correzioni nate da quell'audit sono state rilasciate a fine luglio e sono attive in Candy Rack, anche nel cassetto del carrello e nella barra dei premi. Se trovi qualcosa che ci è sfuggito, diccelo: lo correggeremo invece di discutere sulla gravità.
Questo articolo descrive il nostro audit e costituisce un'informazione generale, non una consulenza legale. Per i tuoi obblighi ai sensi dell'ADA, dell'European Accessibility Act o delle leggi nazionali di recepimento, rivolgiti a un avvocato.







