// accessibility
Accessibility statement
We build this site to WCAG 2.2 level AA and test it on every push. We are not claiming we have got there. Below is what we do, and what we know is still wrong.
01 What we are aiming at
The target is WCAG 2.2 level AA across every page and every template, on a phone and on a desktop, with a mouse, a keyboard, a screen reader or a touch screen.
We say "partly conformant" because that is what an untested-by-humans site is. A full conformance claim needs manual testing with assistive technology on every template, and we have not finished that work. When we have, this page says so and names who did it.
02 How this site is tested
- Automated checks run in CI on every push: Playwright drives a real browser through each template and axe-core checks it against the WCAG 2.2 A and AA rules. A failure stops the build.
- Lighthouse runs alongside it for performance and for the accessibility rules it covers.
- Keyboard passes are done by hand when a template changes: tab through it, use it without a mouse, and check that focus is visible and never trapped.
- Contrast is measured from the design tokens, because a dark theme makes mid-greys look safer than they measure.
Automated tools find a minority of accessibility problems. They are good at missing labels and bad contrast, and blind to whether a heading makes sense or a control says what it does. That is why the list below exists instead of a green badge.
03 What is built in
- A skip link to the main content, as the first thing a keyboard reaches.
- A visible focus ring: 2px, offset from the control, on every link, button and field. The design system we started from used a 1px border colour change, which is not enough to see on a dark background.
- Touch targets of at least 44 by 44 pixels for navigation, buttons and list links. WCAG 2.2 asks for 24. We use the larger figure because the difference is felt on a phone.
- Real landmarks and one h1 per page, with headings in order, so a screen reader can jump around instead of reading everything.
- Text scales to 200 percent and the layout reflows at 320 pixels wide without a sideways scroll.
- Animation is cut to nothing when your system asks for reduced motion. There is no autoplaying video and no carousel.
- Every content page works with JavaScript switched off. Only the audit tool and the multi-step form need it.
- Colour is never the only way something is marked. The emerald accent always sits next to a word or a shape that says the same thing.
- Wide tables scroll with the keyboard as well as by swiping.
04 Known gaps
Everything here is a real defect we have found and not yet fixed.
- The sticky header can cover a focused link. Tab to something near the top of a section and the bar can sit over it. WCAG 2.2 added a rule for exactly this case and we do not pass it everywhere yet.
- No screen reader pass yet. Nobody has been through every template with NVDA, JAWS or VoiceOver, and no outside auditor has looked at the site.
- The interactive parts are the newest. The multi-step contact form and the instant audit tool have had the least manual testing of anything here.
- Wide tables on a small screen. The policy tables scroll sideways on a phone. That is usable, and it is still work.
- Dark only. There is no light or high-contrast theme yet. The tokens for one exist, the switch does not.
05 Telling us about a problem
If something here blocks you, we want to hear it, and a one-line message is enough. Tell us the page, what you were using (browser, screen reader, phone) and what happened. If it is easier, send a recording.
Email ben@synapsereality.io. You will hear back within 24 hours.
The contact page reaches us too. If something on that form is itself the problem, say so in any channel you can use and we will come back another way.
06 The formal bits
- Scope: synapsereality.io, all pages.
- Standard: WCAG 2.2, level AA.
- Claim: partly conformant. The gaps in section 04 are the reasons.
- Assessment: self-evaluation, automated checks in CI plus manual keyboard testing. No third-party audit.
- Built with: HTML, CSS, WAI-ARIA where a native element cannot do the job, and a small amount of JavaScript.
- Statement date: . Reviewed whenever a template changes.