- From: James Craig via GitHub <sysbot+gh@w3.org>
- Date: Wed, 07 Dec 2016 10:10:44 +0000
- To: public-css-archive@w3.org
Thanks @frivoal. This is very thorough.
Note: Despite the length, I like the more explicit falsy value because
`no` is too easily inverted (no motion or no preference?). Let's go
with the less ambiguous `no-preference` as the falsy value.
I feel I need to explain another distinction I value that did not make
it into your grid.
I'm not convinced we should use the same media feature to mix
exposed-preference values with what you're calling forced values. The
forced values are just standard media features that allow the author
to account for what has already changed:
- **viewport width is less than 480px**, regardless of whether this is
due to the max device width, or a desktop window size, or b/c content
is zoomed inside a larger window.
- **color representation is monochrome**, regardless of whether this
due to a printer context, display capabilities, or a user preference
- etc.
Perhaps the distinction is unimportant to others, but I've been
thinking of these as a new user preference type ("Author, please
change this on behalf of the user") where no change with made without
explicit author adoption. If the author is willing and able to adopt
my preference, great! If not, render the page as you normally would.
The benefit would not be limited to accessibility cases:
- **hypothetical: user prefers limited bandwidth**, so avoid
downloading non-essential resources due to bandwidth constraints,
personal preference, or other factors.
- **user prefers reduced motion**, due to a vestibular disorder, or
older hardware where the excessive processing power required is taxing
on the device. Only the author can know which are appropriate to
reduce, as forcing all off could break interaction.
If that distinction is valuable to others, add two more deal-breaker
columns:
Col 6: The media feature name needs to clearly convey it will not
change the display on its own. So far, only the `prefers-*` and the
`*-preference` suggestions do so.
Col 7: Values must be expandable. The `prefers` and `forced` values
would suffice for very few user preferences, so values could be
whatever type is appropriate for the media feature. As a few trivial
examples: `temperature-unit-preference: no-preference | fahrenheit |
celsius` or `font-family-preference: no-preference | <string>`
With this added criteria, these seem like better solutions.
```css
motion-preference: no-preference | reduce; /* possible expansion:
reduce-rotation, etc. */
prefers-reduced-motion: no-preference | reduce;
```
--
GitHub Notification of comment by cookiecrook
Please view or discuss this issue at
https://github.com/w3c/csswg-drafts/issues/442#issuecomment-265407667
using your GitHub account
Received on Wednesday, 7 December 2016 10:10:52 UTC