Accessibility

The target is WCAG 2.2 Level AA. This page says what is actually implemented, what has not been formally tested, and how to report something broken. Last updated 5 August 2026.

What is implemented

Every item here is in the code on every page, not a plan:

  • Skip to content as the first focusable element on all four layouts, so keyboard users can jump the navigation.
  • Semantic structure. Real landmarks, and headings that follow document order rather than being chosen for their font size. Section headings are h2 styled smaller, not h3 picked to look right.
  • Keyboard operable throughout. There are no mouse-only controls. Focus is visible via :focus-visible.
  • Motion respects your settings. prefers-reduced-motion disables the reveal animations and transitions. The scrolling logo strip also has a visible pause button with aria-pressed.
  • Transparency respects your settings. prefers-reduced-transparency drops the frosted-glass effects for solid surfaces.
  • Light and dark themes, with a manual toggle that overrides the system setting and persists.
  • Text alternatives. Images carry alt text, decorative marks are aria-hidden, and charts are labelled with role and aria-labelledby rather than left as unlabelled graphics.
  • Works without JavaScript. Content is static HTML. Reveal animations resolve to visible rather than leaving text at zero opacity.
  • The page declares its language so a screen reader pronounces it correctly.

What has not been verified

Being specific about this is more useful to you than a blanket assurance.

There has been no formal audit and no assistive-technology user testing. The list above is implementation I can point at in the source, checked in a browser, not a conformance certificate. "Targets WCAG 2.2 AA" is a statement of intent, not a claim to have been measured against it by a third party.

Specifically unverified: end-to-end screen reader passes on JAWS, NVDA and VoiceOver; contrast measured across every state of both themes rather than the core palette; and behaviour at very high zoom or with a custom stylesheet.

The site also has decorative background artwork behind the content in both themes. It is drawn at low contrast and should sit under text rather than compete with it, but if it reduces legibility for you I want to know, because that is exactly the kind of thing that looks fine to the person who built it.

Tell me when it does not work

If any part of this site is difficult or impossible for you to use, tell me. The Get in touch link in the header opens an email to me.

Useful if you have it: the page, what you were trying to do, and your browser plus any assistive technology. If not, send it anyway. A one-line "the contact link is unreachable by keyboard" is worth more than nothing.

I will confirm I received it and tell you honestly whether it is a quick fix or a rebuild. If it is a rebuild I will say so rather than leave it open. And if there is content you need in another format, ask and I will send it.