Conformance · Statement

Accessibility statement

This site is built for everyone who lands on it — including keyboard, screen-reader, low-vision, and reduced-motion users. The notes below describe what's been done, what's still being worked on, and how to flag a barrier if you find one.

Last reviewed:

Conformance status

josephkbaker.com targets WCAG 2.1 Level AA conformance with Level AAA enhancements where they fit (focus appearance, reduced motion, high color contrast). Statement last reviewed: .

A regression suite using axe-core (opens in new tab) runs against every primary route as part of the accessibility test gate (pnpm test:a11y).

Technical approach

  • Semantic HTML5 — landmarks (<header>, <nav>, <main>, <footer>), heading hierarchy without skipped levels, and lists for lists.
  • Skip-to-content link as the first focusable element on every page.
  • Keyboard navigation tested across all interactive widgets — primary nav, theme picker popover, expandable adventure entries, and the contact form. Focus returns to the trigger when overlays close.
  • prefers-reduced-motion respected site-wide — animations collapse to instant transitions, the cursor aura and ember canvas suspend, and the scroll-reveal animation is skipped entirely.
  • Color contrast — body and UI text meet or exceed WCAG AA (4.5:1 for normal text, 3:1 for large text). The Diablo gold accent on the dark background measures ≈ 11.6:1.
  • Visible focus indicators on every interactive element via a high-contrast 2px gold ring (WCAG 2.2 SC 2.4.11).
  • Screen-reader-friendly ARIA — live regions announce theme changes and form state, icon buttons carry aria-label, decorative graphics are aria-hidden, and external links announce "(opens in new tab)" through a visually hidden suffix.
  • No-JS fallbacks — scroll-reveal content stays visible when scripting is disabled (@media (scripting: none)).

Known limitations

As of the statement date, the following items are tracked but not yet at full AA inside the audit gate:

  • /playground/theme-editor — the client-only theme authoring surface is a complex interactive editor and is currently excluded from the automated axe sweep. A dedicated audit pass is scheduled for Phase 3.
  • Cloudflare Turnstile widget on the contact form is a third-party iframe; its internal accessibility is governed by Cloudflare. The surrounding form, error region, and submit ritual are audited as part of the contact-page gate.

If a barrier reaches you that isn't on this list, please report it — see the next section.

Feedback

If you encounter an accessibility barrier on josephkbaker.com — anything from a missing label to a focus trap to text that's hard to read — please reach out:

I aim to respond within 2 business days and to ship a fix as quickly as the issue's scope allows.

Standards referenced