Use when designing for user preferences — motion sensitivity, contrast needs, colour schemes, text sizing, information density, or any interface behaviour that should adapt to individual needs
Good design does not force everyone through the same experience. It adapts. This skill ensures interfaces respect user preferences, system settings, and individual needs — not as optional extras, but as fundamental design requirements.
Review the design and map what should adapt:
| Property | User Preference | CSS/System Signal |
|---|---|---|
| Colour scheme | Light/dark/custom | prefers-color-scheme |
| Contrast | Standard/high |
prefers-contrast| Motion | Full/reduced/none | prefers-reduced-motion |
| Text size | System font size settings | rem/em units, viewport scaling |
| Information density | Compact/comfortable/spacious | User setting or breakpoint |
| Transparency | Standard/reduced | prefers-reduced-transparency |
Motion is the most commonly harmful interface property. Handle it rigorously:
Default behaviour:
prefers-reduced-motion: reduce disables non-essential animationImplementation pattern:
/* Full motion (default) */
.element { transition: transform 300ms ease-out; }
/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
.element { transition: none; }
}
Never autoplay:
Dark mode is not "invert the colours." It is a separate design exercise:
Text must be resizable without breaking the layout:
rem or em units, never fixed px for font sizesDifferent users need different densities:
If offering density controls:
For each adaptive property, document:
ui-composition, interaction-designcognitive-accessibility (density and simplification), inclusive-personas (preference awareness)designpowers-critique