Each hue needs a full lightness range
Aliases: hue family coverage · 50 through 900
What it is
Blue exists only as 400, 500 and 600 — mid lightnesses. There is no stop for a pale blue notice on a light ground, and no stop light enough for type on a blue button in the dark theme, so someone pads with grey. For one hue to wash, fill and letter, it needs members from very light to very dark. What is missing is not “a few more similar blues”, but both ends of lightness.
Why it happens
A hue in an interface plays at least three parts: a large pale wash (high L*, low C), a mid fill (mid L*), and dark type or a dark fill (low L*). If the family only covers the middle, pale washes borrow another hue or a neutral, dark type borrows grey, and “this is a blue info bar” still holds in the light theme but breaks in dark theme or on an inverted button.
Some hues struggle to stay vivid at both ends: pure yellow goes brown at low L*, pure blue goes grey at high L*. Covering a “full lightness range” does not mean every stop stays equally chromatic. It means every stop can still be named as that hue, even if C must fall at the ends. Missing the light end dirties washes; missing the dark end softens type and strokes.
Where it stops holding
- An accent may honestly have only two or three mid-to-high stops because it never letters or washes. Missing ends are then a role choice and must be written down, not silently copied onto blue.
- Spot inks and locked brand colours are often a single stop. The range has to be filled with derived neutrals or transparent overlays, not by claiming brand yellow can be dark body type.
- Gamut clipping eats high-C light or dark stops; a family complete in P3 may be missing a head in sRGB.
Applying it
- For every hue that is allowed to be themed, list three uses: pale wash, mid fill, dark type. Fill the missing end; do not insert a 450 in the middle.
- Deep yellow and orange may go brown if a naming task still calls them yellow / orange — do not fake them with grey type.
- Dark theme uses the family’s light stops for type and dark stops for fills; light theme the reverse. Families missing both ends stay out of the theme.
- How to check: build one light-ground/dark-type pair and one dark-ground/light-type pair from that hue. If either pair cannot be built, the lightness range is not covered.