<!DOCTYPE html>
<title>Media Controls: caption button accessibility tests</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../media-controls.js"></script>
<video controls>
<track src='../track/captions-webvtt/captions-fast.vtt' kind='captions' label="fast">
<track src='../track/captions-webvtt/captions-rtl.vtt' kind='captions' label="rtl">
</video>
<script>
async_test(t => {
var video = document.querySelector('video');
enableTestMode(video);
video.src = '../content/test.ogv';
video.onloadeddata = t.step_func(_ => {
assert_true(isClosedCaptionsButtonEnabled(video));
var captions_button = toggleClosedCaptionsButton(video);
var captions_overflow_item = captionsOverflowItem(video);
assert_not_equals(captions_button, null);
assert_not_equals(captions_overflow_item, null);
assert_equals(captions_button.getAttribute('aria-label'),
'show closed captions menu');
assert_equals(captions_overflow_item.getAttribute('aria-label'),
'show closed captions menu');
clickCaptionButton(video, t.step_func_done(function() {
// Get the menu that displays the list of text tracks.
var captionsList = textTrackMenu(video);
assert_equals(captionsList.getAttribute('aria-label'), 'Options');
var trackListHeader = textTrackListHeader(video);
assert_equals(trackListHeader.getAttribute('aria-label'), 'back to options');
var offTrack = textTrackListItemAtIndex(video, -1);
assert_equals(offTrack.innerText, 'Off');
assert_equals(offTrack.getAttribute('role'), 'menuitemcheckbox');
assert_equals(offTrack.getAttribute('aria-setsize'), '3');
assert_equals(offTrack.getAttribute('aria-posinset'), '1');
var fastTrack = textTrackListItemAtIndex(video, 0);
assert_equals(fastTrack.innerText, 'fast');
assert_equals(fastTrack.getAttribute('role'), 'menuitemcheckbox');
assert_equals(fastTrack.getAttribute('aria-setsize'), '3');
assert_equals(fastTrack.getAttribute('aria-posinset'), '2');
var rtlTrack = textTrackListItemAtIndex(video, 1);
assert_equals(rtlTrack.innerText, 'rtl');
assert_equals(rtlTrack.getAttribute('role'), 'menuitemcheckbox');
assert_equals(rtlTrack.getAttribute('aria-setsize'), '3');
assert_equals(rtlTrack.getAttribute('aria-posinset'), '3');
}));
});
});
</script>