Bug 146861 - AX: WEB: VoiceOver for iOS does not read <iframe> elements during linear (swipe) navigation.
Summary: AX: WEB: VoiceOver for iOS does not read <iframe> elements during linear (swi...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: chris fleizach
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2015-07-10 16:31 PDT by chris fleizach
Modified: 2015-10-08 03:50 PDT (History)
10 users (show)

See Also:


Attachments
patch (4.67 KB, patch)
2015-07-10 17:59 PDT, chris fleizach
darin: review+
Details | Formatted Diff | Diff
patch setup (2.37 KB, text/plain)
2015-10-08 03:50 PDT, sarita
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description chris fleizach 2015-07-10 16:31:42 PDT
VO will skip directly over an iframe and user will not know it is there on the page. Explore by touch is the only method to find the iframe but user would have to guess if one was there.

Steps to Reproduce:
"1. Open https://www.google.com/recaptcha/api2/demo in Mobile Safari on iOS
2. Turn on VoiceOver
3. Swipe through all elements on the screen"

Expected Results:
VoiceOver reads all elements on the screen including setting focus inside the I'm not a robot checkbox <iframe> element during normal linear swipe navigation.

Actual Results:
VoiceOver skips right over the <iframe> element never reading the "I'm not a robot checkbox" because it is inside an iframe.

<rdar://problem/21051187>
Comment 1 chris fleizach 2015-07-10 17:59:22 PDT
Created attachment 256630 [details]
patch
Comment 2 Darin Adler 2015-07-11 15:25:20 PDT
Comment on attachment 256630 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=256630&action=review

> Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:386
> -    if (children[elementIndex]->isAttachment())
> +    if (children[elementIndex]->isAttachment() && [wrapper attachmentView])
>          return [wrapper attachmentView];

I would suggest putting [wrapper attachmentView] into a local variable.
Comment 3 chris fleizach 2015-07-12 12:43:48 PDT
http://trac.webkit.org/changeset/186741
Comment 4 sarita 2015-10-08 03:50:56 PDT
Created attachment 262685 [details]
patch setup