Skip to content

Pillar 1 of 4

Accessibility that doesn't hide behind a green checkmark

We run the same axe-core engine that powers Deque's commercial tooling — and we tell you the truth about what automated testing can and can't find.

Why automated scanning is necessary but not sufficient

Accessibility lawsuits in the US increased every year from 2018 to 2024. The vast majority cited issues that an automated scanner would have caught: missing alt text, contrast failures, form labels, broken focus order. Catching those issues early — and continuously — is non-negotiable. But here's the part most vendors won't tell you: axe-core, the engine behind every credible automated accessibility scanner including ours, catches roughly 50–60% of WCAG issues. The rest require a human. We surface that limit clearly. If a vendor claims 100% coverage or an AAA badge from automated testing alone, walk away.

How findings reach your team

Every violation comes with the rule ID, severity, the offending DOM node's outerHTML, the CSS selector, and a short failure summary that tells your engineer what to change. We link to Deque's rule documentation so the developer doesn't have to context-switch. Findings are stored as JSON. You can export them, diff them between scans, or pipe them into a future GitHub Action that fails the build on regressions.

Score interpretation

Each violation is weighted by axe-core impact: critical = 10, serious = 5, moderate = 2, minor = 1. We subtract the total from 100 for the per-page score, floored at zero. A score of 90+ usually means a small handful of minor issues. 70–89 means a real backlog. Below 70 means the page has structural problems and needs a focused remediation pass.

Esempi di riscontri

serious

Gli elementi del modulo devono avere etichette

Il form di login su /signin ha un campo email senza un <label> associato e senza aria-label. Gli screen reader annunciano il campo come "edit text" senza contesto, e gli utenti con disabilità cognitive che si affidano al testo segnaposto perdono l’indizio durante la digitazione.

<input type="email" placeholder="Email" class="form-input" />

Correzione: aggiunga <label for="email">Email</label> oppure aria-label="Email".
serious

Contrasto cromatico insufficiente

Il testo del body su /pricing usa #9CA3AF su #FFFFFF — rapporto 2.84:1. WCAG 2.1 AA richiede 4.5:1 per il testo del body. Gli utenti con ipovisione, display più vecchi o con riflessi del sole avranno difficoltà a leggerlo; alcuni non vedranno affatto il testo.

Elemento     : <p class="text-slate-400">Most popular plan</p>
Primo piano  : #9CA3AF
Sfondo        : #FFFFFF
Rapporto      : 2.84:1 (serve 4.5:1)
Correzione   : scurisca a #6B7280 (5.85:1) oppure aumenti il peso del font a 700+ a 18.66px+ (regola per large-text).
moderate

La gerarchia dei titoli salta un livello

La pagina /blog/post-template passa da <h1> direttamente a <h3>, saltando <h2>. Gli screen reader espongono la struttura della pagina attraverso i livelli dei titoli, e i vuoti confondono gli utenti che navigano con la H-key. Anche i crawler dei motori di ricerca usano la gerarchia per valutare la rilevanza delle sezioni.

Struttura della pagina:
  H1: Titolo dell’articolo
    H3: Intestazione sezione        ← saltato H2
      H4: Sottosezione

Correzione: cambi <h3> in <h2>, oppure inserisca un <h2> di wrapping se il <h3> è davvero una sottosezione.

Scansioni il Suo sito in 60 secondi

25 crediti gratis. Nessuna carta di credito. Riscontri reali sulla pagina che La interessa.