Research · published 18 September 2026 · corrected 19 September 2026

Two of our four colours are one colour.

We measured it, and redesigned around it.

klapp answers are laid out as four directions, each with its own colour. Under a common form of colour blindness, two of those four colours are almost impossible to tell apart. Here is the measurement, and what we built instead of trusting the palette.

Colours in the cross

4

One per direction: up, right, down, left.

Tightest against black

6.77:1

Corall. All four clear the AA threshold on their own.

Corall against fiolett

1.08:1

Under simulated deuteranopia: practically one colour.

Lime against cyan

1.18:1

Under simulated protanopia. 1.22:1 under tritanopia.

What we measured

Here are the four colours, each with the arrow and the direction name it always carries, and its measured contrast against black. The contrast is the reason black text is the only text allowed on them (docs/designsystem.md). It is also the number that hides the problem: every colour passes on its own.

Up · lime

16.21:1 on black

Right · cyan

12.43:1 on black

Down · corall

6.77:1 on black

Left · fiolett

7.34:1 on black

The numbers behind the swatches

Each colour against black, the background it sits on

Direction Colour Contrast on black
Up ↑ lime 16.21:1
Right → cyan 12.43:1
Left ← fiolett 7.34:1
Down ↓ corall 6.77:1

The same colours against each other, under simulation

Pair Simulated as Contrast
Corall ↓ and fiolett ← deuteranopia 1.08:1
Lime ↑ and cyan → protanopia 1.18:1
Lime ↑ and cyan → tritanopia 1.22:1
1:1 would be the same colour exactly. Simulated with the Vienot and Brettel transform matrices, the standard method for approximating what a colour-blind eye receives. The pair itself is recorded in design/kontrastpar.json, and the decision it forced is V28 in docs/vedtak.md.

Our four direction colours, checked against black, all clear the standard AA contrast threshold on their own: lime 16.21:1, cyan 12.43:1, fiolett 7.34:1, and corall 6.77:1 — the tightest of the four (docs/designsystem.md).

That is contrast against a black background, not against each other's colour vision. Under deuteranopia — the full form of the most common red-green colour blindness, about 1% of men, while its milder form, deuteranomaly, is about 5% (Colour Blind Awareness, read 19 September 2026) — corall and fiolett collapse to 1.08:1 contrast against each other: practically the same colour. Under protanopia, lime and cyan collide at 1.18:1; under tritanopia, at 1.22:1 (docs/vedtak.md, decision V28).

Corrected 19 September 2026. This paragraph said deuteranopia affects roughly 6% of men. About 6% is the whole deutan group, most of it the milder deuteranomaly; deuteranopia itself is about 1%. The simulation models the full form, so for most deutan players the two colours are likely closer to telling apart than 1.08:1 suggests. We have not measured that.

We looked for a palette of four colours that would stay distinct under every common form of colour blindness while still holding AA contrast for black text on top of each one. It does not exist: the same lightness spread that keeps two hues apart in greyscale is what pushes one of them below the contrast floor. The palette cannot fix this. The interface has to stop depending on it.

So the colour carries nothing

The information in a klapp answer is never the colour. It is the direction: where an option sits in the cross — up, right, down or left — carried a second time by an arrow, so a player who cannot separate two hues still reads the layout correctly. The colour is decoration on top of a position, never the only signal for it.

The same rule applies to feedback. Whether an answer was right or wrong is never shown as red versus green, and never borrowed from one of the four direction colours. It is a check mark, a cross, and dimming for the answers that were not chosen (design/kontrastpar.json). Red-green confusion is the most common form of colour blindness there is, so building the one piece of feedback every player needs around exactly that pair would have undone the rest of the work.

What carries the meaning instead

  • the position in the cross: up, right, down, left
  • an arrow on every option: ↑ → ↓ ←
  • the direction written out as a word
  • right or wrong as a mark, never as red against green
  • dimming for the answers that were not chosen

Why this is useful even if you never play klapp

Any interface that hands someone four options in four colours has this exact problem, whether it is a quiz, a dashboard legend, or a set of buttons on a remote control. Four is also the number where it gets hard to hide: two colours can usually be chosen far enough apart to survive most simulations, but a fourth colour has nowhere left to sit once the first three have claimed the distinguishable range. If your product asks someone to pick from four colour-coded things, the honest question is not whether your palette is pretty — it is what a deuteranope actually sees when they look at it, and whether the choice still makes sense if the colour disappears entirely.

The limit of what we measured

A simulation is not a person.

It is a transform on an RGB value, not a colour-blind person looking at a screen. It does not capture how someone actually adapts, what a projector does to these numbers in a bright room, or how colour-blind players actually see the palette compared with what the matrices predict.

The fix itself is untested with players.

What we have is a measurement that told us not to trust the colours; what we do not have is a session with colour-blind players confirming the fix works in practice. That test has not been run yet.

It is enforced, not just designed.

A build gate refuses to let any screen ship where all four direction colours appear without a non-colour way to tell them apart — an arrow, a direction attribute, or a label naming the direction. A rule that only lives in a document gets forgotten the first time someone is in a hurry.

The numbers are ours to recheck.

The contrast figures against black are recomputed from the tokens on every build, so a colour cannot drift away from the number written next to it. The simulated pair contrasts were computed once, and are recorded in design/kontrastpar.json.

This page is built from our own measurement rather than someone else's research, and it is not the only one: 10 240 players on one server is too. For a page built on other people's research, read why klapp has no points for speed. See the direction layout itself on klapp quiz.

The direction is the answer. The colour never is.

Start a game →