Live
Accessibility posture

Accessibility

Accessibility checks run in CI: a component-level axe suite, an end-to-end accessibility lane, and a 390px layout-overflow checker with a committed baseline across public routes.

What we do not claim

We do not claim WCAG compliance, conformance, or a conformance level. No independent audit has been carried out, and a product that has not been audited cannot honestly describe itself as conformant however carefully it has been built.

Testing is not certification. Never claim WCAG compliance, conformance or a conformance level — an existing rule already blocks 'WCAG accessible' and the same restraint applies to every phrasing of it. Claim the tests, which are real and checkable, not a standard nobody has audited the product against.

What we can point at is the testing, which runs on every build and which you can hold us to. If you need a formal conformance report for a procurement process, ask — and we will tell you where we are rather than send you a badge.

What runs on every build

Component-level axe suite
Buttons, inputs, dialogs and tables are asserted against axe rules in the unit test run. These are the primitives every survey is assembled from, so a regression here would reach every respondent.
End-to-end accessibility lane
A separate Playwright configuration drives real pages in a real browser, which catches the failures that only appear once components are composed — focus order, landmark structure, and labels that are correct in isolation and ambiguous in context.
390px overflow checker, with a committed baseline
Public routes are checked for horizontal overflow at phone width against a baseline held in the repository. A translated string that pushes a layout sideways is still a broken survey, and this is the check that catches it.
Semantic colour tokens, enforced by lint
Raw colour utilities are refused in favour of semantic tokens. That keeps contrast decisions in one place instead of scattered across pages, and it is a build error rather than a review comment.

Respondents first

The respondent-facing surface is the half that matters most: someone answering a survey did not choose this product and cannot work around it. A separate lint gate keeps respondent-facing strings translatable, and Arabic renders right-to-left, so the experience holds up outside English as well as inside it.

Ready to run decision-grade research?

Set up your first study in minutes, or talk through your research goals with our team.