Bug 175737

Summary: AX: Scroll position jumps when reading non-interactive content with VoiceOver
Product: WebKit Reporter: Alex Lande <alexlande>
Component: AccessibilityAssignee: Nobody <webkit-unassigned>
Status: NEW    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 10   
Hardware: iPhone / iPad   
OS: iOS 10.3   
Attachments:
Description Flags
HTML file to demonstrate issue none

Alex Lande
Reported 2017-08-18 15:23:09 PDT
Created attachment 318550 [details] HTML file to demonstrate issue On iOS, VoiceOver causes the screen to jump to the top of the page when reading certain page content. This happens most often when reading non-interactive and non-heading elements like `<p>` tags. This occurs when the content is inside of a container with `tabindex='-1'` and the page is taller than the screen height of the device. The bug occurs to a limited extent whenever the tabindex is present, but only happens with certain elements near the bottom of the page. If the page includes a `height: 100%` style declaration on `html`, `body`, and the containing element, the bug occurs for all `<p>` tags that don't fit on the screen initially. I've attached an HTML file to reproduce the bug, it's also available on JSBin: http://output.jsbin.com/viyibe Steps to Reproduce: 1. Open the attached page on an iOS device and open VoiceOver. 2. Swipe right repeatedly to read through page content until you get past the content that fits on the screen initially. Actual Results: When VoiceOver reads `<p>` elements after the first few, the browser will visually jump to the top of the page. Expected Results: Each `<p>` element read by VoiceOver should be on screen when it is read, and the browser should not jump to the top of the page. Additional Information: To see the expected behavior, you can remove the `tabindex='-1'` from the containing `<div>`. To see a limited form of the bug which only applies on the last 1-2 `<p>` elements on the page, you can remove the line of CSS setting `height: 100%` on the containing elements (while leaving the `tabindex` in place).
Attachments
HTML file to demonstrate issue (1.71 KB, text/html)
2017-08-18 15:23 PDT, Alex Lande
no flags
Radar WebKit Bug Importer
Comment 1 2017-08-18 15:23:38 PDT
Note You need to log in before you can comment on or make changes to this bug.