295 silent firms · 60 metros · measured 08/28Count mine →
ProductEvidencePricingFAQCount mine
Checked at every build

Measured, not asserted. Here are the numbers.

An accessibility statement that says “we care about accessibility” is worth nothing. This one lists what is checked automatically before the site is published, and what the last check found. The checks are part of the build, so a regression stops the site rather than shipping.

4.5:1minimum text contrast

Every text-and-background pair is measured. The only pair below it is the giant figure, at 3.14:1 — which meets the AA threshold for large text.

44pxminimum touch target

Every link, button, field and summary is measured at 390px wide. Last check: none below.

320pxnarrowest width checked

No horizontal scrolling at 320, 360, 390, 768, 1024, 1440 or 1920 pixels.

0keyboard stops without focus

45 tab stops walked in order; every one shows a visible outline.

In detail

What is checked, and how

Each line is a check that runs in `verifier.py`. Where a thing is not checked, the line says so instead of implying it is fine.

Contrast

Every element that contains text is measured against the background actually painted behind it, not against an assumed colour. The build fails if a new pair falls below 4.5:1. Colour is never the only carrier of meaning: every figure marked in red also carries its number in words.

WCAG 2.1 SC 1.4.3 and 1.4.1 · measured by site/audit_design.py

Keyboard

The whole page is walked with the Tab key and every stop must show a visible outline. Three form fields once had a local rule that removed theirs; that is why this check exists.

WCAG 2.1 SC 2.1.1 and 2.4.7 · measured before each publication

Motion

Every animation on the site — reveals, counters, the drawn logo, the parallax — is disabled when the browser asks for reduced motion. Checked by loading the page with that preference and confirming that no section stays hidden and every figure is present.

WCAG 2.1 SC 2.3.3 · prefers-reduced-motion honoured throughout

Without JavaScript

The page is readable with scripts disabled: every section is visible and every figure shows its real value. The counters carry their number in the HTML and the script resets them to zero only to animate — a page that showed “0” without JavaScript would state the opposite of what it measures.

Checked with scripts off; 16 of 16 sections visible

Structure and names

One h1 per page, no skipped heading level, landmarks present, every button and field named, decorative SVG hidden from assistive technology, and no two links sharing a label while pointing elsewhere.

WCAG 2.1 SC 1.3.1, 2.4.6, 4.1.2 · Lighthouse accessibility 100 on every page

Text size and line length

Body text is 18px on desktop with a line height of 1.7, and no paragraph runs past 75 characters — measured on the rendered page, not assumed from a max-width.

Last check: one paragraph of 48 above 75 characters

What is NOT checked automatically

Screen-reader announcement order, the usefulness of every alt text, and whether the language is plain enough. Automated checks catch shape, not sense. If something here is hard to use with your tools, write and it gets fixed — that report is worth more than another audit.

Stated so that the checks above are not read as a full guarantee.

The honest limits

No accessibility conformance is claimed as a formal certification. What is claimed is that the checks listed above run before every publication and that the site is not published when one fails.

The measurements come from an automated browser, which is not a person using assistive technology. A real report from a real user takes precedence over any number on this page.