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.

Exempel på findings

serious

Formulärelement måste ha labels

Login-formuläret på /signin har ett email-input utan tillhörande <label> och utan aria-label. Skärmläsare läser upp fältet som "edit text" utan sammanhang, och användare med kognitiva funktionsnedsättningar som förlitar sig på placeholder-text tappar signalen när de skriver.

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

Fix: lägg till <label for="email">Email</label> eller aria-label="Email".
serious

Otillräcklig färgkontrast

Brödtexten på /pricing använder #9CA3AF mot #FFFFFF — ett förhållande på 2,84:1. WCAG 2.1 AA kräver 4,5:1 för brödtext. Användare med nedsatt syn, äldre skärmar eller solblänk kommer få svårt att läsa den; vissa ser inte texten alls.

Element     : <p class="text-slate-400">Most popular plan</p>
Foreground  : #9CA3AF
Background  : #FFFFFF
Ratio       : 2.84:1 (need 4.5:1)
Fix         : mörka till #6B7280 (5.85:1) eller större teckengrad 700+ vid 18.66px+ (large-text-regeln).
moderate

Rubrikhierarkin hoppar över en nivå

Sidan /blog/post-template hoppar från <h1> direkt till <h3> och missar <h2>. Skärmläsare exponerar sidans struktur via rubriknivåer, och luckor förvirrar användare som navigerar via H-key. Sökmotorns crawlers använder också hierarkin för att rangordna sektioners relevans.

Sidans disposition:
  H1: Artikelrubrik
    H3: Sektionsrubrik        ← missat H2
      H4: Underrubrik

Fix: ändra <h3> till <h2>, eller infoga ett omslutande <h2> om H3 faktiskt är en underrubrik.

Scanna din site på 60 sekunder

25 fria credits. Inget kreditkort. Riktiga findings på sidan du bryr dig om.