Accessibility
Target is WCAG 2.1 Level AA. Contrast is not a claim here — it is a build gate that fails the release.
What is enforced automatically
- Colour contrast. Every foreground/background pairing in the palette is measured against WCAG maths on each build. If one drops below 4.5:1, the build fails. The palette was changed once already because a banner measured 3.79:1 and a secondary text colour 3.95:1.
- Status is never colour alone. Achieved, claimed and planned each carry a text label, because colour alone fails for roughly 8% of male readers and disappears entirely in a screenshot or print.
- Keyboard navigation. A skip-to-content link comes first in the DOM, and focus is visible on every interactive element via a ring that itself meets contrast.
- Semantic structure. Real headings in order, real tables with scoped headers and captions, real lists. Data tables are marked up as tables, not as styled divs.
- Works without JavaScript. Only search needs it, and that page names the non-JavaScript routes to the same content.
Known to be imperfect
- Wide tables scroll horizontally on narrow screens. The benchmark tables carry many columns, and horizontal scrolling on a phone is awkward. It is the honest trade against hiding columns a reader came for.
- No screen reader audit has been done. Structure follows the rules, but rules-following is not the same as testing with a real assistive technology, and it would be dishonest to imply otherwise.
- Contrast is automated; layout and reading order are not. Those are checked by eye, which is weaker.
If something here is unusable for you, that is a defect worth fixing. The gaps above are listed rather than glossed over, for the same reason coverage exists.