← Back home

Legal & accessibility

Accessibility statement

Accessibility is the point of my work, so this site is held to the standard I hold client work to: WCAG 2.2 Level AA across every page. The status below is measured by AccessSpark, the accessibility platform I built, and refreshed on every release.

Live Last verified June 19, 2026 Target WCAG 2.2 AA 0 automated issues across 8 pages

Hit a barrier? Start here

If anything on this site gets in your way, I want to know and fix it. Use the contact form and tell me what happened. I aim to acknowledge reports within two business days.

What helps me fix it faster:

  • What happened, and the page you were on
  • The assistive technology you were using, if any (screen reader, switch, magnifier)
  • Your browser and operating system

Live conformance status

This is the current state, re-checked on every release of the site.

47
Supports
Fully meets the criterion
0
Partially supports
Tracked for remediation
47
Criteria evaluated
WCAG 2.2 AA

Passing Automated scan last run June 19, 2026. axe-core plus custom WCAG checks, 0 violations across 8 pages.

Full conformance report

CriterionStatus
1.1.1 Non-text Content (A)Supports
1.3.1 Info and Relationships (A)Supports
1.4.3 Contrast (Minimum) (AA)Supports
1.4.10 Reflow (AA)Supports
1.4.11 Non-text Contrast (AA)Supports
2.1.1 Keyboard (A)Supports
2.1.2 No Keyboard Trap (A)Supports
2.4.7 Focus Visible (AA)Supports
2.4.11 Focus Not Obscured (Minimum) (AA · new in 2.2)Supports
2.5.8 Target Size (Minimum) (AA · new in 2.2)Supports
3.3.2 Labels or Instructions (A)Supports
4.1.2 Name, Role, Value (A)Supports
Showing 12 representative of 47 evaluated criteria. Full machine-readable results: accessibility.json.

How it is built

  • Every interactive element is reachable and operable by keyboard, with a visible focus indicator.
  • The page has a logical heading structure, landmark regions, and a skip link to the main content.
  • Text contrast meets at least 4.5:1, and 3:1 for large text and interface elements. Nothing relies on color alone.
  • Layout reflows to a single column at high zoom and on small screens, with no loss of content or horizontal scrolling.
  • Motion is minimal and respects the reduce-motion setting.
  • Images and icons carry text alternatives, or are hidden from assistive technology when purely decorative.
  • The contact form announces errors, marks invalid fields, and moves focus to the first field that needs attention.

How it is verified

Automated on every release

AccessSpark runs axe-core plus its own WCAG 2.2 checks against the fully rendered pages on each deploy, and publishes the results here.

Manual screen-reader testing

VoiceOver on macOS and NVDA on Windows, confirming the pages read in a sensible order and every control announces its name, role, and state.

Keyboard-only operability

Every interactive element is verified reachable and operable without a mouse, with a visible focus indicator.

Code review against WCAG

Accessibility is checked as part of every change before it ships, not bolted on afterward.

Machine-readable companion

The same results are available as data, parseable by assistive technology, procurement tooling, and AI agents.

Accessibility statement format verified by AccessSpark.