Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

red for missing data and black for =no is confusing, at least to me #4128

Closed
matkoniecz opened this issue Jun 17, 2022 · 11 comments
Closed

red for missing data and black for =no is confusing, at least to me #4128

matkoniecz opened this issue Jun 17, 2022 · 11 comments

Comments

@matkoniecz
Copy link
Member

I keep expecting that red is for no and black is for missing data.

Maybe some ugly garish pink for missing data would be better?

@legofahrrad
Copy link
Contributor

Maybe some ugly garish pink for missing data would be better?

Pink would lead to confusion, at least in the dark theme. Railway tracks are already pink coloured.

@mnalis
Copy link
Member

mnalis commented Jun 18, 2022

Ugly pink would work fine for me (Vespucci also uses that for missing data there and it's quite clear and understandable).

Dark theme does indeed use pink for railway, perhaps that could be changed instead? I never liked that bright pink for railway (and bright cyan for bigger roads) anyway - it's supposed to be dark theme so I can comfortably use it in low-light conditions, and not have eye-piercing spikes like that. Couldn't they just be tones of subdued dark greyish-violet like the rest of roads, or something?

@matkoniecz
Copy link
Member Author

matkoniecz commented Jun 18, 2022

See also streetcomplete/streetcomplete-mapstyle#107 (Maybe railways in dark mode are too prominent)

I actually started doing this, but want to solve streetcomplete/streetcomplete-mapstyle#130 first (Consider officially archiving other branches?)

@westnordost
Copy link
Member

Would it help if sidewalk=yes was blue, not green?

The reason for choosing red in all overlays as "is missing" is because red is the most disruptive color that is also associated with errors, prohibitions, destructive actions etc. E.g. you want your unit tests to be green, not red.
If "no sidewalk" was red, it could be perceived as something being wrong, something needing fixing.

A pink does not really have an association with errors and mistakes.

@boothym
Copy link

boothym commented Jun 21, 2022

Would it help if sidewalk=yes was blue, not green?

You cannot have green and red as the only thing differentiating between values if you want to be accessible to colourblind users, so yes blue would be better.

@FloEdelmann
Copy link
Member

FloEdelmann commented Jun 21, 2022

This is how the current color palettes look like with different color deficiencies:

WayLitOverlay

private val LitStatus?.color get() = when (this) {
LitStatus.YES,
LitStatus.UNSUPPORTED -> "#ccff00"
LitStatus.NIGHT_AND_DAY -> "#33ff00"
LitStatus.AUTOMATIC -> "#00aaff"
LitStatus.NO -> "#555555"
null -> Color.UNSPECIFIED
}

See https://davidmathlogic.com/colorblind/#%23CCFF00-%2333FF00-%2300AAFF-%23555555-%23FF0000

SidewalkOverlay

private val Sidewalk?.color get() = when (this) {
Sidewalk.YES -> "#33cc00"
Sidewalk.NO -> "#555555"
Sidewalk.SEPARATE -> Color.INVISIBLE
Sidewalk.INVALID, null -> Color.UNSPECIFIED
}

See https://davidmathlogic.com/colorblind/#%2333CC00-%23555555-%23FF0000

@mnalis
Copy link
Member

mnalis commented Jun 21, 2022

Note that there are several types of color blindness, you can check how they perceive the colors for example here or here.

General advice though is never use just color to indicate differences. (but also use different symbol, type of dashed line etc.)

@peternewman
Copy link
Collaborator

A pink does not really have an association with errors and mistakes.

Maybe not that, but I, and clearly others in this thread use it as a "highlighter" colour. E.g. I'll flag a cell in a spreadsheet like that where the value is a bit of an estimate or

"is missing"

entirely.

For both lit and sidewalk, they are nominally a tri-state (is or isn't lit, sidewalk present or not) and then data is missing. With possibly some further refining of some values (e.g. lit/night and day/automatic are all essentially "true", likewise "yes" and "separate" are broadly the same for sidewalk). Which I'd have thought, and indeed seem to be, somewhat related.

@westnordost
Copy link
Member

Thank you for the link, @FloEdelmann

@matkoniecz
Copy link
Member Author

@westnordost

Would it help if sidewalk=yes was blue, not green?

Maybe? Hard to guess how I would react initially, without being aware what is being shown. But it would break green-red dynamic at least.

@westnordost
Copy link
Member

For future reference, the colors are now:

WayLitOverlay

image

SidewalkOverlay

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants