Accessibility Statement
Last updated: September 29, 2026
I want this site to be usable by everyone, including people who use screen readers, keyboard navigation, zoom or high-contrast settings.
Conformance target
The site aims to conform to the Web Content Accessibility Guidelines (WCAG) 2.2, level AA.
What has been done
- Structure: semantic HTML, one main heading per page, a skip-to-content link, and landmarks for navigation, main content and footer.
- Keyboard: everything works with a keyboard, focus stays visible, and the contact form traps focus while open and closes with Esc.
- Contrast: text meets at least 4.5:1 (3:1 for large text) in both the light and dark theme.
- Text alternatives: images have descriptive alt text, and icon-only controls have accessible names.
- Layout: the layout adapts from 360 px phones to large desktops without horizontal scrolling, and supports browser zoom.
- Theme: the site respects your system’s light or dark preference, and you can switch themes manually.
- Motion: if your system is set to reduce motion, all looping animations, transitions and smooth scrolling are switched off.
How it is tested
Every release is checked with automated tools: axe-core (WCAG 2.2 AA and best-practice rules), a WAVE-style contrast check in both themes, and scripted keyboard tests. Automated testing can’t catch everything, so I also check key pages by hand.
Known limitations
- Some decorative background glows and animated borders are purely visual and carry no information.
- Long code samples in blog posts scroll horizontally inside their box on narrow screens.
Feedback
If you run into a barrier on this site, please email nikos.nullwork@gmail.com with the page address and what went wrong. I aim to reply within five working days.