web-platform-tests / interop

web-platform-tests Interop project
https://wpt.fyi/interop
282 stars 28 forks source link

Carryover evaluation: Scrolling #471

Closed nairnandu closed 7 months ago

nairnandu commented 12 months ago

To evaluate continuation of the Scrolling focus area in Interop 2024

Original proposal:

Labeled tests (2023):

Also consider the possibility of adding new tests in 2024

foolip commented 11 months ago

We should consider the overlap between this and https://github.com/web-platform-tests/interop/issues/492 filed by @johannesodland.

There are a lot of unlabeled tests for scroll snap to consider.

brunostasse commented 11 months ago

I strongly recommend that scrolling be carried over.

There are still plenty of interoperability issues in this area. To point to a few in WebKit:

Body scrolling which cannot be reliably prevented (mentioned before interop 2023):

Issues with CSS pointer-events: Working in Firefox, fixed recently in Chromium (although not fully) and broken in WebKit.

Other issues related to touch/pointer events, overscroll and scroll-snap:

skobes-chromium commented 11 months ago

We reviewed the full list of failing tests in css-scroll-snap and identified a high-impact subset to focus on for Scrolling Interop 2024. That subset falls broadly into two groups.

Honoring scroll-snap-align for non-input scrolls

css/css-scroll-snap/scroll-target-align-001.html
css/css-scroll-snap/scroll-target-align-002.html
css/css-scroll-snap/scroll-target-snap-001.html
css/css-scroll-snap/scroll-target-snap-002.html

Nested and scrollport-covering snap areas

css/css-scroll-snap/input/snap-area-overflow-boundary.html
css/css-scroll-snap/overflowing-snap-areas.html
css/css-scroll-snap/overscroll-snap.html
css/css-scroll-snap/scroll-on-large-element-not-covering-snapport.tentative.html
css/css-scroll-snap/scroll-snap-nested-snap-area-layout-changed.html
css/css-scroll-snap/scroll-snap-stop-002.html
css/css-scroll-snap/snap-after-relayout/changing-scroll-snap-align.html
css/css-scroll-snap/snap-into-covering-area.html

In the first group, scroll-target-snap- is also in scope for Interop 2023 and the Chrome fix is tracked by crbug.com/1325845. The scroll-target-align- tests expect scroll-snap-align to be honored even inside scroll-snap-type:none, which is called out as optional behavior in the spec. However we should adopt this behavior if we plan to introduce scroll-align as an equivalent.

The second group consists mainly of changes that Chrome has recently made to its handling of covering and nested snap areas, described in the blink-dev PSA and links therein. There is an open issue to provide greater spec clarity here.

johannesodland commented 11 months ago

Issue #492 was closed in favor of this issue, so I'm pasting over a list of scroll-snap bugs from that issue. I doubt that these bugs are covered by WPT as most occur on mobile devices – related to the dynamic mobile viewport, gestures such as scroll-to-top, search, screen readers and so on.

I hope these bugs can be included in Interop 2024, or that an effort can be made to investigate how one can improve test coverage for these kinds of issues.

This is not a complete list of bugs, but a list of issues I'm aware of or found through a quick search.

https://bugs.webkit.org/show_bug.cgi?id=251003 https://bugs.webkit.org/show_bug.cgi?id=218709 https://bugs.webkit.org/show_bug.cgi?id=245722 https://bugs.webkit.org/show_bug.cgi?id=253056 https://bugs.webkit.org/show_bug.cgi?id=255592 https://bugs.webkit.org/show_bug.cgi?id=255592 https://bugs.chromium.org/p/chromium/issues/detail?id=953285 https://bugs.chromium.org/p/chromium/issues/detail?id=1404006 https://bugs.chromium.org/p/chromium/issues/detail?id=1245459 https://bugs.chromium.org/p/chromium/issues/detail?id=1154509 https://bugs.chromium.org/p/chromium/issues/detail?id=1423359 https://bugzilla.mozilla.org/show_bug.cgi?id=1848917

denvercoder21 commented 11 months ago

This came to our attention recently and probably belongs here as well.

https://bugzilla.mozilla.org/show_bug.cgi?id=1857898

foolip commented 9 months ago

Here's a wpt.fyi view of the proposed test expansion in https://github.com/web-platform-tests/interop/issues/471#issuecomment-1759542740:

https://wpt.fyi/results/css/css-scroll-snap?label=master&label=experimental&product=chrome&product=firefox&product=safari&aligned&view=interop&q=path%3A%2Fcss%2Fcss-scroll-snap%2Fscroll-target-align-001.html%20or%20path%3A%2Fcss%2Fcss-scroll-snap%2Fscroll-target-align-002.html%20or%20path%3A%2Fcss%2Fcss-scroll-snap%2Fscroll-target-snap-001.html%20or%20path%3A%2Fcss%2Fcss-scroll-snap%2Fscroll-target-snap-002.html%20or%20path%3A%2Fcss%2Fcss-scroll-snap%2Finput%2Fsnap-area-overflow-boundary.html%20or%20path%3A%2Fcss%2Fcss-scroll-snap%2Foverflowing-snap-areas.html%20or%20path%3A%2Fcss%2Fcss-scroll-snap%2Foverscroll-snap.html%20or%20path%3A%2Fcss%2Fcss-scroll-snap%2Fscroll-on-large-element-not-covering-snapport.tentative.html%20or%20path%3A%2Fcss%2Fcss-scroll-snap%2Fscroll-snap-nested-snap-area-layout-changed.html%20or%20path%3A%2Fcss%2Fcss-scroll-snap%2Fscroll-snap-stop-002.html%20or%20path%3A%2Fcss%2Fcss-scroll-snap%2Fsnap-after-relayout%2Fchanging-scroll-snap-align.html%20or%20path%3A%2Fcss%2Fcss-scroll-snap%2Fsnap-into-covering-area.html