Skip to main content
BakedIn.coTechFoundations.ai
Accessibility · v1.0 · Effective 2026-06-01

Accessibility Statement

WCAG 2.2 AA as the target. Honest about the known gaps. A real channel to tell us when we got it wrong.

WCAG
2.2 AA
EN
301 549
Section 508
Met

Effective: 2026-06-01 · Version: 1.0

BakedIn is committed to making bakedin.co accessible to as many people as we can reach. This page tells you what standard we target, the state of the site against that standard today, what we know is not yet right, and how to ask for help or report a barrier.

We treat accessibility as a continuous engineering practice, not a one-time audit.


1. The standard we target

WCAG 2.2 Level AA — Web Content Accessibility Guidelines 2.2, conformance level AA, published by the W3C in October 2023.

Where higher-tier success criteria are reasonable for an interactive component (for example, 2.4.11 Focus Not Obscured (Minimum)) we aim for those too.

For US federal-section-508 purposes, WCAG 2.2 AA satisfies the "Revised Section 508" technical standard (36 CFR 1194 Appendix A).

For EU Web Accessibility Directive (Directive (EU) 2016/2102) purposes, WCAG 2.2 AA also satisfies EN 301 549 V3.2.1's web provisions.

WCAG 2.2 AA; EN 301 549 V3.2.1; 36 CFR 1194 App A


2. What is conformant today

The following are tested and pass, or substantially pass:

Colour and contrast

  • The site uses the BakedIn Technical Sublime palette: gold (#ECC974) on near-black (#0A0E10). Body text meets WCAG AA 4.5:1 against the background, large text meets 3:1, and our faint text token (--foreground-faint) was raised in the a11y audit on 2026-05-25 to clear 4.5:1 on both --background and --surface.
  • Focus rings are 2px gold with a 2px offset, applied via :focus-visible.

Keyboard navigation

  • A Skip to main content link appears as the first focusable item, jumping past the navigation.
  • Every interactive element (link, button, form field, lesson control) is reachable and operable with the Tab, Shift+Tab, Enter, Space, and arrow keys.
  • The LessonPlayer V2 lesson reader was specifically keyboard-tested: chunk navigation, exercise input, and the retention prompt all work without a mouse.

Screen-reader behaviour

  • All non-decorative images carry alt text; decorative imagery uses empty alt="" and aria-hidden.
  • Form fields have programmatic labels.
  • Landmarks (<main>, <nav>, <footer>) are used for region navigation.
  • Live regions (role="status") announce exercise feedback in the lesson player.

Motion

  • The site honours prefers-reduced-motion. When reduced motion is requested, all animation durations are set to 0 via a CSS custom-property override in app/globals.css.
  • No content auto-flashes more than three times per second.

Structure

  • One <h1> per page; heading hierarchy is sequential.
  • Lists are marked up as lists; tables are marked up as tables with header cells.
  • The language of the page is set on <html lang="en">.

3. Known gaps (the honest list)

We would rather list these than pretend they do not exist.

AreaGapStatus
Diagram alternative textSome lesson SVG diagrams have terse alt text that does not fully describe the figure. We are migrating to long-description <figcaption> with structured fallback.In progress; new diagrams meet the higher bar; backfill ongoing
Math notationEmbedded LaTeX renders visually but does not yet ship a MathML or aria-label fallback.Tracked; MathJax v3 with MathML output planned
Auto-playing mediaWe do not auto-play any media. Audio narration in lessons is opt-in and starts silent with a visible play control.Met
Captions on audio narrationAI-generated audio narration ships with synchronised captions auto-generated from the source markdown. Where the markdown differs from spoken text, the caption follows the spoken text.Met
Touch target size (2.5.8)Most controls meet the 24×24 CSS pixel minimum; a few mono-typography links in the footer are smaller than 24px in vertical height.Open; will widen the hit area in the next footer iteration
Cognitive accessibilityWe aim for plain language (the BakedIn writing rubric forbids em-dash overload and AI tells) but we have not done a formal cognitive-accessibility audit.Future work
Multi-languageSite is English-only today.Future work

If you hit a barrier we have not listed, please tell us — see Section 5 below.


4. Assistive technologies we test against

We test on the following combinations at minimum:

  • macOS Safari + VoiceOver
  • macOS Chrome + VoiceOver
  • iOS Safari + VoiceOver
  • Windows Chrome + NVDA
  • Windows Firefox + NVDA
  • Keyboard-only navigation across all of the above

Our colour-contrast and focus-visibility gates run in CI via the aesthetic-gate and aesthetic-audit scripts in scripts/aesthetic/.


5. How to report an accessibility barrier

If you cannot use a part of bakedin.co, please tell us. We will treat your message as a priority and try to provide the information another way while we fix the underlying issue.

We aim to acknowledge accessibility reports within 5 business days and to fix or scope the remediation within 30 days of acknowledgement, unless the work requires deeper architectural change, in which case we will say so honestly and give you an estimate.


6. Formal complaint

If you are not satisfied with our response:

  • EU residents may contact the supervisory body designated under Directive (EU) 2016/2102 in their member state.
  • UK residents may contact the Equality and Human Rights Commission or the Equality Commission for Northern Ireland.
  • US residents may file a complaint under the Americans with Disabilities Act (ADA) with the US Department of Justice.

7. Preparation of this statement

This statement was prepared on 2026-06-01 based on a self-evaluation of bakedin.co performed by the BakedIn engineering team. We re-evaluate on every major release and on an annual cadence at minimum.

Last review: 2026-06-01.

VersionDateChange
1.02026-06-01Initial publication

Maintained by BakedIn LLC. Licensed CC BY-NC 4.0. Source: app/(legal)/_content/accessibility-statement.md.