Bug 147700 - AX: VoiceOver/Safari does not always scroll viewport when inside overflow-x:hidden container, off-screen focused controls inoperable
Summary: AX: VoiceOver/Safari does not always scroll viewport when inside overflow-x:h...
Status: RESOLVED WORKSFORME
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: 528+ (Nightly build)
Hardware: All iOS 8.2
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-08-05 15:47 PDT by Patrick H. Lauke
Modified: 2015-08-13 04:32 PDT (History)
5 users (show)

See Also:


Attachments
Reduced test case (6.54 KB, text/html)
2015-08-05 15:47 PDT, Patrick H. Lauke
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick H. Lauke 2015-08-05 15:47:03 PDT
(Issue is actually for iOS8.4, but the bug reporting form does not give me that version as an option)

First noticed the issue in a jQuery Mobile site, but managed to boil the problem down to the following specific situation...

Steps to reproduce:

- take a page that has a container (say, a <div>) with overflow-x:hidden (as most jQuery Mobile containers seem to have); inside that container, a <fieldset> with a sizeable amount of content (for instance, a long list of checkboxes, radio buttons, etc)
- with VoiceOver, navigate through the form controls
- once VO focus reaches the bottom of the visible viewport, the viewport does not scroll further, although VO announces/focuses on the form controls that are now off-screen
- attempting to interact with the off-screen focused controls does not work either (e.g. checkboxes, even when double-tapped, don't get checked)
- in addition, if the VO focus is roughly behind Safari's controls at the bottom of the screen, double-tapping sometimes triggers the back/next/share buttons of the browser itself.

Expected behavior:

- the viewport should scroll to follow VO focus, controls should be operable

(interestingly, changing the <fieldset> to another element, like a <div>, or removing the overflow-x:hidden from the main container, eliminates the problem...so this appears to be very specific to this combination - possibly some special handling of <fieldset>?)
Comment 1 Patrick H. Lauke 2015-08-05 15:47:38 PDT
Created attachment 258310 [details]
Reduced test case
Comment 2 Patrick H. Lauke 2015-08-05 16:02:44 PDT
Posted a short video of the reduced test case in action https://www.youtube.com/watch?v=-dt0VMFji5Y
Comment 3 Patrick H. Lauke 2015-08-11 08:42:05 PDT
After some further testing, the issue may actually go beyond the specific <fieldset> + overflow-x:hidden problem. For instance, I have encountered the same problem (with the visible viewport not following VoiceOver focus) on pages such as http://demos.jquerymobile.com/1.4.5/collapsible/ (which only has overflow-x:hidden, but no <fieldset>)
Comment 4 Patrick H. Lauke 2015-08-11 14:40:41 PDT
Possibly related to https://bugs.webkit.org/show_bug.cgi?id=141893 ?
Comment 5 Simon Fraser (smfr) 2015-08-11 20:57:43 PDT
Has anyone tested the iOS 9 seed builds?
Comment 6 James Craig 2015-08-11 21:28:21 PDT
probably a dupe of bug 132310
Comment 7 James Craig 2015-08-11 21:34:53 PDT
or bug 125720
Comment 8 James Craig 2015-08-13 02:23:31 PDT
(In reply to comment #5)
> Has anyone tested the iOS 9 seed builds?

Works as expected in 13A333. Patrick, please verify in the seed builds or once iOS 9 is released.
Comment 9 Patrick H. Lauke 2015-08-13 04:32:18 PDT
Just tested with latest iOS 9 beta, and it does indeed seem resolved (I didn't test like-for-like, as I installed the beta on an iPad rather than my iPhone, but I assume there's no functional difference in this case).