Skip to content

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.

Get in touch

Tell me about your project, role or idea. I usually reply within a couple of days.

I only use your name, email and message to reply to you. No cookies, no tracking.Privacy policy

Esc