Contact emails
Spec
Summary
Scroll anchoring is an intervention that prevents visible page jumps when content above the visible viewport changes. We propose to use a serialized representation of the scroll anchor to restore the scroll position and scroll anchor on history restore.
Motivation
Currently, the scroll anchor element is transient and only absolute pixel offsets are saved/restored when performing history navigation or history restoration. Further, even newly computed anchors are clobbered when restoring. Restoring scroll position via the scroll anchor instead of the absolute offset allows the anchor to be established much earlier, preventing reflows during page load from causing visible jumps.
Interoperability Risk
Scroll anchoring itself has shipped in Chrome, and Mozilla has expressed interest in implementing it. There are no signals from other vendors about using a serialized scroll anchor in the session history.
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
Link to entry on the feature dashboard
I don't think this is needed because at this point it's not a developer-facing change? I will happily create one if I'm wrong about this.
Requesting approval to ship?
No. (Runtime flagged)