Colourblindness

I am colourblind. While it isn’t a debilitating disability, it still manages to pose challenges in my day-to-day life as an average office worker. Life is full of colours and computer user interfaces try to follow suit. Colour is often used to distinguish between similar groups of things, or to tell the user something without explicitly stating it in anything other than colour. Attempts have been made to make colour palettes that are “colourblind safe”. While these palettes often do address the problem, they are a crutch that is best avoided.

Abstract thought

When you live with colourblindness you often still need to communicate colours correctly. I know the grass is green because grass most often gets assigned the label “green”. Do I see it as green? Yes. But if the grass is artificially painted red, I may still say it’s green and see it as green until a colour-sighted person correct me.

How do we know that these objects protruding from the ground are green? A colour-sighted person may not need to know that these things are “grass” to know that they are “green”, but over the course of your life you will have come to associate the two. This pattern matching isn’t unique to the colour deficient. A completely blind person may know that grass is “green” having no perception of sight or colours at all.

Numbers

Let’s detour and consider how we write numbers. In Norway - along with most of Europe - it’s correct to use a comma for the decimal point and spaces for the thousands places (eg. “123 456,78”). In the English-speaking world, it’s standard to use periods for the decimal point and commas for thousands places (eg. “123,456.78”). If you’re like me, you see both formats on a daily basis. How do you interpret these numbers?

A native English speaker who hasn’t seen other formats may be stupified when they see a number like “123 456,78”. Is it a number? Why are there 6 digits followed by the comma - the thousands-separator - followed by just two digits? This person may be looking at the number like a computer would. They expect groups of three digits separated with commas, followed by a period followed by more digits. This is a perfectly sensible way of interpreting if you never need to deal with other formats.

However, it is very easy to make sense of of ambigious numbers if you know a few more systems. I would interpret the number “1234,50” to be one-thousand two-hundred and thirty-four point fifty. How can I come to the conclusion without first knowing which format it’s using? I use other context clues. Even though this text is in English, I can tell that because there are only two digits after the comma, this comma must be a decimal point. If the comma was a thousands-place indicator, then this the number would make less sense because there are only two digits after the comma where three would be expected.

A number like “123,456” is completely ambiguous. However, guessing that the comma is a thousands-place separator may make a tiny bit more sense.

This logic and ambiguity is similar to how I tell colours apart. I can use a lot of context clues to determine which colour is what, where a “native colour seer” may not need to, much in the same way that someone who is only exposed to the English form of writing numbers may not need to look for.

User-friendly Design

There are loads of results for “colourblind-safe” palettes. There are tools, like Color Brewer 2.0 which present a “colourblind safe” toggle. Sometimes it’s possible to switch to a “colourblind mode”. But then, why isn’t your interface “colourblind safe” to start with?

Screenshot of Jenkins CI

Jenkins CI has chosen very unfortunate colours: red and green looks extremely similar.

Takeaways

A much better option is to use other tools in your arsenal. Instead of just a red button, add a symbol next to it. Instead of a green circle to describe a successful build, make it a green checkmark. In maps, use cross-hatching and other patterns to show the different areas. In plots, use striped and dotted lines, play with line thickness, instead of just relying on colour.