Accessibility
Conformance statement
WCAG 2.2 level AA, partially conformant, with the exceptions listed. We do not claim full conformance, because nobody honest does for a product this size.
Scope: learn.algoryq.com and the Algoryq Learn product. Assessed 31 July 2026. Self-assessed; an independent audit is planned and listed below as an open item.

How we test
- Automated, in CI, failing the build. axe runs in the component library and across every page in the browser suite — at 360 pixels among other widths, in light and dark. A failure blocks the merge; it is not a report somebody reads later.
- Contrast, computed from the tokens. A test measures every text colour against every surface it can land on, including tinted status backgrounds. It exists because the product once shipped error text at 2.1:1 for three days — a fill colour used as a text colour — and nothing caught it until a page rendered an error on load rather than after a submit.
- Motion. A test loads every page with reduced motion emulated and asserts that nothing is still animating and that the same text is visible. The second assertion is what stops an animation carrying meaning.
- Manual, before a release. Keyboard-only pass, VoiceOver with Safari, NVDA with Firefox, 400 per cent zoom, and Windows forced-colours mode.
Decisions we made because of accessibility
- No drag-and-drop anywhere in the product. The admissions board moves cards with a select and reorders stages with arrow buttons. HTML5 drag works from neither a keyboard nor a phone, and a mouse-only board excludes both a screen-reader user and a counsellor on a bus.
- No CAPTCHA on this site. It would be a cognitive-function test (SC 3.3.8) and a third-party origin. The form is defended by a honeypot, a timing floor and the API's own rate limit.
- No scroll-jacking. Pinned scroll scenes break the scrollbar's meaning, Page Down, find-in-page and scroll restoration.
- Menus are groups of links, not ARIA menus. `role="menu"` promises arrow-key-only semantics we do not implement, and a screen-reader user told to expect them is worse off than one given plain links.
- Reduced motion is a designed rendering, reviewed on its own, not a stripped-down leftover.
Known issues
4 open items, with dates. A statement without this section is one nobody in procurement believes.
| Issue | Criterion | Impact | Known since |
|---|---|---|---|
| This website has not yet had an independent audit | All | The claim rests on automated checks and our own manual passes. An external audit is planned; until it happens, treat this statement as self-assessed. | 2026-07-31 |
| Product screen-reader passes are not yet on a fixed cadence | 4.1.2 | Automated checks run on every build. Manual VoiceOver and NVDA passes happen before a release rather than on a published schedule. | 2026-07-31 |
| Component borders are decorative rather than sole indicators | 1.4.11 | Card and input borders sit below 3:1 against their background in light mode. They are never the only signal — text and a filled colour carry state too — but a reviewer counting ratios will see them. | 2026-07-23 |
| One product locale | 3.1.1 | The product supports eight locale tags including right-to-left. This website ships English only, so `lang` is fixed rather than negotiated. | 2026-07-31 |
Criterion by criterion
Shaped to lift straight into a procurement checklist. Only the 17 criteria this site can meaningfully fail are listed; the rest are supported by construction.
| Criterion | Level | Status | Notes |
|---|---|---|---|
| 1.1.1 Non-text content | A | Supports | Decorative graphics are hidden from assistive technology; the aurora and connecting lines carry no meaning. |
| 1.3.1 Info and relationships | A | Supports | Real headings, lists and tables with captions and scoped headers. |
| 1.4.3 Contrast (minimum) | AA | Supports | Every text token measured against every surface it can land on, including tinted ones, by a test that fails the build. |
| 1.4.10 Reflow | AA | Supports | No horizontal scroll at 320 CSS pixels except deliberate, keyboard-reachable table and code regions. |
| 1.4.11 Non-text contrast | AA | Partially supports | See known issues — decorative borders. |
| 1.4.12 Text spacing | AA | Supports | Survives the standard override with no clipping. |
| 2.1.1 Keyboard | A | Supports | Everything, including the role switcher, the module explorer and the mobile sheet. No drag-and-drop anywhere. |
| 2.2.2 Pause, stop, hide | A | Supports | Nothing auto-advances. No carousels. |
| 2.4.1 Bypass blocks | A | Supports | A skip link is the first focusable element on every page. |
| 2.4.7 Focus visible | AA | Supports | A 2px ring at 2px offset, never removed, re-coloured on dark surfaces so it stays visible. |
| 2.4.11 Focus not obscured | AA (2.2) | Supports | Scroll padding clears the sticky header, so a focused anchor target is never hidden behind it. |
| 2.5.8 Target size | AA (2.2) | Supports | Interactive targets are at least 44 by 44 CSS pixels with separation. |
| 3.2.1 On focus | A | Supports | Tab sets use manual activation, so moving focus never changes context. |
| 3.3.1 Error identification | A | Supports | Inline, associated with the field, described in words, with focus moved to the first error. |
| 3.3.7 Redundant entry | A (2.2) | Supports | The one form asks for nothing twice and preserves values on a failed submit. |
| 3.3.8 Accessible authentication | AA (2.2) | Supports | There is no authentication and no CAPTCHA on this site. |
| 4.1.3 Status messages | AA | Supports | Polite live regions on the form status and the catalogue result count; counters are deliberately not announced. |
Tell us what we missed
Email accessibility@algoryq.com. We answer within five working days and tell you what we will do and when — including if the answer is “not soon”, which beats silence.
Evaluating software for an institution? The guide on what to ask a vendor lists the nine questions that separate a real accessibility programme from a paragraph in a sales deck. Ask us all nine.
The rest of the procurement pack
Security notes with the mechanism behind each control, sub-processors, data processing and the honest build status.
Or open the sandbox (opens in a new tab) and click around first. No form.