Accessibility
Every figure readable, with or without sight
Last updated October 9, 2026. The target is WCAG 2.2 at level AA. Write to [[CONTACT EMAIL NEEDED]] about anything that stops you, and the desk answers within two business days.
What has been done
- Contrast is measured, not judged by eye: body text is 14.5 to 1 against the page, the lightest text at least 5.3 to 1, and the red pencil at least 5.0 to 1. Every page is checked with an automated contrast instrument on the live site before release.
- Red never carries a meaning alone. An ASSUMED line length carries the word ASSUMED beside its red mark, and every tick mark has a text equivalent that screen readers announce: counted, ASSUMED, not found, not read.
- Every ledger is a real table with column and row headers. A ledger wider than the screen scrolls inside its own frame, which takes keyboard focus.
- Every action is reachable by keyboard, with a visible focus ring, and every control is at least 44 pixels tall. Form fields name their errors in words beside the field.
- The readout's progress is announced as it happens: which call to GitHub is being asked, and what came back.
- With reduced motion set, nothing moves; tick marks appear in their final state. Without JavaScript, the prices, the refusals and the memo's sections still read in full.
- Text can be enlarged to 200 percent without loss, and the pages hold at 320 pixels wide.
Known limits
- No screen-reader session with a person has been run yet; the checks so far are automated. That is the next one.
- The memo's PDF is produced per order. The HTML version, delivered alongside it, is the accessible original.
- Payment happens on Stripe's checkout page, and its accessibility is Stripe's.
Tell the desk
If something on this site blocks you, write to [[CONTACT EMAIL NEEDED]] with the page and what happened. The desk will answer, fix what it can, and take your order by email in the meantime if the form is the obstacle.