Skip to content
webtype.orgwebtype.orgAccessibility

    ↑↓ move · ⏎ open · esc close

    Last updated August 18, 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.07:1
    Light theme, worst case
    4.99: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.07:1 in the dark theme and 4.99: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. Running the checks announces its own result, so the verdict never depends on noticing a change on screen.

    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.

    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