Skip to main content

Accessibility

Floors the system must hold.

size.control.default size.control.compact size.control.large opacity.disabled color.border.focus

The five answers​

QuestionAnswerWhy
Which states get their own visible value?Hover, focus, disabledPressed reuses hover; experts do not need more.
How many signals carry each meaning?Three: color, icon and wordMany statuses share one table; color alone is not enough.
What contrast floor do we hold?AAAA contrast for every text.
What is the smallest target?Compact, for a pointerMouse and keyboard; compact targets are enough.
Where are the floors hardest to hold?Dense tablesSmall text and thin lines in tables need the most care.

Tokens​

Each token points to another token. Values live only on primitives, below.

TokenPoints to, lightPoints to, dark
size.control.defaultsize.32size.32
size.control.compactsize.24size.24
size.control.largesize.32size.32
opacity.disabledopacity.40opacity.40
color.border.focusdense-data.theme.light.color.border.focus → color.violet.light.600dense-data.theme.dark.color.border.focus → color.violet.dark.600

The raw values these tokens end at are on Primitives › all kinds.

When to use what​

SituationUseNotWhy
Keyboard focusbutton/focus-ring at border-width.focusRemoving the outlineKeyboard users must always see where they are.
The smallest clickable thingsize.control.compactAnything smallerCompact still fits a mouse. Touch is not this product's input.