Charts that still read when printed in grey
A chart passes when it still carries its message on a grayscale printer. That means three lightness levels, not three hues; dash and shape before pattern; and labels on the data instead of a legend. This is the rule every chart on this site follows, written down.
Print a chart on a grayscale printer. If you can still tell the lines apart and still find which one is which, it works. If three lines have become one grey, it never worked; it only looked like it worked on a colour screen for people who see hue the way the designer does. Every chart on this site is built to pass that test, and the rule is short enough to write down.
Hue is not a difference
Three colours from a popular colour-blind-safe palette, an orange, a sky blue, and a green, were chosen to be told apart by people with the common colour vision deficiencies. In grayscale their pairwise contrast is 1.02:1, 1.52:1, and 1.48:1. In grey they are one colour. The palette does its job for the people it was designed for and nothing for a printer, a photocopy, a phone in sunlight, or a reader who simply does not read hue well.
The rule
- Lightness carries the difference. Any two things a reader must tell apart differ by at least 3:1 in contrast. Hue can sit on top of that. It is never the difference by itself.
- Three levels per figure. Dark, mid, light. Three series get three levels. A fourth series reuses the dark level with a dash (for lines) or one hatch pattern (for areas). Five or more series want small multiples or a table, not a fifth colour.
- Label the data, not a legend. Names at the end of lines, values on bars, names on slices. A legend is a lookup; a label is an answer. Use a legend only when labels cannot fit.
- One channel beyond lightness, at most. Direct label first, then lightness, then dash or marker shape, then pattern, and stop at the first that works. A figure with hue, hatch, dash, and marker on every series is the figure nobody can read.
- Status gets a word. Pass, fail, at risk. Red, amber, and green never stand alone, and neither do five border styles. One word, one glyph, and the one accent hue may mark the single status that needs action.
- Numbers under the picture. A chart that carries a decision carries its table too.
Here are the three grey levels this site uses on white, with their measured contrast.
| Level | Hex | Against dark | Against light |
|---|---|---|---|
| Dark | #1a1a1a | 11.2:1 | |
| Mid | #6e6e6e | 3.4:1 | 3.3:1 |
| Light | #cfcfcf | 11.2:1 |
Every pair clears 3:1, so every pair survives a printer. A hue can replace any one of them at the same lightness: a rust for the mid level, a sand for the light, as long as the lightness stays where it is.
How to check
Switch the view to grayscale and look. The Color Lab has that view for a whole palette: every swatch and every ratio recomputed with hue removed. A pair that only differs in hue collapses to one cell. On a page, the same check is a screenshot run through a grayscale filter, or a print preview in black and white. Do it before shipping, not after the complaint.
The charts in these notes are drawn in currentColor with opacity for the levels, so they pass in the light theme, the dark theme, and in grey, with one drawing.
Try it
Open the Color Lab, load this site's light palette, and set "View as" to grayscale. Count the pairs that fall below 3:1 compared with the typical view. Then paste your own chart colours into the intake box and do the same.
Sources
- w3.org, Understanding Success Criterion 1.4.11: Non-text Contrast, the 3:1 floor for graphical objects
- w3.org, Understanding Success Criterion 1.4.1: Use of Color