Accessibility
Accessibility statement
Commitment
I'm committed to making this site accessible to everyone. It targets WCAG 2.2 Level AAA conformance and is tested with both automated tools and manual keyboard/screen-reader checks.
What I do
- Semantic HTML throughout — headings, landmarks, lists, and ARIA only where HTML falls short.
- A clear heading outline on key pages (including section
h2s on the home page). - Theme control exposes state with
aria-pressedand anaria-labelthat matches light vs dark mode. - After in-site navigations (view transitions), focus moves to
#main-contentso keyboard and screen-reader users land on the new page. - All text meets a minimum 7:1 contrast ratio against the background (AAA).
- Focus indicators are visible on every interactive element.
- All interactive targets are at least 44 × 44 CSS pixels.
- Motion is reduced when the operating system preference is set.
- The site is fully navigable by keyboard alone.
-
Continuous integration runs
astro check, unit tests, and axe in Chromium across major templates in both light and dark colour schemes; the build fails on axe serious and critical issues. Moderate findings are reviewed case by case. Manual checks still matter — automation does not catch everything.
Known limitations
- Some articles are partially mirrored from Medium. Where a full local version is not yet available, the article links out to Medium — Medium's own accessibility is outside my control.
Feedback
If you find an accessibility barrier on this site, please open an issue on GitHub (opens in new tab) or reach out on LinkedIn (opens in new tab). I take every report seriously and aim to respond within five business days.
Last updated: April 2026