Contact emails

fbeauf...@chromium.org, to...@chromium.org

Explainer

https://github.com/wicg/user-preference-media-features-headers/blob/main/README.md

Specification

https://wicg.github.io/user-preference-media-features-headers/#sec-ch-prefers-reduced-motion

API spec

Yes

Summary

The Sec-CH-Prefers-Reduced-Motion client hint is modeled after the
prefers-reduced-motion user preference media feature as defined in Media
Queries Level 5. This headers follows Sec-CH-Prefers-Color-Scheme, which
was described in
https://groups.google.com/a/chromium.org/g/blink-dev/c/tEZ4RVsP1ms.

Blink component

Blink>CSS

Motivation

CSS media queries, and specifically user preference media features like
prefers-reduced-motion, have a potentially significant impact on the amount
of CSS that needs to be delivered by a page, and on the experience the user
is going to have when the page loads.

It is a best practice to not load CSS responsible for animations in the
critical rendering path if the user prefers reduced motion, but to instead
only load said CSS if the user doesn't mind motion. One way of doing so is
via <link media>. However, high-traffic sites like Google Search that wish
to honor user preference media features like prefers-reduced-motion and
that inline CSS for performance reasons, need to know about the motion
preferences (or other user preference media features respectively) ideally
at request time, so that the initial HTML payload already has the right CSS
inlined.

TAG review

https://github.com/w3ctag/design-reviews/issues/632

TAG review status

Unsatisfied

Demo link

https://sec-ch-prefers-reduced-motion.glitch.me/

Debuggability

Developers can change the Sec-CH-Prefers-Reduced-Motion client hint header
value by emulating motion preferences via DevTools in the Rendering panel
like they can do with the Sec-CH-Prefers-Color-Scheme client hint header
today.

Measurement

The kClientHintsPrefersReducedMotion WebFeature tracks
Sec-CH-Prefers-Reduced-Motion client hint usage.

Risks


Interoperability and Compatibility
There are no particular compatibility risks.

Interoperability is still pending on other browser vendors replying.
Support for Client Hints in general is not enthusiastic though.


Signals from other implementations (Gecko, WebKit):

Gecko: Pending (https://github.com/mozilla/standards-positions/issues/526)

WebKit: Pending (
https://lists.webkit.org/pipermail/webkit-dev/2021-May/031856.html, now
migrated to https://github.com/WebKit/standards-positions/issues/15)

Web / Framework developers: Positive (WICG proposal Issue:
https://github.com/WICG/proposals/issues/30 with feedback from developers
working for Facebook
<https://github.com/WICG/proposals/issues/30#issuecomment-854962840> and
Magento <https://github.com/WICG/proposals/issues/30#issuecomment-850873790>.
Twitter: https://twitter.com/kilianvalkhof/status/1392404416335056896. The
proposal was initially discussed in
https://github.com/w3c/csswg-drafts/issues/4162 and received positive
feedback via 16 Likes and 3 supportive comments:
https://github.com/w3c/csswg-drafts/issues/4162#issuecomment-621047333,
https://github.com/w3c/csswg-drafts/issues/4162#issuecomment-631400330, and
https://github.com/w3c/csswg-drafts/issues/4162#issuecomment-645742958).
Google Search is interested in this header, too.

Ergonomics:

N/A

Activation:

Developers will include Sec-CH-Prefers-Reduced-Motion in the response
headers Accept-CH and Critical-CH to let the browser know that they’re
interested in the motion preferences. If supported, the request header
Sec-CH-Prefers-Reduced-Motion will be populated with the appropriate value.

Is this feature fully tested by web-platform-tests?

Yes. https://wpt.fyi/results/client-hints.

Tracking bug

https://crbug.com/1361871

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5141804190531584

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALgRrL%3DgTkCO%3DmZErYjf1BCyQAPFNNMv3KJFPpFEFV3Ev6%3DrtA%40mail.gmail.com.

Reply via email to