Accessibility
What we have built in, how it was tested, what we know is imperfect, and how to tell us when something blocks you.
The target
This site is built to conform to WCAG 2.2 Level AA. That is a floor rather than an ambition, and it is checked by measurement rather than by intention.
What is built in
- Contrast, measured. Every text color is defined twice — once for the light theme, once for the dark — and the contrast of every visible text node is computed against its actual painted background in both. The site is not a light design with a dark skin applied.
- Keyboard operation throughout. Every control is reachable and operable from the keyboard, focus is always visible with a thick high-contrast outline, and the tab order follows the reading order. A skip link is the first thing focus lands on.
- Search as a real combobox. The header field implements the ARIA combobox
pattern: arrow keys move through results, Enter opens the highlighted one,
Escape closes the list, and the active option is announced through
aria-activedescendant. - Structure that means something. One
h1per page, headings in order with nothing skipped, real landmarks, lists marked up as lists, tables with proper header cells. - Honest alternative text. The figure on an answer page is an abstract arrangement of rules, not a photograph. Its alternative text says so, rather than describing a scene that is not there. Decorative shapes are hidden from assistive technology entirely.
- Reflow and zoom. The layout works from 320 px upward and at 200% zoom with no horizontal scrolling. Where a table cannot be made narrow enough, it scrolls inside its own focusable region rather than pushing the page sideways.
- Motion. There is almost none, and what exists is disabled under
prefers-reduced-motion, including smooth scrolling. - Text. Nothing is set in an image. Text can be resized, re-spaced and re-styled by your own settings without anything breaking or overlapping.
- Works without JavaScript. Every page reads and every link works with scripting off. Only search and the theme toggle need it, and search degrades to a message pointing at the full listing.
How it was tested
Automated contrast auditing across every page in both themes, computing the true painted background rather than the declared one. Layout measured in a real browser at 320, 390, 430, 768, 1280 and 1920 px. Keyboard walkthroughs of the header, the search combobox, the menu, the theme toggle and the answer pages. Structure checked programmatically for heading order, landmark presence, label association and alternative text.
Known limits
- Wide comparison tables scroll horizontally inside their own region on a narrow screen. The region is focusable and labelled, but reading a five-column table on a phone is still work.
- Automated testing does not substitute for testing with the people who actually use assistive technology. Reports from readers are the most useful signal we get, which is why they go to the front of the queue.
Reporting a barrier
Write to [email protected] with Accessibility in the subject. Tell us the page, what you were trying to do, and what happened instead — including your browser and any assistive technology, if you are comfortable saying. These are treated as defects, not as requests, and are fixed ahead of other work.
Related
The editorial standards cover the writing itself; plain language is an accessibility measure too. The privacy page explains why there is no third-party code on this site, which is also why nothing here can break your screen reader without us knowing.