Re: [csswg-drafts] [mediaqueries] Media Feature: "reduce motion" user setting

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