Bug 146861

Summary: AX: WEB: VoiceOver for iOS does not read <iframe> elements during linear (swipe) navigation.
Product: WebKit Reporter: chris fleizach <cfleizach>
Component: AccessibilityAssignee: chris fleizach <cfleizach>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, apinheiro, commit-queue, darin, dmazzoni, jcraig, jdiggs, mario, samuel_white, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
patch
darin: review+
patch setup none

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