Designing Accessible Color Systems
stripe.com
stripe.com
The sad part is that we have all these colors available in the physical world but representing in sRGB (or even Adobe RGB or DCI P3) space takes away all the fun. We have a narrow space to work within and it poses limits to what you can do. Vast majority of monitors in the world are barely capable of representing sRGB space, and even if they are, calibration is another issue. You can employ all kinds of science in representing proper colors but if the end user's calibration is not good, all bets are off.
Colors are a problem for interface design (and accessibility), it becomes a real challenge when dealing with quantitative data and build perceptually uniform colormaps with accessibility considerations, here is an amazing presentation of Matplotlib's new colormaps: https://www.youtube.com/watch?v=xAoljeRJ3lU
I think the fun comes in working around the challenges you mentioned. The standards are sometimes lacking design-wise in what's allowed but they're pretty good at ensuring readability across devices.
I've been messing around with the Turbo colormap, another new one that seems really useful for UI design, and solving these problems in particular: https://rexriepe.github.io/tpcs/
the answer to the question "what is the best color space?" can only be "for what?".
That is impossible, color-blind people wont see them as perceptually uniform since the area with the color they can't see gets a lot darker. For example I can't see red text on a certain kinds of black background, as in I don't even recognize that there are letters there. I remember being on a presentation where the author apparently liked to play with colors, and several of the screens were just blank to me I didn't even know that I there were letters there I couldn't see.
Interestingly, for me (deuteranomolous) the colors I can't see often seem lighter. For example, green traffic lights appear white. I assumed this is because I can still see the light, it just doesn't get interpreted as green, but I don't know whether that's true.
But if you see it as white as well then I'd expect your problem to be with the color red and not the color green.
Is this tool available anywhere?
Kudos to Wilson Miner and Daryl Koopersmith for one of the few non-bullshit color picker articles to pop up here.
In more neutral language: using non-perceptually-relevant color spaces leads to dramatic distortion of color relationships, and ends up misleading humans trying to interpret them.
It’s great to see the Stripe team here recognizing the problem and attacking it in a more principled way. Let me echo calls for publishing the tool if possible. I’ve wanted to use a similar tool since at least 2006, but all the tools along these lines I have built for myself have been very hacky and not suitable for public consumption.
(I'm not from Lyft by the way, to clarify. Just a random reader.)
Of course this means nothing if you're legally mandated or simply told by your boss that you must follow the standard.
Also, to me the superiority of using black is more apparent if the gray is the background color.
[1] https://accessibility.psu.edu/color/colorvisiondetails/#RK
It is an extremely colorful medium-lightness red which will be somewhere between unpleasant and physically uncomfortable to look at (not to mention illegible) irrespective of the foreground text color.
I can't trust the math, because I don't know how they derived it. Well the conversion from sRGB to linear RGB and from there to luminance is straightforward and standard, but the formula for contrast is a real mystery. Where'd those magic 0.05 constants come from? And does it really not make a difference if it's light on dark vs. dark on light?
There are any number of colorspaces that have been proposed that are better. Some are complex and ad hoc, such as two different releases of CIECAM. Others are relatively simple, such as Jzazbz. IPT also comes up a lot. I think the issue is that there isn't anything resembling consensus on which of these "more perceptually uniform" color spaces we should use. So a bunch of efforts, including freieFarbe, use Lab.
I'm trying to come up with a colour scheme that supports categorical labelling for as many categories as possible - that means I want the colours to be distinct from one another, to be able to recognise each category with ease, but at the same time cover as many categories as possible. With <10 categories it's easy, with 20 I struggle.
Can anyone make a suggestion? I am not interested in uniformity of lightness or linear progression, but maximal separability between nuances.
Do Stripe products make affordances for people who are color-blind? For instance, do "error" notifications always contain an icon for "error" as well as a red background/text color? The "Differentiate without color" option on macOS and iOS comes to mind.
[disclaimer: past Stripe intern]
As far as I can tell, that historically has affected precisely one thing on macOS, and that's the "Available/Busy/Away" indicator in Messages (which is now gone, so I guess it does nothing now…)