Checklist di verifica
I controlli da fare su un sito per verificarne la conformità tecnica, distinti tra quelli automatizzabili e quelli che richiedono una verifica manuale.
Questa è la checklist che usiamo negli audit. È divisa in due parti, perché la distinzione è importante: alcuni controlli si possono automatizzare e mettere in CI, altri richiedono un occhio umano, e confondere i due porta a un falso senso di sicurezza.
Dati aziendali e footer
- Il footer è presente su tutte le pagine, home inclusa
- La home page contiene la partita IVA (art. 35 DPR 633/1972)
- Sono presenti ragione sociale e sede legale
- Per le società di capitali: REA, capitale sociale e, se ricorre, socio unico
- I dati coincidono con la visura camerale aggiornata
- I dati sono testo selezionabile, non immagini
Pagine legali
- Esiste l’informativa privacy ed è raggiungibile da ogni pagina
- Tutti i link legali rispondono 200: nessun link a pagine inesistenti
- Le pagine pubblicate corrispondono a quelle linkate nel footer
- Ogni pagina legale riporta una data di ultimo aggiornamento
- Nessun riferimento residuo alla piattaforma ODR (chiusa nel 2025)
Form e consensi
- Ogni form ha una base giuridica identificata e documentata
- Nessuna checkbox obbligatoria “accetto l’informativa privacy”
- Nessun consenso pre-spuntato
- Le finalità sono separate: newsletter ≠ marketing ≠ profilazione
- I consensi facoltativi non bloccano l’invio
- L’informativa è linkata nel form, non solo nel footer
- Ogni campo ha una
<label>associata - I consensi raccolti sono registrati con data, finalità e versione dell’informativa
Cookie e tracciamento
- In sessione pulita, nessun cookie non tecnico prima del consenso
- Nessuno script di terze parti caricato prima del consenso
- Comportamento corretto anche dopo un rifiuto e nelle pagine successive
- “Accetta tutti” e “Rifiuta tutti” hanno pari evidenza
- La revoca è raggiungibile da ogni pagina
- La cookie policy elenca i cookie realmente presenti
- Font, mappe e video esterni sono gestiti o auto-ospitati
Accessibilità
-
langdichiarato su<html> - Un solo
<h1>per pagina, gerarchia dei titoli senza salti - Contrasto ≥ 4.5:1 sul testo, ≥ 3:1 su componenti UI
- Ogni immagine ha un
altcorretto (vuoto se decorativa) - Navigazione completa da tastiera, focus sempre visibile
- Skip-link al contenuto principale
- Il banner cookie rispetta gli stessi criteri
- Reflow corretto a 320px e zoom al 200%
E-commerce
- Prezzo totale (IVA e spese incluse) prima della conferma
- Pulsante finale che esplicita l’obbligo di pagamento
- Termini di vendita accettati esplicitamente
- Informazioni su recesso e garanzia disponibili prima dell’ordine
- Sconti con il prezzo più basso dei 30 giorni precedenti
- Email di conferma con informazioni contrattuali e modulo di recesso
Cosa si può automatizzare
Questi controlli possono stare in una pipeline di CI e girare a ogni rilascio:
| Controllo | Come |
|---|---|
| P.IVA presente in home | Test sul markup renderizzato |
| Link legali non rotti | Crawler interno sul build |
| Errori di accessibilità | axe-core, pa11y, Lighthouse CI |
| Cookie prima del consenso | Playwright con ispezione di document.cookie e richieste di rete |
lang, <h1> unico, alt presenti | Parsing dell’HTML statico |
| Riferimenti a norme obsolete | grep sui contenuti (es. 524/2013) |
Un esempio del controllo più utile in assoluto, quello sui link legali:
test("nessun link legale rotto", async () => {
const home = await render("/");
const href = [...home.matchAll(/href="(\/[^"#?]*)"/g)].map((m) => m[1]);
for (const url of new Set(href)) {
expect(await esiste(url), `link rotto: ${url}`).toBe(true);
}
});
Cosa resta manuale
Nessuno strumento automatico sostituisce queste verifiche:
- la correttezza dei contenuti legali: che l’informativa descriva i trattamenti reali;
- l’individuazione delle norme applicabili al caso concreto;
- la qualità del testo alternativo delle immagini (un
altpresente ma inutile passa qualsiasi test); - l’ordine di tabulazione e la navigazione reale da tastiera;
- l’uso del colore come unico veicolo di informazione;
- la comprensibilità effettiva dei testi.
Gli strumenti automatici verificano che la struttura sia a posto e intercettano indicativamente un terzo dei problemi di accessibilità. La sostanza, legale e di usabilità, resta una valutazione umana.