blob: 38d5738e07fa647e22c1dfd2ec9ceb31772d96de [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../resources/js-test.js"></script>
<script src="../resources/accessibility-helper.js"></script>
</head>
<body>
<video
id="video-with-src-attribute"
aria-label="Video with src attribute"
style="width:640px;height:360px;"
src="resources/test.mp4"
>
</video>
<video
id="video-with-source-element"
aria-label="Video with <source> element"
style="width:640px;height:360px;"
>
<source src="resources/test.mp4" type="video/mp4">
</video>
<video
id="video-with-empty-source-element"
aria-label="Video with empty <source> element"
style="width:640px;height:360px;"
>
<source type="video/mp4">
</video>
<video
id="empty-video"
aria-label="Video that has neither a src attribute nor <source> element"
style="width:640px;height:360px;"
>
</video>
<script>
description("This test ensures video accessibility elements return URL attribute values when appropriate.");
const baseVideoPath = "resources/test.mp4";
debug(`baseVideoPath = "${baseVideoPath}"`);
if (window.accessibilityController) {
window.jsTestIsAsync = true;
var domVideo, video;
setTimeout(async function() {
await waitFor(() => {
domVideo = document.getElementById("video-with-src-attribute");
return domVideo && domVideo.readyState >= 2;
});
video = accessibilityController.accessibleElementById(domVideo.id);
shouldBe("video.url.includes(baseVideoPath)", "true");
await waitFor(() => {
domVideo = document.getElementById("video-with-source-element");
return domVideo && domVideo.readyState >= 2;
});
video = accessibilityController.accessibleElementById(domVideo.id);
shouldBe("video.url.includes(baseVideoPath)", "true");
video = accessibilityController.accessibleElementById("video-with-empty-source-element");
shouldBe("!video.url", "true");
video = accessibilityController.accessibleElementById("empty-video");
shouldBe("!video.url", "true")
finishJSTest();
}, 0);
}
</script>
</body>
</html>