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

Use of role="none" #515

Closed
sh0ji opened this issue Nov 1, 2017 · 11 comments
Closed

Use of role="none" #515

sh0ji opened this issue Nov 1, 2017 · 11 comments
Labels
question Issue asking a question

Comments

@sh0ji
Copy link
Contributor

sh0ji commented Nov 1, 2017

#514 got me thinking: role="presentation" won't be deprecated until ARIA 2.0 and ARIA 1.1 has an Editor's Note for role="none" that states:

Until implementations include sufficient support for role="none", web authors are advised to use the presentation role alone role="presentation" or redundantly as a fallback to the none role role="none presentation".

With this in mind, should APG 1.1 be using role="none" alone? It seems like it would be safer to use role="none presentation" now, and plan to switch to role="none" alone for 2.0.

@jnurthen
Copy link
Member

In our experience role="none presentation" doesn't really help anyone. The browsers which don't support role=none generally also don't support fallback roles so adding them doesn't generally help anyone.

Leaving this open for further discussion though - if we can show this helps for a specific useragent please let us know in this issue.

@devarshipant
Copy link

@jnurthen, refer to a few tests (JAWS 18 / NVDA 2017.2 / IE 11):

  1. JAWS supports role = "none", but NVDA does not.
  2. Both JAWS and NVDA support role = "presentation".
  3. Only JAWS works with role = "none presentation", even though its usage is flawed.

Test file--none-pres-table.zip

@sh0ji
Copy link
Contributor Author

sh0ji commented Nov 15, 2017

Sounds like this needs to be fixed in the ARIA note, not here.

@jnurthen
Copy link
Member

@devarshipant The problem here is IE11 which does not support role=none. IE11 also does not support fallback roles so using role="none presentation" will not help anyone as I said in my previous comment

Your results seem to back up this conclusion that role="none presentation" does not help

@mcking65
Copy link
Contributor

In IE, I don't think either JAWS or NVDA are relying on MSAA for the presentation role, but I am not 100% sure about that. Clearly, JAWS is not. And, perhaps NVDA is, which may explain the difference in behavior. Since IE is never going to have an accurate accessibility tree, the screen readers pretty much have to do their own DOM parsing. Thus, this is more of an NVDA issue than an IE issue.

The accessibility world will be better off when no one is using IE with an assistive technology. I feel bad for people who are forced to use it.

I think the choice here is between using role none or role presentation. Since ARIA 1.1 introduced role none, and since we do want to demonstrate 1.1 features, I think at least some of the examples should use role none. Perhaps, if there is an example where there are clear negative side effects of role none, we could use presentation in that example. Role presentation is not deprecated; it will continue to be supported. Role none is simply a convenience synonym that is intended to make code easier to understand.

Are there any examples where we know role none to cause a problem?

@mcking65 mcking65 added the question Issue asking a question label Nov 16, 2017
@mcking65 mcking65 added this to the 1.1 APG Release 1 milestone Nov 16, 2017
@mcking65
Copy link
Contributor

Related to #182.

@devarshipant
Copy link

I think the choice here is between using role none or role presentation. Since ARIA 1.1 introduced role none, and since we do want to demonstrate 1.1 features, I think at least some of the examples should use role none. Perhaps, if there is an example where there are clear negative side effects of role none, we could use presentation in that example. Role presentation is not deprecated; it will continue to be supported. Role none is simply a convenience synonym that is intended to make code easier to understand.

  1. With so many variables, I think the process of elimination in finding the root cause is unclear. Not an observation to baseline, but I think JAWS / IE combination has an edge over NVDA / IE in this regard.
  2. An example file with role presentation and none on headings. Based on my previous example, JAWS consistently supports role none and role presentation, while NVDA only supports role presentation.

role none-pres-on-heading.txt

@mcking65
Copy link
Contributor

@devarshipant, looking at that test is depressing. Presentation and none are both ignored on headings by both Firefox and Chrome with both JAWS and NVDA. The only thing that role presentation did was prevent heading navigation. But, the headings are read as headings. The only combination where it worked as expected is IE with JAWS.

I am nonetheless concluding that our use of role none without the role presentation is an appropriate approach in the places where we have taken it.

@devarshipant
Copy link

@mcking65: I am nonetheless concluding that our use of role none without the role presentation is an appropriate approach in the places where we have taken it.

good call, @mcking65. thanks!

@mcking65
Copy link
Contributor

@sh0ji, do you feel we have adequately discussed this question?

@sh0ji
Copy link
Contributor Author

sh0ji commented Nov 20, 2017

Yep, this clears it up this specific issue for me. Closing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Issue asking a question
Development

No branches or pull requests

4 participants