Web-Facing Change PSA: Scroll Anchoring Priority Candidate Fix

61 views
Skip to first unread message

Vladimir Levin

unread,
Jun 16, 2025, 2:18:13 PMJun 16
to blink-dev

Contact emails

vmp...@chromium.org

Specification

None

Summary

Currently, scroll anchoring algorithm selects priority candidates when they are available as anchor targets. The priority candidates are currently a focused editable element and find-in-page highlights. This can cause suboptimal user experience if there is a large focused contenteditable element that has content changed offscreen (the cursor ends up being shifted as a consequence). A simple fix is to change the algorithm: instead of selecting the priority candidate as the anchor, chose the candidate as the scope/root of the regular anchor selection algorithm which will select the deepest onscreen element as the anchor. This feature tracks this change.



Blink component

Blink>Scroll


Risks



Interoperability and Compatibility

None



Gecko: No signal (Discussed and agreed at CSSWG)

WebKit: No signal (Discussed and agreed at CSSWG)

Web developers: Positive (https://issues.chromium.org/395489580)

Other signals:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

None



Debuggability

None



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

No

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

Yes

Flag name on about://flags

None

Finch feature name

ScrollAnchorPriorityCandidateSubtree

Non-finch justification

None

Rollout plan

Will ship enabled for all users

Requires code in //chrome?

False

Estimated milestones

Shipping on desktop139
Shipping on Android139
Shipping on WebView139


Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).

None

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5070370113323008?gate=5021911540826112

This intent message was generated by Chrome Platform Status.
Reply all
Reply to author
Forward
0 new messages