dequelabs / dequelabs/axe-core

Investigate whether multiple AT-visible labels still fail iOS/Safari/VoiceOver with aria-labelledby

Open
#5,211 0 comments 0 reactions 0 assignees View on GitHub
info needed
Dominant language
JavaScript
Stars
7.5k
Forks
933
Avg merge
2d 23h
Merged PRs (30d)
17

Description

_Follow-up from review of #5170 ([comment](https://github.com/dequelabs/axe-core/pull/5170#discussion_r3578267064))._

The `multiple-label` check (`lib/checks/label/multiple-label-evaluate.js`) returns `undefined` (incomplete) when an element has more than one AT-visible label, based on this comment:

```js
// more than 1 AT visible label will fail IOS/Safari/VO even with aria-labelledby
if (ATVisibleLabels.length > 1) {
return undefined;
}
```

It's not clear this is still true in current versions of iOS/Safari/VoiceOver. If the underlying AT behavior has been fixed, this branch is overly conservative — returning incomplete where it could give a definitive result — and the surrounding single-AT-visible-label + `aria-labelledby` logic may be simplifiable.

**Tasks**
- Verify current iOS/Safari/VoiceOver behavior with >1 AT-visible label, with and without `aria-labelledby`.
- If behavior has changed, update the check logic + comment and add/adjust tests.
- If it still holds, record the evidence (versions tested) in the comment so it isn't re-questioned.

Contributor guide

Open the contributing guide

Research direction

Start with `lib/checks/label/multiple-label-evaluate.js` and the behavior described in the issue; verify current iOS/Safari/VoiceOver behavior for more than one AT-visible label, both with and without `aria-labelledby`. If behavior has changed, update the check and comment and add or adjust tests; otherwise, record the tested versions and evidence in the comment.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, javascript
Domain
accessibility
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.