Accessibility statement
Last audited 3 September 2026, against WCAG 2.2 level AA. This page lists what was actually tested, what was found, and what is still wrong.
Current position
Partially conforming with WCAG 2.2 level AA. The known gaps are listed below. We do not claim full conformance, because we have not tested every page with every assistive technology.
What the audit found, and fixed
Run across the site with a scripted DOM audit, then by hand with a keyboard.
| Problem | Criterion | Scope | Fixed |
|---|---|---|---|
| No skip link. Keyboard users crossed fifteen navigation links on every page | 2.4.1 Bypass Blocks | 152 pages | Yes |
No <main> landmark, so a screen reader had no way to jump past navigation |
1.3.1 Info and Relationships | 39 pages | Yes |
| Eight form fields on the forum with no accessible name | 4.1.2 Name, Role, Value | Forum | Yes |
| Lightest text colour at 2.75:1 against the background, below the 4.5:1 threshold | 1.4.3 Contrast (Minimum) | Site-wide | Yes, darkened to 4.84:1 |
| Focus outline invisible on coloured backgrounds | 2.4.11 Focus Not Obscured | Buttons, banner | Yes |
| Touch targets under 44 px on coarse pointers | 2.5.8 Target Size | Tabs, chips | Yes |
Measured contrast
| Combination | Ratio | AA |
|---|---|---|
| Body text on background | 15.72:1 | pass |
| Secondary text | 10.22:1 | pass |
| Captions and labels | 5.08:1 | pass |
| Hints, after the fix | 4.84:1 | pass |
| Links on background | 6.04:1 | pass |
| White on the primary button | 6.70:1 | pass |
What works
- Every page can be operated by keyboard alone. Focus is visible throughout.
- Skip link on every page, first in the tab order.
- Landmarks: banner, navigation, main, contentinfo.
- One
<h1>per page, headings in order. - Every image has an
alt. Decorative ones have an empty one. prefers-reduced-motionis honoured: all animation stops.prefers-contrast: moredarkens secondary text and rules.- Text reflows to 320 px without horizontal scrolling.
- Zoom to 200% does not lose content.
langis set per page, including on the French documentation.
What still fails
Listing these is the only useful part of a statement like this.
| Gap | Effect | Plan |
|---|---|---|
| Not tested with a real screen reader | The DOM audit and keyboard testing are done. NVDA, JAWS and VoiceOver are not. | The largest gap here. If you use one, tell us what breaks. |
| The desktop application is not covered | This statement is about the website. The application has not been audited. | Planned once the interface settles. |
| Code blocks scroll horizontally | Long lines require horizontal scrolling on narrow screens. | Acceptable under 1.4.10 for code, but not pleasant. |
| The forum editor's preview is not announced | Switching to preview does not announce the change to a screen reader. | Needs a live region. Next pass. |
| No captions on future video | No video exists yet. When one does, it needs captions. | Before publishing any. |
How this was tested
- A scripted DOM audit over every page: missing alt text, unnamed controls, unlabelled fields, missing landmarks and headings.
- Contrast computed from the palette with the WCAG relative luminance formula, not judged by eye.
- Keyboard traversal by hand on the main flows: browsing, publishing, posting, account.
- Rendering at 320 px and at 200% zoom.
Not done: assistive technology testing, and cognitive accessibility review. Both are real gaps rather than oversights we are hiding.
Tell us what breaks
If something here does not work for you, that is a bug and we want it.
Say which page, what you were using, and what happened. The
forum, or
accessibility@eeg.studio.
We aim to answer within five working days. If a fix will take longer, we will say so and describe a way around it in the meantime.