[webkit-dev] What to do about scroll anchoring?
Emilio Cobos Álvarez
emilio at mozilla.com
Fri Sep 27 05:23:40 PDT 2019
Hi,
(cc'ing webkit-dev@ and blink-dev@ in case they have feedback or
opinions, as WebKit is the only engine which does not implement scroll
anchoring, though I don't know if they plan to, and Blink is the only
other engine that does implement it. Please reply to dev-platform@ though.)
TLDR: Scroll anchoring is really a mess.
I didn't do the initial implementation of the feature in Gecko, but I've
done a ton of work over the last few months to fix compat issues in our
implementation (see all the bugs blocking [1]).
At this point, our implementation is mostly compatible with Blink, but
even with a bug-for-bug compatible implementation, we did get compat
issues because of different content being served for different browsers,
or because our anti-tracking protections changing the final content of
the page slightly ([2] is an example of bug which only reproduces with
ETP enabled only, but whose reduced test-case renders the site unusable
in Chrome as well).
If you hit one of the broken cases as a user you think the browser is
completely broken, and the site is just unusable.
I've fixed those by tweaking the heuristics Gecko uses. Those extra
heuristics have also caused other compat issues, like [3], reported
today, which will require other adjustments to the heuristics, etc...
On top of that, the spec is not in a good state, with ton of open issues
without feedback from the editors [4].
So right now I'm at a stage where I think that the feature is just not
worth it. It doesn't behave predictably enough for developers, and you
have no guarantee of it behaving consistently unless you test a
particular browser, with a particular content in a particular viewport
size... That's not great given the current dominant position of
Chromium-based browsers.
On top, issues with scroll anchoring are pretty hard to diagnose unless
you're aware of the feature.
All in all, it doesn't seem like the kind of feature that benefits a
diverse web (nor web developers for that matter), and I think we should
remove the feature from Gecko.
Does anyone have strong opinions against removing scroll anchoring from
Gecko, based on the above?
Thanks,
-- Emilio
[1]: https://bugzilla.mozilla.org/show_bug.cgi?id=1519644
[2]: https://bugzilla.mozilla.org/show_bug.cgi?id=1561450
[3]: https://bugzilla.mozilla.org/show_bug.cgi?id=1584499
[4]: https://github.com/w3c/csswg-drafts/labels/css-scroll-anchoring-1
More information about the webkit-dev
mailing list