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.