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.
Hit a barrier? Start here
Live conformance status
This is the current state, re-checked on every release of the site.
Passing Automated scan last run June 19, 2026. axe-core plus custom WCAG checks, 0 violations across 8 pages.
Full conformance report
| Criterion | Status |
|---|---|
| 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 |
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.