Re: [csswg-drafts] [mediaqueries-5] Dark Mode in CSS

> Some high-contrast themes are dark, and could potentially switch the dark mode MQ on, but I don't think we should mix these things up. 

I really think that's the best way to think about it:

- One media query for dark vs light vs unknown/other color theme (requesting that site content use a consistent color scheme).

- One query for whether or not the browser is enforcing an accessible color scheme, as discussed in https://github.com/w3c/css-a11y/issues/1 (warning site authors that their colours won't be used, and that they should limit the use of decorative effects, and use system colors or `currentColor` for graphical content that should match text).

The existing [`-ms-high-contrast` media query](https://msdn.microsoft.com/en-us/library/hh771830(v=vs.85).aspx) could map to a combination of the two queries:

- ` (-ms-high-contrast: black-on-white)` = `(color-theme: light) AND (accessible-colors: active)`
- ` (-ms-high-contrast: white-on-black)` = `(color-theme: dark) AND (accessible-colors: active)`
- ` (-ms-high-contrast: active)` = `(accessible-colors: active)`

(@FremyCompany Does that seem reasonable for the Edge implementation?)

Enforced color inversion or time-of-day color alterations applied by the OS would be something else entirely. I'm still not sure that these should be exposed at all.  I imagine far too much confusion with author's trying to second-guess the user's decision and browser implementation.  Maybe the best way to expose them would be `accessibility-filter: active`, as a warning that the final colors are changed—without any details in which direction.  That way, authors can choose to simplify the color scheme or graphical effects, but cannot make any other assumptions.

Similarly, I am skeptical of a `light-level` media query being used as a proxy for color themes, because it makes assumptions about what the user wants in a given environment. Using the actual user-chosen OS setting for color theme is much more likely to be accurate. That said, I hope that browsers would provide user control over the setting exposed to websites, separate from the OS-level setting (I personally like dark modes for browser/OS chrome, but hate it for content with any amount of text to read).

A browser-level setting could also be the best way to let users decide if the light/dark mode setting would automatically switch by time of day or ambient light level.

-- 
GitHub Notification of comment by AmeliaBR
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/2735#issuecomment-395909760 using your GitHub account

Received on Friday, 8 June 2018 22:32:15 UTC