accessibility , updated

What is checked, and what is not.

This site is built to WCAG 2.2 level AA. Built to, not certified against: the automated checks below run on every push, and the manual testing below that has not happened yet. Both lists are here because the second one is the useful one.

How the site is built

  • Real landmarks on every page — header, primary navigation, main and footer — with a skip link as the first thing you reach by keyboard.
  • One h1 per page, and headings in order under it.
  • A two-tone focus ring on every link, button and field: a solid outline for the shape, a halo for contrast. Windows high-contrast mode drops the halo and keeps the outline.
  • Every text and background pair passes 4.5:1; the closest is a caption on the stone band at 4.78:1. Amber is a fill on light grounds and only becomes text on black.
  • Nothing is carried by colour alone. The current page in the navigation is bold as well as marked, and figures are labelled in text.
  • Touch targets of at least 44px on phones.
  • Laid out for 320px and for 200% zoom without sideways scrolling. Type is set in rem, so browser text size settings work.
  • No motion is needed to read anything, and decorative marks are hidden from screen readers and from high-contrast mode.
  • Pages carry no JavaScript unless they hold a demo, so nothing breaks when scripts do not run.

Checked on every build

  • Lighthouse scores 100 for accessibility on the home page, the experience page and a project page, or the build fails.
  • The markup is validated on every page of the built site.
  • Lint rules cover the accessibility mistakes a linter can see: missing alternative text, a control with no name, a heading out of order.
  • Colour pairs are checked against the token file rather than by eye, so a new colour cannot quietly fail contrast.

Automated checks catch a minority of accessibility problems. They are good at missing names and bad contrast, and blind to whether a page actually makes sense read aloud.

Not tested yet

  • Screen readers. Nothing here has been through VoiceOver, NVDA or JAWS.
  • A full keyboard pass on every page, rather than the paths I happen to use.
  • Windows high-contrast mode on actual Windows.
  • Zoom to 200% and a 320px window, checked by hand rather than designed for.

I do not use a screen reader day to day, and testing one properly means more than switching it on for five minutes. Rather than claim a pass I have not run, this list stays here until it is shorter. If you use any of the above and something is wrong, you will find it long before I do.

Report a problem

If something here gets in your way, email ahmed@amsozzer.com with the address of the page and what happened. Tell me what you were using — browser, screen reader, zoom level — and I will fix it.