Bug 251003

Summary: Scroll-snap snaps to wrong element after VoiceOver navigation
Product: WebKit Reporter: Johannes Odland <johannes.odland>
Component: AccessibilityAssignee: Nobody <webkit-unassigned>
Status: NEW    
Severity: Major CC: andresg_22, nmouchtaris, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 16   
Hardware: iPhone / iPad   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=245722
https://bugs.webkit.org/show_bug.cgi?id=250999
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=272079
Attachments:
Description Flags
A video of the bug none

Johannes Odland
Reported 2023-01-23 03:19:17 PST
Created attachment 464607 [details] A video of the bug Found another bug that might be related to https://bugs.webkit.org/show_bug.cgi?id=250999 When using VoiceOver to navigate (swipe right gesture) a page with scroll-snap on :root, the wrong element will sometimes snap to the viewport. I have tried to recreate a minimal example here: https://codepen.io/johannesodland/pen/QWBQQoM (The example must be tested in debug mode / full screen. It does not work if run in an iframe. ) Expected result: After using VoiceOver to navigate to an element, that element should stay in the viewport. Actual result: After using VoiceOver to navigate to an element, then a different element snaps to the viewport effectively pushing the element with VoiceOver focus out of the viewport. This breaks navigation for the user. If they use touch navigation from here they will reach content on another part of the page, and not where they navigated to. Observations: - It is sometimes possible to see the element with VoiceOver focus being scrolled into the viewport in one frame, before it disappears and another element is snapped into place. - I have experienced VoiceOver navigation breaking down after seeing this bug, similar to https://bugs.webkit.org/show_bug.cgi?id=250999. I have marked this bug with `Severity: Major` as this affects Accessibility / VoiceOver navigation. Feel free to adjust the severity as fit.
Attachments
A video of the bug (662.37 KB, video/mp4)
2023-01-23 03:19 PST, Johannes Odland
no flags
Radar WebKit Bug Importer
Comment 1 2023-01-23 03:19:33 PST
Johannes Odland
Comment 2 2023-01-23 23:49:41 PST
Might be related to https://bugs.webkit.org/show_bug.cgi?id=245722 where scrollIntoView fails after the browser interface has retracted.
Johannes Odland
Comment 3 2023-03-27 22:54:25 PDT
Retested on iOS Safari 16.4. The issue still persists. I have moved the test case to a new location for easier testing. Here is the URL: https://johannesodland.github.io/browserbugs/safari-scroll-snap-voice-over-snaps-to-wrong-element-issue.html
Johannes Odland
Comment 4 2023-05-22 04:29:09 PDT
Retested on iOS 16.5 The issue is still present.
Johannes Odland
Comment 5 2023-09-19 09:25:55 PDT
Retested on iOS 17. Still snaps to wrong element, with the correct element ending up outside the viewport.
Johannes Odland
Comment 6 2024-03-07 12:16:07 PST
Retested in iOS 17.4. Some of the focused elements still end up outside the viewport.
Johannes Odland
Comment 7 2024-11-19 10:04:18 PST
Restesd on iOS 18.1. Still an issue.
Note You need to log in before you can comment on or make changes to this bug.