Skip to content

Commit 135898b

Browse files
authoredJul 2, 2024
fix(required-attr): allow aria-valuetext on slider instead of valuenow (#4518)
Closes: #4515
1 parent 0d8a99e commit 135898b

File tree

4 files changed

+21
-1
lines changed

4 files changed

+21
-1
lines changed
 

‎lib/checks/aria/aria-required-attr-evaluate.js

+5
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,11 @@ export default function ariaRequiredAttrEvaluate(
5454
) {
5555
return true;
5656
}
57+
// Non-normative exception for things like media player seek slider.
58+
// Tested to work in various screen readers.
59+
if (role === 'slider' && virtualNode.attr('aria-valuetext')?.trim()) {
60+
return true;
61+
}
5762

5863
const elmSpec = getElementSpec(virtualNode);
5964
const missingAttrs = requiredAttrs.filter(

‎test/checks/aria/aria-required-attr.js

+7
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,13 @@ describe('aria-required-attr', () => {
4949
assert.isTrue(requiredAttrCheck.apply(checkContext, params));
5050
});
5151

52+
it('passes aria-valuenow if element has aria-valuetext', () => {
53+
const params = checkSetup(
54+
'<div id="target" role="slider" aria-valuetext="foo"></div>'
55+
);
56+
assert.isTrue(requiredAttrCheck.apply(checkContext, params));
57+
});
58+
5259
it('passes aria-checkbox if element has checked property', () => {
5360
const params = checkSetup(
5461
'<input id="target" type="checkbox" role="switch">'

‎test/integration/rules/aria-required-attr/required-attr.html

+7
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,13 @@
5252
<div role="spinbutton" id="pass11">fail</div>
5353
<div role="separator" id="pass12"></div>
5454
<div role="separator" id="pass13" tabindex="0" aria-valuenow="foo"></div>
55+
<div
56+
role="slider"
57+
id="pass14-aria-valuetext-slider"
58+
aria-valuetext="3 minutes 20 second"
59+
>
60+
ok
61+
</div>
5562

5663
<div role="scrollbar" id="violation1">fail</div>
5764
<div role="slider" id="violation2">fail</div>

‎test/integration/rules/aria-required-attr/required-attr.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
["#pass10"],
2424
["#pass11"],
2525
["#pass12"],
26-
["#pass13"]
26+
["#pass13"],
27+
["#pass14-aria-valuetext-slider"]
2728
]
2829
}

0 commit comments

Comments
 (0)
Failed to load comments.