Last updated August 16, 2026
Accessibility
This statement is meant to be checkable. Everything below is either something measured or something the code demonstrably does — and anything we have not verified is listed as a limitation rather than left out.
The standard we aim for
We target WCAG 2.1 Level AA. Automated testing finds no violations at A or AA, and colour contrast was measured by hand across both themes rather than eyeballed.
- Dark theme, worst case
- 5.4:1
- Light theme, worst case
- 5.3:1
- AA requires
- 4.5:1
What is built in
Contrast is measured, not estimated
Every text colour in both themes was checked against its actual background. The worst case is 5.4:1 in the dark theme and 5.3:1 in the light one, against the 4.5:1 that AA requires for body text.
The puzzle has no time limit
Nothing is timed. The countdown on the home page marks when the next puzzle arrives, never how long you have — and every past puzzle stays playable indefinitely.
Two themes and a ligature switch
Dark and light are both first-class rather than one being an afterthought. Programming ligatures are off by default and can be turned on — they help some readers and hinder others, so it is a choice rather than a decision made for you.
Motion preferences are respected
The only animation on the site is a blinking cursor. If your system asks for reduced motion, animations and transitions are cut to effectively nothing.
Zoom is never blocked
No maximum scale is set, so pinch-zoom and browser zoom both work to any level. Layouts reflow rather than requiring horizontal scrolling; only wide code blocks scroll, and they scroll inside themselves.
Structure a screen reader can navigate
A skip link comes first on every page. Landmarks, heading order and form labels are all in place, and the syntax-highlighted copy of your code is hidden from assistive technology so it is not announced twice.
Keyboard
- Tab
- Inside the editor, inserts two spaces. Everywhere else, moves to the next control.
- Esc, then Tab
- Leaves the editor. Escape tells the next Tab to move focus instead of indenting, so the editor can never trap you.
- Tab, then Enter
- From the top of any page, reaches and follows the skip link straight to the main content.
What we have not verified
The honest part. None of these are things we are hiding until someone notices.
- The site has not been tested end to end with a screen reader by someone who uses one daily. Automated checks pass and the markup was written with assistive technology in mind, but that is not the same thing, and we would rather say so than imply otherwise.
- Automated tools cover roughly a third of the WCAG criteria. Passing them, which this site does, is evidence of care rather than proof of conformance.
- The puzzle editor is a plain textarea with syntax highlighting painted behind it. That keeps it far more predictable than a custom editor widget, but it also means there is no code autocompletion, no bracket matching, and no announcement of syntax errors as you type.
- Solving these puzzles requires reading code, and code is dense. We have not found a way to make type-level TypeScript less demanding to read without making it a different subject.
Found a barrier?
Tell us what happened, which page, and what you were using — browser, screen reader, anything relevant. Accessibility reports go to the front of the queue, and you will get a reply from a person rather than a form.
Report an accessibility problem