Skip to content

Commit f996d0f

Browse files
committed
fix: Allow <track> to have no kind attribute
1 parent 0f21574 commit f996d0f

File tree

4 files changed

+12
-2
lines changed

4 files changed

+12
-2
lines changed

lib/checks/media/caption.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ var tracks = axe.utils.querySelectorAll(virtualNode, 'track');
33
if (tracks.length) {
44
// return false if any track has kind === 'caption'
55
return !tracks.some(({ actualNode }) => (
6-
actualNode.getAttribute('kind').toLowerCase() === 'captions'
6+
(actualNode.getAttribute('kind') || '').toLowerCase() === 'captions'
77
));
88
}
99
// Undefined if there are no tracks - media may be decorative

lib/checks/media/description.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ var tracks = axe.utils.querySelectorAll(virtualNode, 'track');
33
if (tracks.length) {
44
// return false if any track has kind === 'description'
55
var out = !tracks.some(({ actualNode }) => (
6-
actualNode.getAttribute('kind').toLowerCase() === 'descriptions'
6+
(actualNode.getAttribute('kind') || '').toLowerCase() === 'descriptions'
77
));
88
axe.log(tracks.map(t => t.actualNode.getAttribute('kind')), out);
99
return out;

test/checks/media/caption.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ describe('caption', function () {
1919
assert.isTrue(checks.caption.evaluate.apply(null, checkArgs));
2020
});
2121

22+
it('should fail if there is no kind attribute', function () {
23+
var checkArgs = checkSetup('<video><track></video>', 'video');
24+
assert.isTrue(checks.description.evaluate.apply(null, checkArgs));
25+
});
26+
2227
it('should pass if there is a kind=captions attribute', function () {
2328
var checkArgs = checkSetup('<audio><track kind=captions></audio>', 'audio');
2429
assert.isFalse(checks.caption.evaluate.apply(null, checkArgs));

test/checks/media/description.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ describe('description', function () {
1818
assert.isTrue(checks.description.evaluate.apply(null, checkArgs));
1919
});
2020

21+
it('should fail if there is no kind attribute', function () {
22+
var checkArgs = checkSetup('<video><track></video>', 'video');
23+
assert.isTrue(checks.description.evaluate.apply(null, checkArgs));
24+
});
25+
2126
it('should pass if there is a kind=descriptions attribute', function () {
2227
var checkArgs = checkSetup('<video><track kind=descriptions></video>', 'video');
2328
assert.isFalse(checks.description.evaluate.apply(null, checkArgs));

0 commit comments

Comments
 (0)