Cognitive accessibility
Reducing load, removing time limits and making every error recoverable is the accessibility work that matters most in health and is measured least.
What we guarantee
Cognitive accessibility is the area where a design system can do the most and claim the least, because almost none of it is mechanically testable. What opsinjs commits to:
- One decision per screen, and the decision is stated. The screen specifications in this system are built around a single question, and the primary action names its own outcome rather than saying "Continue". See Screens.
- Consistent placement and consistent words. The same action is in the same place with the same label across every pattern. SC 3.2.3 and SC 3.2.4 are minima; the working rule here is that a reader should never have to re-learn a screen they saw last week.
- A published plain-language vocabulary. The clinical-to-plain mapping is canonical and machine-readable, so the same word is used everywhere. See Plain-English A to Z.
- No component introduces a time limit. Nothing in the roster expires, auto-advances or auto-dismisses. Where a real time limit exists in your product, that is a product decision and SC 2.2.1 applies to it.
- No component requires recall. Anything a reader has to remember from a previous step is redisplayed. SC 3.3.7 Redundant Entry is treated as a floor, not a target.
- Errors are recoverable and non-punitive. The error copy rules forbid blame and require a route forward. See Error and empty messages.
What you own
The quantity of information on a screen. Nothing prevents you from putting twelve metric tiles above the fold. The system supplies the tile; the editorial judgement about how many a worried person can absorb is yours.
The reading load at the worst moment. A reader opening a result they have been anxious about has less working memory available than the same reader browsing yesterday. Put the answer first, the explanation second and the methodology last. Never put them in the reverse order. See Result disclosure.
Numbers that need translating. A percentage is a cognitive burden dressed as information. Natural frequencies, absolute rather than relative change, and a plain sentence beside the figure are all product decisions. See Risk and statistics.
Session and authentication demands. Repeated re-authentication, short sessions and puzzle-based challenges are all cognitive barriers; SC 3.3.8 exists because of the last one.
Interruptions. Every notification, tooltip, tour step and upsell competes with the task. In a health app the task may be "work out whether to call someone".
How to check
Count the decisions
List every choice the screen asks the reader to make, including implicit ones ("which of these numbers is the important one?"). Expected result: one, or a clear primary with the rest subordinate. Failure looks like four equally weighted buttons.
Read it after a distraction
Read the screen, leave for two minutes, come back and try to continue without re-reading. Anything you had to remember is a defect: it should have been on screen.
Say what happens next
Cover everything but the primary action and ask somebody what tapping it will do. If they cannot say, the label is wrong. "Continue" almost always fails this.
Break it on purpose
Enter something invalid, lose the network, submit twice, go back mid-flow. Expected result: the reader's input survives, the message says what happened and what to do, and no data is silently lost. Failure looks like a cleared form.
Read it aloud to somebody outside the team
The single highest-yield check on this page, and the least reproducible. If they cannot tell you what they should do next, nothing else you measured matters.
Measured results
scripts/check-freshness.mts. Run pnpm run generate and reload.Nothing on this site types a measured number by hand, so an ungenerated table shows this rather than an example.
There is no measurement. Reading level can be approximated per page, and Reading level explains how. But comprehension, recall and decision load cannot be measured from a codebase, and we would rather leave this section empty than dress a readability score up as a cognitive-accessibility result.
Known gaps
- No user research has been conducted for any guidance on this page.
- There is no easy-read or symbol-supported variant of anything in this system, and we have no plan for one.
- Nothing here is enforceable. Every other page in this pillar has a check that either passes or fails; this one has judgement.
- Guidance for readers with fluctuating capacity is absent, even though fluctuating capacity is common in exactly the long-term conditions this system targets.
Updates to this page
Last read through against the system on 2026-09-02. Due for review every 6 months; expiry is reported by pnpm run check:freshness.
Increased contrast
What prefers-contrast changes, what forced-colours mode does instead, and an honest account of the per-component answers that exist while no global one does.
Print and export
Compliance reviewers read on paper and patients print results for appointments. What the print stylesheet does, and what a printed health value must carry.