Intent to Implement: 'overscroll-action' for gesture navigation

98 views
Skip to first unread message

Majid Valipour

unread,
Sep 29, 2016, 8:09:27 AM9/29/16
to blink-dev

Contact emails

maj...@chromium.org, suny...@chromium.org

Spec
https://wicg.github.io/user-gesture-nav/

Summary
'overscroll-action' is a non-inherited CSS property which controls the permitted overscroll actions by the browser. It is currently spec'ed to only cover overscroll actions on viewport and can be used to disable overscroll gesture navigation actions such as pull-to-refresh and swipe to back/forward.


Motivation
Most browsers implement a set of navigations actions that are triggered by user gesture (almost always an "overscroll"). The user-agent relies on heuristics to detect whether the gesture should result in a navigation or should be handled by the page content. These heuristics may work in general case but fail for certain applications and UI patterns. Such failures are particularly problematic because a navigation action is a major context switch that disrupts user experience.


Over time, to prevent said disruptions or to implement their own customized versions, web developers have resorted to workarounds for disabling these navigation gestures. Unfortunately these workarounds can be unreliable, complicated, have serious performance drawbacks, or a combination of these. We believe a simple and reliable way to control these navigation gestures will go a long way to address this platform pain point.



Interoperability risk


Firefox: Mixed support
Edge: Public support
Safari: No public signals
Web developers: No signals

Although no other vendor has committed to shipping this yet but Mozilla has been involved with the feature design and Edge have publicly supported the attempt to address this issue. The API surface is small and the feature is valuable on its own. There is a possibility that we decide to use a viewport meta variable instead of a CSS property but we are working to resolve and finalize the API before shipping this feature.



Compatibility risk
This is a new feature and it does not have any compatibility risk.


Ongoing technical constraints
None

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux,
Chrome OS, Android, and Android WebView)?

Yes.


OWP launch tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=651214

Link to entry on the Chrome Platform Status
https://www.chromestatus.com/features/5743621387059200

Requesting approval to ship?
No


Reply all
Reply to author
Forward
0 new messages