Accessibility

Accessibility

What has been checked, what has not, and how to tell us when something is wrong.

The target for this site is WCAG 2.2 Level AA. That is the target, not a claim that it has been independently certified — nobody has audited this site but the people who built it, and this page says so rather than implying otherwise.

Last checked .

What is built in, and how it was checked

Colour is never the only signal
The green/yellow/red flag carries three independent signals at once: the colour, the word spelled out, and a drawn flag shape. Photocopy a worksheet in black and white and all three flags still read differently. The three semantic boxes do the same with fill, border weight and border style.
Every interactive part works, or fails honestly, without JavaScript
The page-number field is a real form that submits to /p/ and works with scripting switched off. Worksheets can be printed blank and filled in by hand. Timers say plainly that any clock does the same job.
No horizontal scrolling at 320px
Checked on every page template at a 320px viewport, which is the narrowest screen in common use. Tables collapse into stacked cards rather than scrolling sideways.
Text contrast
Body and label colours were measured against their backgrounds in both themes rather than eyeballed. The flag label measures 4.74:1 at its darkest and 4.67:1 at its lightest; in print, 14.1:1 to 15.9:1.
Motion is limited, and prefers-reduced-motion is honoured
Fades and short translations only, 150–250ms. No parallax, no scroll-jacking, no confetti, no counting-up numbers. Where a hover moves something, the movement is removed entirely for anyone who has asked their system to reduce motion.
Printing is a supported way to use this site
Print stylesheets are written for every worksheet, plan and receipt, not left to the browser. Several features exist specifically to be printed and taken to an adult.
A Lighthouse run, published
Chrome's own Lighthouse, mobile emulation, on four page templates: 100 for accessibility, best practices, SEO and agentic browsing on all four, with 0 failing audits. It found two real defects, which were fixed before the report was written — a console error on every page and 0.255 cumulative layout shift caused by the site header. The dated report is committed in docs/audits/ alongside the script that produced the rest of it.
No third-party code
Nothing on this site is loaded from anywhere else, which means no embedded widget, advert or consent dialog can break keyboard focus or introduce a control we did not write. A build step fails the release if an external host appears anywhere in the output.

What has not been tested yet

This is the part most statements like this leave out. None of the below means a feature is broken — it means nobody has proved it works, and saying otherwise would tell you that you were thought about when you were not.

Your 24-Hour Build

Not verified — six items, named

  • An axe-core pass. Lighthouse has been run and is published in docs/audits/, but its accessibility category uses only a subset of axe rules — a score of 100 there means no automated rule fired, not that the site works for a disabled reader.
  • Screen reader testing with a person who uses one daily. Nothing on this site has been through NVDA, JAWS or VoiceOver with a real user rather than a developer.
  • A complete keyboard-only pass of every interactive page — worksheets, timers, checklists, the receipts dashboard and the page-number field — recorded step by step.
  • Reflow and readability at 200% and 400% browser zoom on every template.
  • Testing with Windows High Contrast mode and forced-colours mode.
  • Voice control (Dragon, Voice Access) on the buttons and form fields.

Each one becomes a dated entry on the updates page when it is done, with the result — including if the result is bad.

If something does not work

Tell us. The mailbox in the footer of every page reaches an adult, and an accessibility problem is one of the few things worth writing about — we cannot fix what we do not know is broken, and this site has no analytics to notice it for us.

Say which page, what you were trying to do, and what you use to browse. Nobody reads the mailbox urgently, so if you are stuck on something you need today, an adult in the room is faster than we are.

If you are a teacher or an IT reviewer and you need a specific conformance statement for a procurement process, ask, and you will get an honest answer about what has and has not been measured — the same list as above, with nothing added for the occasion.