dequelabs / dequelabs/axe-core
Axe-core may be too permissive about where/when to use the group role
- Dominant language
- JavaScript
- Stars
- 7.5k
- Forks
- 933
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 29
Description
The ARIA 1.3 editors draft has created some clarity on what is and isn't allowed to be done with groups. My new understanding of it is that you can put nest groups directly into some, but not all list-like roles. And depending on the list-type thing you might be able to nest groups.
So this stuff is valid:
```
tree > treeitem > group > treeitem
menu > group > group > menuitem
listbox > group > option
listbox > group > group > option
```
But none of the following are:
```
list > group > listitem
list > listitem > group > listitem
tree > group > group > treeitem
tablist > group > tab
```
This reverts a change we made in https://github.com/dequelabs/axe-core/issues/2897. We made that change because APG had examples that put the group inside treeitem, but that seems to have been incorrect. I've opened up an issue with APG (https://github.com/w3c/aria-practices/issues/2887). We should probably wait to see what comes out of that, and quite possibly not fix this until the W3C site has been updated.
Before we pull anything we also should test whether there are support problems with it.
Contributor guide
Research direction
Review the change made for issue 2897 and compare its group-role handling with the ARIA 1.3 editors draft. Monitor APG issue 2887, then investigate support problems before changing behavior; done means valid and invalid nesting follows the agreed specification and support findings.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- accessibility
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100