[Webkit-unassigned] [Bug 250999] New: VoiceOver navigation breaks on a combination of scroll-snap on html/:root and large fixpos images

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Jan 22 23:44:10 PST 2023


https://bugs.webkit.org/show_bug.cgi?id=250999

            Bug ID: 250999
           Summary: VoiceOver navigation breaks on a combination of
                    scroll-snap on html/:root and large fixpos images
           Product: WebKit
           Version: Safari 16
          Hardware: iPhone / iPad
                OS: iOS 16
            Status: NEW
          Severity: Major
          Priority: P2
         Component: Accessibility
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: johannes.odland at nrk.no
                CC: andresg_22 at apple.com,
                    webkit-bug-importer at group.apple.com

Created attachment 464601

  --> https://bugs.webkit.org/attachment.cgi?id=464601&action=review

A video of the bug

VoiceOver navigation breaks down on a specific combination of scroll-snap and large media items.

A combination of large fixpos images and scroll snap seems to break VoiceOver navigation. 

I'm not sure what exactly causes the bug, but I have been able to reproduce the issue in this codepen: https://codepen.io/johannesodland/pen/VwBQMXJ.
The codepen must be opened in debug mode on an iPhone. A video of the issue is attached. 

The codepen consists of a set of fixpos images with `height: 100vh` and a set of sections that have `height: 100vh` and `scroll-snap-align: top`;

Expected result: 
One should be able to navigate all the elements of the page in sequence:
- Link
- Image Description 1
- Section 1
- Image Description 2
- Section 2
- Section 3
- Section 4

Actual result: 
VoiceOver navigation breaks down, and routes you back to an earlier item: 
– Link
– Image Description 1
- Section 1
- Image Description 2
(Browser chrome resizes)
- Image Description 1
- Link
- Section 1


Observations: 
1. The bug seems to happen after a visual glitch or browser chrome retracting:
When VoiceOver focuses on an image that is the size of the large viewport the browser-chrome/url-bar retracts to make room for the image. 
The frame after it often reappears again, probably due to scroll-snap. 
The bug appears after this. VoiceOver gets stuck in a loop, and it can only be broken by touching and setting VoiceOver focus somewhere else. 

2. VoiceOver struggles with scroll-snap on :root in general. 
It will sometimes focus on an element, but scroll-snap will snap to a different element. As a result the element focused by VoiceOver ends up outside the screen.

3. The bug is not deterministic. Sometimes things work fine, sometimes it breaks down. It might be timing related.


I'm setting severity to major as this makes some pages inaccessible to VoiceOver users and I'm not sure of the exact cause and extent of this bug. 
Feel free to change it as you see fit.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20230123/1c17dee0/attachment.htm>


More information about the webkit-unassigned mailing list