Foundations

Accessibility

Provenance and reach have to work without sight, without motion and without a pointer. Every colour cue pairs with a word or a shape, every live region speaks once, and every gesture has a keyboard path.

Still and reduced motion

Still stops every animation in the app. It turns on by itself when the device asks for reduced motion, and people can switch it from the top bar or Settings at any time.

  • Never encode a state only in motion. Thinking has a blinking caret and a word; with Still on, the word remains.
  • Streamed text arrives whole when Still is on.

Contrast

All text colours meet 4.5:1 on their backgrounds in both modes, including pigment at its lightest stop. See Colour for the figures.

Screen readers

  • Announce model output once, when it is complete. Mark the region aria-busy while words stream in, so screen readers don’t read every word as it lands.
  • Say who wrote it. Pigment is invisible to a screen reader, so label model regions in words: “Lease summary, written by the model”.
  • Give reach in the accessible name or description: “Release deposit. Person only. Cannot be undone.”
  • Announce changes the model made in one sentence: “The model changed 4 values in the rent roll.”

Keyboard paths

ComponentGestureKeyboard
MorphDrag in a directionArrow keys choose, Enter applies
SealHold for one beatHold Space or Enter
CaretTap to take the draftTab takes all, → takes one word
ReelTap the sides, hold to pause← and → change scene, Space pauses
LassoSelect textSelect with Shift and the arrows, then Tab to the actions
GuideTap Ask in the dock⌘K or Ctrl+K

Text size

Every size is in rem. Settings offers 100%, 112% and 125%, and layouts reflow at each one. Browser zoom works too.

Gestures

  • Every swipe has a button: murmurs can be swiped, and also have their actions as buttons.
  • The Ring keyboard is an addition, never a replacement. Hide it and the system keyboard returns.
  • Holds can be cancelled by letting go early. Nothing happens until the hold completes.