Commitment
Accessibility
Building for everyone, by design.
WCAG 2.1 AA — Ongoing
Our commitment
Accessibility is a core part of my practice as a product designer — not a checkbox. I aim for this site to conform to WCAG 2.1 Level AA and to be usable by the widest possible audience, regardless of ability or technology.
What's been done
- Semantic HTML — Pages use proper heading hierarchy, landmark regions (
<main>,<header>,<nav>,<footer>), and meaningful link text. - Keyboard navigation — All interactive elements (links, buttons, form fields) are reachable and operable by keyboard alone.
- Focus management — Visible focus styles are preserved throughout. The navigation panel and mobile menu manage focus appropriately.
- Color contrast — Text and UI elements meet or exceed the 4.5:1 contrast ratio requirement at both body and large-text sizes in both light and dark modes.
- Dark mode — A high-contrast dark theme is available and persisted via
localStorage, reducing eye strain for users who prefer it. - Reduced motion — Animations and parallax effects respect the
prefers-reduced-motionmedia query. - Alternative text — All meaningful images have descriptive alt attributes. Decorative images use empty alt values.
- ARIA labels — Icon-only buttons carry
aria-labelattributes; interactive components include appropriate ARIA roles and states. - Form accessibility — All form inputs are associated with visible labels and include
autocompletehints where applicable.
Known limitations
This site is actively maintained and improvements are ongoing. Some areas I'm aware of and working on:
- Skip-to-content link is not yet implemented on all pages.
- Lucide icon SVGs loaded from CDN may not carry title elements in all contexts.
- Some case study pages contain dense image-heavy content where alt descriptions could be more detailed.
Tools & testing
Accessibility checks are performed using:
- Manual keyboard-only navigation testing
- VoiceOver (macOS/iOS) and NVDA (Windows) screen readers
- Chrome DevTools accessibility panel
- axe browser extension for automated audits
Feedback
If you encounter a barrier on this site, I want to know. Please get in touch with a description of the issue and the page where you encountered it. I'll respond and aim to fix it promptly.