Is your feature request related to a problem? Please describe.
As a colorblind dev, I often would like to know how a certain color would appear to people with normal color vision.
Designers and developers often want to know how their colors would look to colorblind users.
Describe the solution you'd like
Not entirely sure of a good UI for this feature, but I think a minimal effort implementation could reuse the existing palettes UI to display this information.
There are two implementations that could neatly integrate with the palettes UI:
One row, displaying both the filter for the colorblindness type and its inverse
Two rows, one for the filter for the colorblindness type, one for its inverse.
so basically, the palettes UI could have either three or six additional rows.
This would help both:
users with normal color vision understand the colors perceived by colorblind users.
users with colorblindness understand the colors perceived by users with normal color vision.
Combined Rows
Rows would correspond to:
Protanopia
Deuteranopia
Tritanopia
Each row would have to have an odd number of colors with a minimum of 5 colors for there row to have one-to-one correspondence with filter and its inverse.
Swatch colors would correspond to:
Max severity
Average severity
User-selected color
Average severity inverse
Max severity inverse
If UI horizontal space permits, rows could show additional colorblindness strengths, with values chosen according to:
Constant sized scale ranging from [0, max] strength.
Equidistant midpoints between [0, avg] & [avg, max] strengths, with average always being between these ranges.
Common values according to population prevalence, sorted by strength. (idk if colorblindness severity is multi-modal or normally distributed). If prevalence is multi-modal, values could correspond to modes. If severity prevalence follows a normal distribution, values could correspond to standard deviations of severity.
This heuristic would also apply if implemented with individual rows for colorblindness filters and filter inverses.
Individual Rows
Rows would correspond to:
Protanopia
Deuteranopia
Tritanopia
Protanopia (inverse)
Deuteranopia (inverse)
Tritanopia (inverse)
Swatch colors would correspond to:
User-selected color
Average severity
Max severity
with additional values chosen following one of the heuristics described above.
Describe alternatives you've considered
There are probably a lot of other ways this feature could be implemented in UI, but my described behavior would probably be the easiest to implement and require the fewest UI changes. It also could integrate with the export functionality of the palettes feature.
Filter strength sliders or filter strength value settings would be desirable, but would require additional UI changes.
Even better would be to also implement screen/window/region selection like GNOME's screenshot functionality and apply a colorblindness filter. Obviously, that would require a lot more work and is potentially out-of-scope for this application.
DaltonLens implements this behavior, but it would be nice to have a GNOME native UI for this sort of thing.
Is your feature request related to a problem? Please describe.
As a colorblind dev, I often would like to know how a certain color would appear to people with normal color vision.
Designers and developers often want to know how their colors would look to colorblind users.
Describe the solution you'd like
Not entirely sure of a good UI for this feature, but I think a minimal effort implementation could reuse the existing palettes UI to display this information.
There are two implementations that could neatly integrate with the palettes UI:
so basically, the palettes UI could have either three or six additional rows.
This would help both:
Combined Rows
Rows would correspond to:
Each row would have to have an odd number of colors with a minimum of 5 colors for there row to have one-to-one correspondence with filter and its inverse.
Swatch colors would correspond to:
If UI horizontal space permits, rows could show additional colorblindness strengths, with values chosen according to:
[0, max]
strength.[0, avg]
&[avg, max]
strengths, with average always being between these ranges.This heuristic would also apply if implemented with individual rows for colorblindness filters and filter inverses.
Individual Rows
Rows would correspond to:
Swatch colors would correspond to:
with additional values chosen following one of the heuristics described above.
Describe alternatives you've considered
There are probably a lot of other ways this feature could be implemented in UI, but my described behavior would probably be the easiest to implement and require the fewest UI changes. It also could integrate with the export functionality of the palettes feature.
Filter strength sliders or filter strength value settings would be desirable, but would require additional UI changes.
Even better would be to also implement screen/window/region selection like GNOME's screenshot functionality and apply a colorblindness filter. Obviously, that would require a lot more work and is potentially out-of-scope for this application.
DaltonLens
implements this behavior, but it would be nice to have a GNOME native UI for this sort of thing.Additional context
Some resources:
DaltonLens/DaltonLens
- Existing software implementing colorblindness filters.