Ben Sachwitz ← Back to portfolio
Accessibility Statement

Built for everyone.

This portfolio is a small static site, so most accessibility work is structural: keyboard paths, visible focus, readable contrast, and motion that stands down when asked. This page states the target, what is in place, what is known-limited, and how to report a barrier.

Last reviewed: October 17, 2026

The short version

This site targets WCAG 2.2 Level AA. That is a target, not a certification: the site has not had an independent accessibility audit.

Recent work fixed booking-field errors that were shown only by color, added pause controls to both rotating sections, and measured the muted-text and focus-ring contrast pairs. The known limits below are the parts that still need work.

What is in place today

Keyboard

A skip link is the first tab stop and jumps to the main content. Every link, button, form control, and modal is reachable by keyboard. Dialogs close on Escape, trap focus while open, and return focus to the control that opened them.

Focus

Interactive elements carry a :focus-visible ring on both dark and light surfaces. The ring is styled separately for dark grounds so it stays visible against the page, not just against a white card.

Forms

Contact and booking fields have visible labels. Booking errors now produce a text message announced through role="alert", set aria-invalid, and point the field at its message with aria-describedby.

Motion

prefers-reduced-motion turns off autoplay and non-essential animation. The hero photo rotation and the apps carousel each carry a 44px pause and play control, and a user pause is sticky until the visitor resumes it.

Structure and targets

Pages use landmarks, a single h1, ordered headings, and alt text for content images. Buttons and standalone links meet a 44px target; links inside running prose follow the WCAG 2.5.8 inline exception.

Known limits

  • The arcade is a set of optional canvas games. Many accept keyboard input, but they are reaction- and vision-heavy by nature, and not every game state is announced to a screen reader. Nothing on the site depends on playing them.
  • The live booking calendar is a Cal.com embed. The site owns the path to it and the focus trap around it, not the widget's internals.
  • Copy-to-clipboard confirmations are announced through a polite live region; a real-device screen-reader tap check is still owed.
  • This is a hand-built static site. Link, HTML, and a11y source checks live in the test suite, but a full browser and screen-reader pass is periodic, not continuous.
  • No independent accessibility audit or certification has been completed. This statement is a self-assessment.

Report a barrier

If something blocks you, use the contact form or write to bensachwitz@gmail.com. Include the page, what you were trying to do, and the technology you use (for example VoiceOver on iPhone, NVDA on Windows, keyboard only, or voice control).

Accessibility reports get priority; I aim to reply within two business days.