Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iframe has non-empty name - problems with examples and applicability [cae760] #1367

Closed
dd8 opened this issue Jul 4, 2020 · 4 comments · Fixed by #2034
Closed

iframe has non-empty name - problems with examples and applicability [cae760] #1367

dd8 opened this issue Jul 4, 2020 · 4 comments · Fixed by #2034
Assignees
Labels

Comments

@dd8
Copy link
Collaborator

dd8 commented Jul 4, 2020

Each browser / AT combination presents a slightly different user interface for navigating iframes:

  • VoiceOver/Safari 13 - exposes iframe as container in normal reading order named by title, but iframe contents not in until user presses Control-Option-Shift-Down Arrow to enter iframe, first item inside iframe focused by tab key
  • JAWS/IE11 - includes iframe contents in normal reading order, first item inside iframe focused by tab key and frame title not read
  • JAWS/FF68 - includes iframe contents in normal reading order, first item inside iframe focused by tab key and frame title is read
  • JAWS/Chrome - includes iframe contents in normal reading order, first item inside iframe focused by tab key and frame title is read
  • NVDA/IE11 - includes iframe contents in normal reading order, first item inside iframe focused by tab key
  • NVDA/FF68 - includes iframe contents in normal reading order, iframe is focusable but always silent (not named by title/acc-name)
  • NVDA/Chrome - unable to test due to focus trap in browser address bar

On Windows iframe title is read when tabbing, but not in normal screen reader reading order
On Mac iframe title is read in normal screen reader reading order, but not when tabbing

Test results for the examples are

Example VO/Safari 13 JAWS/IE11 JAWS/FF68 JAWS/Chrome NVDA/FF68 NVDA/Chrome NVDA/IE11
Passed 1 OK OK OK OK Fail Untested OK
Passed 2 Fail OK OK OK Fail Untested OK
Passed 3 Fail OK OK OK Fail Untested OK
Failed 1 OK OK Fail OK Fail Untested OK
Failed 2 Fail OK Fail OK Fail Untested OK
Failed 3 Fail OK Fail OK Fail Untested OK
Failed 4 Fail OK Fail OK Fail Untested OK
Inapplicable 1 OK OK OK OK OK Untested OK
Inapplicable 2 OK OK OK OK OK Untested OK
Inapplicable 3 Fail OK OK Fail OK Untested OK

On Safari untitled iframes are hard to use because there's no indication of frame contents, and users often assume they contain adverts. This is bad if the iframe contains something important - I've seen a Safari user unable to find a login form in an iframe for exactly this reason.

Inapplicable Example 3 fails in VoiceOver with Safari
The Safari issue on Inapplicable Example 3 is a consequence of the UI design (frames exposed as nested containers) but excluded from the applicability. The problem happens in normal reading order, not when tabbing between focusable items. I think the applicability needs extended to cover problems with VoiceOver/Safari by removing the following:

and that can be accessed by sequential focus navigation

https://act-rules.github.io/rules/cae760#applicability

Passed examples 1,2,3 always fail on NVDA/FF68 because tabbing to the frame always produces silence - even if a title or ARIA label is provided. This looks like a bug so I don't think the examples or applicability should change for this.

Passed examples 2,3 always fail on VoiceOver with Safari because it doesn't use acc-name calculation for iframes (but does use the iframe name which is not supposed to be human readable). Again this looks like a bug so I don't think the examples of applicability should change for this.

NVDA with Chrome is untested because there's a focus trap in address bar so you can't tab to the page to test.

tl/dr; remove "and that can be accessed by sequential focus navigation" from applicability and make Inapplicable Example 3 a fail.

@dd8 dd8 changed the title iframs has non-empty name - problems with examples and applicability iframe has non-empty name - problems with examples and applicability Jul 4, 2020
@WilcoFiers
Copy link
Member

Thanks for the thorough research. I totally agree with your conclusions. That applicability looked odd, against my better judgement I approved that... oops!

The passed example 2 / 3 Safari issue is known and was noted in accessibility support. The NVDA one is not and definitely should be.

@jeeyyy
Copy link
Collaborator

jeeyyy commented Jul 8, 2020

Thanks for the extensive research @dd8. Sequential focus navigation has been part of this rule for a long time.

I dug up through the history, and found these discussions:

@WilcoFiers
Copy link
Member

Need a volunteer to work on this rule.

@carlosapaduarte
Copy link
Member

@WilcoFiers assigning this to you since you are already handling w3c/wcag-act#473

@WilcoFiers WilcoFiers changed the title iframe has non-empty name - problems with examples and applicability iframe has non-empty name - problems with examples and applicability [cae760] Jul 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment