LGTM1 I agree with your analysis of the ergonomics of the feature. Thanks for pushing this!
On Tuesday, September 20, 2022 at 5:34:10 PM UTC+2 Thomas Steiner wrote: > TAG review >> >> https://github.com/w3ctag/design-reviews/issues/632 >> >> TAG review status >> >> Unsatisfied >> > > To add some more nuance to the unsatisfied TAG review, here's the TAG's > summary, with our reactions: > > > *As you mentioned - ...this is not aimed at the average website.. Not > all Web platform features are aimed or used by all websites. However, Web > features must be predictable and possible for use by anyone, safely.* > > This feature *predictably* reveals the *current* state of > prefers-color-scheme and now prefers-reduced-motion. It is comparable > with client hints like sec-ch-viewport-height ( > https://github.com/w3ctag/design-reviews/issues/615) which changes, for > example, when the user switches to a different monitor (a scenario quite > common with laptops being used stationary with fixed screens in clamshell > mode and the built-in screen in on-the-go mode). If the user loads a page > with a small screen and then switches to a larger screen and the server has > based the loading of assets on the height of the viewport, the server is > now responsible for loading the rest of the content. (This can be testing > in a demo, courtesy of François Beaufort: https://client-hints.glitch.me/ > ). > > Everyone capable of modifying the headers of their web server can use this > feature. > > > *The base problem of this proposal is the exposure of user state rather > than client capabilities of user preference media features. This allows > user state handling on the server side which can lead to race conditions > and undesired error state and user experience. One that doesn't exist today > with media features which are evaluated and handled on the client side. > This is not a safe pattern and should be avoided.* > > The mentioned race conditions cannot really occur, since the client hint > is evaluated exactly once by the server at request time. In the worst case, > the change in conditions would be handled by the next reload. This is > comparable to existing client-side code that deals with this problem: If a > site uses matchMedia() to either show the one form of the page or the > other, but at the same time doesn't register a change listener for the > media query, we are in exactly the same boat: the page won't update > immediately when the user changes their preferences, but only upon the next > request. Improvements upon this are possible by adding said change > listener, which would be applicable to the client hint and the > matchMedia() approach alike. > > > *During our call we discussed multi stakeholder interest. You mentioned > of few other large Web properties that would be interested and willing to > use the feature for similar benefits to those of google.com > <http://google.com>. That isn't surprising. They employ enough engineers > and will be able to take the hit of implementation and support. What we > don't see is evidence of other browser vendors interested to support the > feature.* > > Position requests were filed, with no final response so far: > > Mozilla: https://github.com/mozilla/standards-positions/issues/526 > > WebKit: https://lists.webkit.org/pipermail/webkit-dev/2021-May/031856.html > now migrated to https://github.com/WebKit/standards-positions/issues/15. > > A classic chicken-egg problem: the more web properties want to use this, > the more relevant it will become for browser vendors to implement this. > > > *We don't see evidence or use cases of user preference media features > other than 'prefers-color-scheme'. If this is the only use case, with most > benefit to your scenario, consider exposing a hint of such client > capability, i.e. "does this device support auto detection of light or dark > mode"* > The pure presence of the current proposal for > sec-ch-prefers-reduced-motion demonstrates the need for additional hints > than the previous color scheme hint ( > https://groups.google.com/a/chromium.org/g/blink-dev/c/tEZ4RVsP1ms/m/lDufAyPPFAAJ). > > The stakeholder is Google Search in both cases. > > -- 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/49cb057f-a31e-447f-bec4-337a44fb1850n%40chromium.org.