Accessibility of this site
The target for this site is WCAG 2.2 level AA. This page says what is tested against that target and what is not, because a target is not a conformance claim and the difference matters to anyone relying on it. No conformance statement is made here.
What is tested, before each release
These checks are run against the built site before each release, and the site is not deployed while one of them fails. Running them is a step in the release, not something the build does on its own — so this page says "before each release" rather than claiming a gate that stops a build.
Which pages. The site publishes 23 pages, most of them records built from one template. The checks that load a page in a browser are run on one page of every template: the index, one record page, the pricing page and each of the eight policy pages — eleven pages. The keyboard walk covers all eleven of them, the pricing page included. The checks that read the built files instead of loading them run on all 23 pages.
Checked in a real browser (Chromium):
- A keyboard walk: each of those eleven pages is tabbed through stop by stop, a visible focus indicator is asserted at every stop, and focus is asserted to leave the document rather than be trapped in it.
- The provenance panel by keyboard: Enter on a focused source chip is asserted to leave its panel open, and Escape is asserted to close every open panel and return focus to the chip it came from — the dismissible half of WCAG SC 1.4.13.
- The provenance panel's position: an opened panel is asserted to sit inside the viewport, unclipped and uncovered at all four of its corners, with its source URL inside the right edge, at 1024 and at 390 pixels wide.
- A responsive sweep: those eleven pages are rendered at seven widths — 320, 390, 640, 820, 1024, 1400 and 1920 pixels — and asserted at each not to scroll the page horizontally, with the comparison table asserted not to clip its rows or columns and its hidden-column control asserted to state a count that is actually true.
- Console cleanliness: zero console errors and zero page errors across every load in that sweep and that walk.
Checked statically, with no browser — the first of these reads the design spec, the rest read the built pages:
- Colour contrast, read from the design spec: every colour pair the design spec's own tables specify is recomputed from the hex values in those tables and measured against the WCAG contrast minimums for text and for non-text elements — 69 pairs in the light theme and 76 in the dark theme, 145 across both. This checks the spec's own tables, not the built pages and not the rendered pixels.
- Structure and markup: landmarks, a skip link first in the tab
order, table captions,
scopeon header cells, heading order, labels on inputs, accessible names on SVGs andlang="en"— asserted in the markup of all 23 pages as shipped. - Page weight and external requests: every page is held to a byte budget and asserted to load nothing from any external host.
- Links and page metadata: every internal link resolving to a file
the build actually emitted, and one
h1, a title, a description and a canonical URL on every page.
Built in, but not machine-checked
These two are implemented in the code and are not asserted by any check, so they are listed here rather than counted above:
- Reduced motion. The stylesheet honours the operating system's
prefers-reduced-motionsetting. Nothing measures that it does. - The rest of WCAG SC 1.4.13. The source chip's panel is built to be hoverable, to persist until it is dismissed, and to be pinned open rather than hover-driven on touch input. The keyboard dismiss path is machine-tested, as above; the hover and touch halves are not.
What is not tested
- Other browsers. Nothing is verified in Firefox, Safari or any engine other than Chromium.
- Real devices, and touch. The responsive sweep is measured in an emulated viewport, not on a physical phone or tablet, and no touch interaction is exercised at all.
- Assistive technology. No screen-reader walk has been performed — not with NVDA, JAWS, VoiceOver or Orca. Markup is written with headings, landmarks, table semantics and accessible names in mind, but nobody has yet listened to these pages.
- Voice control, switch access, magnification and other input or output methods have not been tested.
Anything on that list can hide a barrier the checks above would not notice. It is listed rather than left out for exactly that reason.
If you hit a barrier
Write to hello@evalindex.dev. What helps most: the page URL, what you were trying to do, what happened, and the browser, assistive technology and operating system you were using. A rough description is still worth sending — a report that is hard to reproduce is better than a barrier nobody knows about.
What happens next: the report is acknowledged, the barrier is reproduced if it can be, and it is fixed. Where a fix is genuinely not quick, the reply says what the barrier is and what the alternative route to the same information is — the comparison data is also published as JSON at /index.json, which sidesteps page rendering entirely. Fixes are made without argument about whether a barrier counts.
This is a small site operated asynchronously; the honest commitment is that reports are read, answered and acted on, not that they are answered within a fixed number of hours.
This statement was first published on 23 August 2026 and describes the site as it stood on that date.