Bhinish Dhiman
How to build a colour-blind safe palette
Separate colours by lightness as well as hue, because lightness perception is unaffected by every red-green deficiency. Use the blue-orange axis for two-value encodings. Above four categories, colour alone stops being reliable and you need a second cue.
Around 1 in 12 men has some form of colour vision deficiency. The design guidance usually stops at “don’t use red and green together,” which is both too vague to act on and not quite the real rule.
The actual rule
It is not that red and green become identical. A deuteranope usually still separates a red from a green, because the two normally differ in lightness as well as hue.
What collapses is a pair that differs only along the red-green axis at similar lightness. That is the specific failure, and it is why the vague advice misses so many real cases — including pairs that contain no red or green at all.
Blue and purple is the sharpest example. They look clearly different to typical vision, a perceptual distance of about 15. Under deuteranopia that falls to under 1. They become the same colour, and nobody warns you about blue and purple.
The two properties that survive
Lightness. Unaffected by every red-green deficiency. Two colours a clear step apart in lightness stay distinguishable no matter what the cones are doing. This is the single most reliable tool you have.
The blue-yellow axis. Largely intact for protanopia and deuteranopia, which together account for the overwhelming majority of cases. Blue against orange is the most robust two-colour pairing available — in measurement it often separates further under deuteranopia than under typical vision.
Tritan deficiencies do affect the blue-yellow axis, but they are rare enough — around 0.01% — that blue-orange remains the right default.
Building a categorical palette
Two categories. Blue and orange. This is close to a solved problem; use it and move on.
Three. Blue, orange, and a third separated primarily by lightness — a very dark or very light neutral. Do not reach for green as the third colour.
Four. Blue, orange, plus a light and a dark neutral. You are near the practical limit of what colour alone can carry.
Five or more. Colour has stopped being a reliable encoding. You need a second channel — shape, pattern, direct labelling, position. This is not a compromise; direct labelling beats a colour key for every reader, not only colour-blind ones.
If you want a ready-made set, the Okabe-Ito palette is eight colours designed for exactly this and is widely used in scientific publishing. Paul Tol’s qualitative schemes are another well-tested option.
Status colours deserve special attention
Red for error and green for success is the most common colour-blindness failure in software, because it is a convention nobody audits.
Measured, Bootstrap’s default danger and success colours sit at a perceptual distance of about 74 for typical vision and 4 under deuteranopia. Tailwind’s red-500 and green-500 go from 76 to about 8. Both pairs pass contrast individually against white, so no contrast audit flags them.
Three fixes, in increasing order of durability:
- Push them apart in lightness. A dark red and a light green stay separable. Cheapest change.
- Move off the red-green axis. Blue for success is unusual but perfectly legible.
- Add an icon. A cross and a tick, or a warning triangle. This is the one that actually satisfies WCAG 1.4.1 and the one that keeps working when the palette gets redesigned.
What WCAG requires
Success Criterion 1.4.1, Use of Colour, is Level A — the baseline tier. It requires that colour is never the only visual means of conveying information, indicating an action, prompting a response, or distinguishing an element.
Note what it does not say. It does not ban red-green pairings, and it does not require any particular palette. It requires redundancy: some other cue carrying the same information.
That framing is useful, because it points at the durable fix. A safe palette is good practice. A second cue is the requirement, and it survives someone else redesigning your colours later.
Checking your own work
Simulation tells you what is likely lost, not what a specific person sees, and the models are approximations. Use it to find problems rather than to certify their absence.
The question worth asking is pairwise, not per-colour: which two colours in this palette stop being tellable apart? Our colour blindness simulator runs every pair against eight vision types and reports the ones that collapse, which is the check a contrast tool structurally cannot perform.