dequelabs / dequelabs/axe-core
[False Positive] "scrollable-region-focusable" with combobox/menu-button and aria-activedescendants patterns
- Dominant language
- JavaScript
- Stars
- 7.5k
- Forks
- 933
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 29
Description
### Product
axe-core
### Product Version
4.10.3
### Latest Version
- [x] I have tested the issue with the latest version of the product
### Issue Description
#### Expectation
when some specific patterns or arias are present, like aria-activedescendant the scrollable region should not fail, assuming the developer did implement the expected pattern.
#### Actual
the tool laments a non-scrollable region due to scroll coming from javascript
#### How to Reproduce
[menu-button from w3.org/WAI/ARIA/apg/patterns/menu-button with scroll and scrollIntoView()](https://codepen.io/esperiano/full/myVjRGY)
#### Additional context
This is a tricky scenario, but it's a common and valid scenario
this also affect custom application "select" and "combobox" patterns, where the spawing menu contains a list of items that doesn't receive direct focus, only focus styling and are tracked via aria-activedescendent
https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/examples/menu-button-actions-active-descendant/
Contributor guide
Research direction
Start with the linked CodePen and the WAI-ARIA menu-button active-descendant example, then inspect axe-core's scrollable-region-focusable rule. Reproduce the false positive involving JavaScript scrolling, aria-activedescendant, and combobox or menu-button patterns. Done means valid non-focusable scrollable regions using these patterns no longer fail, with regression coverage for the reported scenario.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- accessibility, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100