-
Notifications
You must be signed in to change notification settings - Fork 789
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
False positive: 'aria-valid-attr' fails for using 'aria-roledescription' on role button #1216
Comments
Totally blown away that this works on JAWS+IE... if that's right, than yes this passes the Axe-core baseline and we should allow it. That'd be fantastic. @marcysutton @mfairchild365 any thoughts? |
@WilcoFiers Yep, it works in JAWS+IE. I tested with JAWS 2018.1808.10 and IE 11. Some other thoughts: Thought 1: I'm curious how well it works with other elements and ARIA roles. My guess is that if it works fine with the Thought 2: The ARIA 1.2 spec says "Assistive technologies SHOULD use the value of aria-roledescription when presenting the role of an element, but SHOULD NOT change other functionality based on the role of an element that has a value for aria-roledescription." The fact that it says "SHOULD" instead of "MUST" would suggest to me that this must pass the "accessibility supported" requirement even if assistive technologies don't implement it. |
This needs to get fixed ASAP. Creates confusion everywhere... |
A further note. I did some more research and my findings can be found here: https://a11ysupport.io/tech/aria/aria-roledescription_attribute (feel free to contribute any different findings) In summary: the attribute is well supported for interactive elements like
As it pertains to this test in axe: I think it is still worth weighing the fact that the ARIA spec does not require that assistive technologies announce the custom role name. |
Talked about it with @marcysutton. We think to allow this for interactive elements only. Static elements should still be flagged as an issue because as the info on a11ysupport suggests, that isn't widely supported yet: https://a11ysupport.io/tech/aria/aria-roledescription_attribute |
Hello everyone, I'll be working on this issue. I wanted to expand @mfairchild365 tests and see what exactly the support was for From the tests, there are only a handful of elements that are consistently supported across all browsers and screen readers:
There's also consistent support for After discussing further with @WilcoFiers we think we should only pass on these elements/roles. For all other elements with an implicit or valid WAI-ARIA role we think we should mark it as incomplete and author should review due to lack of support. For all other uses of
Proposed rule changes for
|
…1382) Expand the `unsupported` property of an attribute by allowing certain elements to use the attribute. Closes: #1216 ## Reviewer checks **Required fields, to be filled out by PR reviewer(s)** - [x] Follows the commit message policy, appropriate for next version - [x] Has documentation updated, a DU ticket, or requires no documentation change - [x] Includes new tests, or was unnecessary - [x] Code is reviewed for security by: @WilcoFiers
ARIA 1.1 states aria-roledescription is allowed on "all elements of the base markup." Flagging a violation on usage of this attribute on specific roles creates false positives. Consistent support "across all browsers and screen readers" is, at best, a nice to have. I think this might be classified as a "best practice" but is not appropriate as a violation. It appears that the latest axe in production (3.2.2) flags aria-allowed-attr if you use aria-roledescription on any element outside of this hand-selected list of roles from the above comment. When dealing with ARIA roles and attributes, I think it is best to be strict to the specification with things flagged as violations. If you feel it makes sense to limit allowed attributes beyond the specification, then camp those not with violations but as best practices. |
May also be worth pointing out that roledescription is supported at the API level on all desktop platforms (and likely iOS, if AX API is parallel -- unsure about Android): |
aria-valid-attr
fails for aria-roledescription as it was not supported across most of the Browser/ATsLatest AT testing shows that now there is much broader support for the usage of
aria-roledescription
The text was updated successfully, but these errors were encountered: