dequelabs / dequelabs/axe-core

[False Positive] "scrollable-region-focusable" with combobox/menu-button and aria-activedescendants patterns

Open
#4,914 2 comments 1 reaction 0 assignees View on GitHub
fix high rules scrollable-region-focusable
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.