$ cat ./accessibility
Accessibility
I build both of my sites against WCAG 2.2 AA. Most of what I can measure meets it, and the places that don't are listed below under known gaps. I'm still not going to write "fully conformant" at the top of this page, because I haven't sat down with a screen reader yet, and that's the part no amount of measuring covers.
v1.1 · updated 2026-09-23
# what I checked
Every page in both sites' sitemaps, 63 of them. Each one declares its language, has a single h1, uses a real <main> landmark, and offers a skip link to it. No heading level is skipped anywhere. Every image has alt text.
Keyboard focus is visible on purpose rather than by browser default, and if your system asks for reduced motion the page transitions stop. Things you click are real buttons and links, so they work without a mouse.
I checked every colour in the palette against both backgrounds it gets used on. The standard asks for 4.5 to 1 on normal text. The weakest text of the site's own is now 5.1 to 1, the comments in code blocks. Body text is 16 to 1, and the dimmed text you're reading now is 6.6 to 1.
Two of those failed when they were first measured. Comments in code blocks sat at 4.42, and the small print in the footer scraped past at 4.56 on 11 pixel text. Both were changed. The code-comment change didn't reach the code blocks themselves until v1.1, as the log below records.
# what I haven't checked
A real screen reader. Everything above comes from measuring the markup and the colours, which catches the mechanical problems and tells you nothing about whether the thing is pleasant to listen to. Until I've done that, treat the AA target as a direction rather than a result.
The comment box is someone else's code running on my page. I picked it and I'm responsible for it being there. The automated checker has been over it. What it found in normal use is fixed from this side. The error message it shows when it can't load is still low contrast, and I can't fix its internals. If it gets in your way, tell me, because that's the sort of thing that decides whether it stays.
# known gaps
On a phone, the tag and label links under post titles are smaller than the 24 pixel target WCAG 2.2 asks for. That shows up on the home page, the blog index and the tag pages.
The markers on the Chronochasm timeline are also under 24 pixels. Every moment they open can also be reached from its card or from the list of all moments, both of which are full size.
On a phone, the table in the Ceph metadata post scrolls sideways but can't be reached with Tab, so it can't be scrolled from a keyboard.
# if something blocks you
Email me at hello@maxfieldallison.com and tell me what you were trying to do. You don't need to know the terminology or which rule it breaks. "I couldn't get to the thing" is a complete bug report.
This is a personal site, so it's me reading that mail and me fixing it. No ticket number, but also nobody to route around.
# log
v1.1 · 2026-09-23 · Re-audited after the arcade, Chronochasm, the pets page, the support page and newer posts went up. This pass ran an automated checker, axe-core, against every page in both sitemaps at desktop and phone widths, and walked the navigation, comments, arcade and Chronochasm with a keyboard. Fixed in this version: links inside sentences were marked by colour alone, and now carry an underline. Code comments were still drawn in the old colour (see the correction below). The comment box used its light theme for anyone whose system is in light mode, which put dark grey text on this dark page. Its links showed no focus ring, and its moderator badge was white text on light green. Opening a story in Chronochasm dropped keyboard focus, and Chronochasm had no skip link. The scrolling tables on the labs page could not be reached with Tab. What is still open is listed under known gaps.
v1.0 · 2026-08-22 · First version, written from an audit of the built output of both sites rather than from intent. The audit turned up two contrast problems, in code comments and in the footer small print, and both were fixed before this page went up.
Corrected 2026-09-23: only the footer fix reached the page. The code comment fix changed a colour setting that the code blocks never read, so comments in code blocks stayed at 4.15 to 1 until v1.1.
If something on either site regresses, or a test I haven't run yet turns something up, it gets a line in this log and the old entries stay. A page like this is only worth anything if it can report bad news.