Follow-up from review of #5170 (comment).
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:
// 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.
Follow-up from review of #5170 (comment).
The
multiple-labelcheck (lib/checks/label/multiple-label-evaluate.js) returnsundefined(incomplete) when an element has more than one AT-visible label, based on this comment: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-labelledbylogic may be simplifiable.Tasks
aria-labelledby.