Skip to content

Accessibility Statement

I'm committed to making this site accessible to everyone. This page outlines the measures taken and standards followed.

Conformance Standard

This site targets WCAG 2.2 Level AA conformance. WCAG (Web Content Accessibility Guidelines) defines requirements for designers and developers to improve accessibility for people with disabilities.

Measures Taken

  • Semantic HTML5 with proper heading hierarchy throughout
  • Colour contrast ratios of at least 4.5:1 for normal text and 3:1 for large text
  • Custom :focus-visible styles on all interactive elements
  • Skip-to-content link for keyboard users
  • Full keyboard navigation including focus trap in mobile menu
  • prefers-reduced-motion respected — all animations disabled when enabled, including the 3D hero scene
  • prefers-color-scheme support with manual dark/light toggle
  • Form inputs with visible labels and descriptive error messages
  • Decorative 3D canvas elements marked with aria-hidden="true"
  • axe-core automated accessibility auditing in CI pipeline with a zero-violations target

Known Limitations

Some limitations exist:

  • Third-party embedded content (e.g., syntax highlighting themes) may not meet all contrast requirements
  • The interactive 3D hero scene is purely decorative and provides no content — it is hidden from assistive technology and disabled for users who prefer reduced motion

Assistive Technology Testing

This site has been tested with VoiceOver on macOS, keyboard-only navigation, and automated tools including axe-core and Lighthouse.

Feedback

If you encounter any accessibility barriers on this site, please get in touch. I take accessibility feedback seriously and will work to address any issues promptly.