elementary / switchboard-plug-display

Switchboard Displays Plug
https://elementary.io
GNU General Public License v3.0
14 stars 18 forks source link

Provide presets for color-blind people #291

Closed tintou closed 1 year ago

tintou commented 3 years ago

Problem

Recently some other platforms are providing color presets for color-blind people. This allows them to better perceive the colors on their screen.

Proposal

Make Gala/Plug aware of these settings and provide an interface for easily enable color filter on compositor side (like it is done for night-light)

Prior Art

https://support.microsoft.com/en-us/windows/use-color-filters-in-windows-10-43893e44-b8b3-2e27-1a29-b0c15ef0e5ce

cassidyjames commented 3 years ago

Android also has this. Super anecdotally, a colorblind friend of mine says he avoids these settings in OS-wide contexts because they mostly just look like they desaturate everything for him—but that might be his specific colorblindness (protanomaly, iirc). We do avoid using color alone for semantics throughout the OS, but if there's interest in this, we'd likely need to provide:

And oftentimes I see grayscale as an option as well.

The specific color transformations should be in the Android source code if we wanted to start there.

danirabbit commented 3 years ago

I think I've heard of this more in the context of being used for developers for testing purposes and not as much for users. Probably would be good to speak to some color blind folks about their experience

cassidyjames commented 3 years ago

@danrabbit yeah, that's a similar but opposite feature. 😉 This issue is about attempting to correct for color blindness by shifting colors that are hard to distinguish farther apart, while what you're talking about simulates color blindness by shifting those colors closer together. The exact same mechanism, just different uses.

Antolius commented 2 years ago

It may be useful to have a single, global setting for "color-blind mode". It could then be interpreted in different ways throughout the OS and the app ecosystem. For example:

  1. System stylesheet could have a variant that adds some kind of patterned background to destructive action buttons and error info bars which currently only have the error color (red) background. This would make distinction between suggested and destructive actions clear.
  2. Palette app could permanently overlay color names over ColorButtons, instead of showing it in tooltips. This would make information immediately available.
  3. Sage app could similarly overlay digits over colored pins. This would make the game playable (which it currently isn't).

I hope that these ideas show that shifting the colors is not the only UX improving option that we have at our disposal.

Having a global setting would also benefit developers, who wouldn't have to include it at app level. I was thinking of adding such a setting into the Sage app, and it lead me to find this ticket.

danirabbit commented 1 year ago

A set of filters was merged in Gala: https://github.com/elementary/gala/pull/1595

danirabbit commented 1 year ago

@Antolius Since we've recently added filters, could you open a separate issue report against the stylesheet about this? I think ideally we'd want to try to come up with solutions there that can be used by default and not require a separate mode if we're using only color somewhere to convey meaning