Accessible interface design: six modes, not a font size
Accessible interface design as a settings toggle produces a worse product for everyone. Six modes change register, density, mechanics and guardrails together.
Blog Accessibility
A seated movement here is authored on its own terms, never a standing one with the legs deleted. The publishing gate refuses anything with fewer than five variants: no force-publish flag, no admin bypass, and yes, this has delayed releases.
The tempting implementation is to write the standing version and generate the rest by removing things. It produces a seated movement that is worse than it needs to be, because a good seated movement is not a standing one with the legs deleted — it uses the chair.
So each of the five is authored, reviewed and dosed on its own terms. The equivalence multiplier that lets them be compared is computed, not assumed.
Standing. Seated. Chair-supported, where the chair takes load rather than just holding the person. Bed or recliner, for people who are not reliably transferring. And adaptive single-limb, for anyone working with one usable side.
Independence and Vitality modes default to chair-supported rather than standing. In Vitality, standing requires an explicit clearance rather than being the assumption somebody has to opt out of.
Because an override is used. It gets added for a genuine emergency, it stays, and within a year the library has forty movements that only work if you can stand. The people affected are the ones least likely to complain and most likely to just stop opening the app.
A partial movement stays in draft indefinitely. That is the entire enforcement mechanism and it is enough.
Roughly four times the authoring effort per movement and a slower library. In exchange, the sentence "every body qualifies" is a property of the system rather than a claim on a marketing page.
Five independently authored variants create a problem: if a seated version is not a reduced standing version, the two are not directly comparable, and the whole progress model depends on comparing them.
So each variant carries an equivalence multiplier computed against a reference effort, not assumed from its posture. A well-chosen chair-supported movement can score higher than a lazily performed standing one, and the numbers reflect that rather than encoding a hierarchy where standing is simply worth more.
This has a pleasant consequence: somebody who moves to a seated movement during a flare-up does not watch their progress collapse. Their effort is measured on its own terms.
There is a support ladder — standing, chair-supported, seated, bed or recliner — and the engine may substitute downward without asking. If the context suggests standing is a poor idea right now, it offers the supported version.
It may never substitute upward. A person who has been offered seated movements does not suddenly get a standing one because their step count looked promising, because the cost of being wrong in that direction is a fall.
Upward movement happens only when the person changes their capability profile, or when a clinician-facing clearance is recorded. In Vitality mode, standing requires that clearance rather than being the default somebody has to opt out of.
The gate checks more than posture. Every movement also carries text, audio, captioned video, haptic and voice-only cue sets, plus an Easy Read register, because a movement somebody cannot understand is as unavailable as one they cannot perform.
Captioned video is the one that catches authors out. An uncaptioned demonstration is not a video with a missing feature, it is a movement that does not exist for a deaf user, and the gate treats it as such.
The publishing contract is a public endpoint. Ask `/movements/gate` and it returns the five variants, the six cue sets and the screening requirement, in full, as data. Then attempt to publish a movement with four variants and read the refusal.
A claim you can call is worth more than a claim you can read.
Standing; seated; chair-supported, where the chair takes load rather than just holding the person; bed or recliner, for people who are not reliably transferring; and adaptive single-limb, for anyone working with one usable side.
No. Substitution goes down the support ladder and never up. Upward movement happens only when you change your capability profile, or when a clinician-facing clearance is recorded, because the cost of being wrong in that direction is a fall.
No. Each variant carries an equivalence multiplier computed against a reference effort rather than assumed from its posture, so a well-chosen chair-supported movement can score higher than a lazily performed standing one.
This article sits in the later-life cluster and links up to /micro-movement. Clusters are how the editorial agent decides what to write next — the thinnest one wins.
Reading this page records the time it was visible and how far it was scrolled. No cookie, no identifier, and the connecting address is hashed with a salt that regenerates daily. How that works.
Other pages here that point at this one. Internal links are the part of “backlinks” a site actually controls — nothing on this platform buys or exchanges the other kind.
Read next
Accessible interface design as a settings toggle produces a worse product for everyone. Six modes change register, density, mechanics and guardrails together.
Charter rule C6 banned body composition framing at every age. Then we specified a product built on exactly those numbers. Here is the whole argument.
We moved the platform invariants into database constraints. Postgres rejected four writes the same afternoon that the services had been allowing.
Everything described here is running. An account is free, takes about two minutes, and the writing stays free whether or not you make one.
Free to create. 150 AI credits a month for 2 months, then AI features need a plan — everything that is not AI carries on either way. Premium is £5.99 a month and cancels in one click. Under 18 a guardian confirms before the account opens.