Roughly one man in twelve has some form of colour vision deficiency, and most of them have no idea a design is failing them — they just find it slightly harder than they expect, and blame themselves. This guide covers what each type actually does to colour, the specific patterns that collapse under it, and the fixes that hold up regardless of who is looking.
Almost nobody with colour vision deficiency sees the world in greyscale. Total achromatopsia exists but is vanishingly rare, somewhere around one in thirty thousand. The overwhelming majority have a compressed colour axis: certain hues that look obviously different to you land on nearly the same perceived colour for them.
That distinction matters practically. A person with deuteranopia can tell a strong red from a strong green in most lighting. What they cannot reliably do is tell a muted red from a muted brown, or a desaturated green from a desaturated orange — which is exactly the palette most dashboards use for status indicators.
Human colour vision runs on three cone types, sensitive to long (L), medium (M) and short (S) wavelengths. The L and M sensitivity curves peak at roughly 560nm and 530nm — close enough that the brain is essentially comparing two nearly overlapping signals to work out where a colour sits on the red-green axis.
The genes for both sit next to each other on the X chromosome, which makes them prone to recombination errors during cell division. Because men have only one X chromosome, a single flawed copy is enough — hence the heavily skewed prevalence. The blue-yellow axis, carried by the S cones, is separate and almost always survives intact. That is the single most useful fact in this whole guide: the blue-yellow axis survives, the red-green axis collapses.
Deuteranopia and deuteranomaly — the M cone is missing or shifted. Red, green, orange and brown converge. Around six percent of men to some degree, making it the most common type by a wide margin. Protanopia — the L cone is missing. Reds also darken noticeably, so red on black can become genuinely invisible. About one percent of men. Tritanopia — the S cone is missing, collapsing blue against green and yellow against violet. Rare, well under one percent, and worth testing anyway because it is cheap to cover.
A red dot for failed, green for passed, amber for running. Under deuteranopia the red and green become two similar muddy tones; under protanopia the red additionally darkens toward the amber. The fix is cheap: pair every state with a shape or icon, and where the state is critical, with a word. A filled circle, a triangle and a check mark read correctly in greyscale, which is the test that matters.
Multi-series line charts are the classic failure. Five series in five hues, and a legend telling you which is which, forces the reader to hold a colour mapping in working memory — and for a colour-blind reader two of those five are the same colour. Label the series directly at the end of each line, or use direct annotation instead of a legend. For area and bar charts, vary the pattern or the lightness, not just the hue.
A scale running from red through yellow to green puts the entire gradient on the one axis that collapses. The standard replacements are a single-hue sequential ramp — light to dark, which everyone can read — or a diverging ramp on the blue-yellow axis. If you are visualising a divergence around a midpoint, blue to orange does the job that red to green cannot.
A border that changes from grey to red on failure communicates nothing to a user who perceives both as a similar dark tone, and nothing at all to a screen reader. Put the message in text next to the field, not just below it in a colour the user has to notice. Colour should reinforce the error message, never be the error message.
WCAG 1.4.1 is explicit: colour must not be the only visual means of conveying information. A link distinguished only by hue fails it. Beyond that, if a link sits in body text with no other distinction, it needs at least 3:1 against the surrounding text — and it needs a non-colour cue on hover or focus. Underlining links inside prose remains the simplest fix there is.
Two problems at once: the asterisk's meaning is carried by a convention, and its colour is doing no work. Either mark the optional fields instead, or write the word out. Modern practice leans towards labelling the few optional fields, because in most forms the majority are required.
The instinct when a palette fails a colour-blindness simulation is to swap the offending hue for a different one. That treats the symptom. The durable fix is to make sure every piece of information arrives through at least two channels — colour plus text, colour plus shape, colour plus position.
Once you do that, the palette stops being load-bearing. Your red can stay red; it just no longer has to carry the entire meaning on its own. This is also why the fix costs so little when it is applied early and so much when it is bolted on later.
Colour-blindness simulators apply an approximation matrix to your colours. They are genuinely useful for catching the dramatic collisions — the two status colours that become twins, the gradient that flattens into a single tone. They are not diagnostic, and they are not a substitute for a real user.
Two further cautions. First, most tools model dichromacy — a cone type entirely absent — while the majority of affected people have anomalous trichromacy, a milder shift. Simulations therefore tend to show a worse case than most users experience, which is fine for safety but not a precise prediction. Second, and more importantly: passing a simulation is not the same as passing contrast. Two colours can clear 4.5:1 against each other and still be indistinguishable to a colour-blind reader, because the check measures lightness and the failure is about hue.
Convert your interface to greyscale and try to complete the task. If you cannot tell which row failed, which series is which, or which field is invalid, the design was relying on hue — and it will fail for colour-blind users, in a dim room, on a cheap monitor, and in bright sunlight too.
None of this is expensive when it is a constraint from the start. All of it is expensive when it arrives as a bug report six months after launch, by which point the red and the green are in the brand guidelines.