Skip to content

Proposed Test Rule: video element visual content has accessible alternative

Test Procedure

Applicability

This rule applies to every non-streaming video element that is visible, where the video contains audio.

Expectation

For each test target, the outcome of at least one of the following rules is passed:

Assumptions

Accessibility Support

The HTML video element can also have a track element that provides an audio description. This should provide assistive technologies with a timed text description of visual information in a video. However, there is no native support in any major browser for this technique. Technique H96: Using the track element to provide audio descriptions can not be relied upon to conform to 1.2.3: Audio Description or Media Alternative (Prerecorded).

Background

This rule is designed specifically for 1.2.3 Audio Description or Media Alternative (Prerecorded), which expects either audio description or a media alternative. If a video has neither, by definition it also fails for both 1.2.5 Audio Description (Prerecorded) and 1.2.8 Media Alternative (Prerecorded). In order to adequately test the expectation of this rule, some of the passed examples do not satisfy 1.2.5 Audio Description (Prerecorded) or 1.2.8 Media Alternative (Prerecorded).

Bibliography

Accessibility Requirements Mapping

Input Rules

Outcomes of the following rules are required as input for this rule.

Test Cases

Passed

Passed Example 1

This video element has an audio description because it has voiceover that describes the visual information.

<html lang="en">
	<video controls>
		<source src="/test-assets/rabbit-video/video-with-voiceover.mp4" type="video/mp4" />
		<source src="/test-assets/rabbit-video/video-with-voiceover.webm" type="video/webm" />
	</video>
</html>

Passed Example 2

A video element with a link to a text transcript.

<html lang="en">
	<video controls>
		<source src="/test-assets/rabbit-video/video.mp4" type="video/mp4" />
		<source src="/test-assets/rabbit-video/video.webm" type="video/webm" />
	</video>
	<a href="/test-assets/rabbit-video/transcript.html">Transcript</a>
</html>

Passed Example 3

A video element that describes some of the text on the same page. The text on the page labels the video as an alternative.

<html lang="en">
	<p>
		Not being able to use your computer because your mouse doesn't work, is frustrating. Many people use only the
		keyboard to navigate websites. Either through preference or circumstance. This is solved by keyboard compatibility.
		Keyboard compatibility is described in WCAG. See the video below to watch the same information again in video form.
	</p>
	<video src="/test-assets/perspective-video/perspective-video.mp4" controls></video>
</html>

Failed

Failed Example 1

This video element has an incorrect audio description.

<html lang="en">
	<video controls>
		<source src="/test-assets/rabbit-video/video-with-incorrect-voiceover.mp4" type="video/mp4" />
		<source src="/test-assets/rabbit-video/video-with-incorrect-voiceover.webm" type="video/webm" />
	</video>
</html>

Failed Example 2

A video element with a link to an incorrect text transcript on a different page.

<html lang="en">
	<video controls>
		<source src="/test-assets/rabbit-video/video.mp4" type="video/mp4" />
		<source src="/test-assets/rabbit-video/video.webm" type="video/webm" />
	</video>
	<a href="/test-assets/rabbit-video/incorrect-transcript.html">Transcript</a>
</html>

Failed Example 3

A video element that describes some of the text on the same page. The video contains more information than the text does.

<html lang="en">
	<p>
		Not being able to use your computer because your mouse doesn't work, is frustrating. Either through preference or
		circumstance. This is solved by keyboard compatibility. Keyboard compatibility is described in WCAG. See the video
		below to watch the same information again in video form.
	</p>
	<video src="/test-assets/perspective-video/perspective-video.mp4" controls></video>
</html>

Failed Example 4

A video element with a description track element. Description tracks are not supported.

<html lang="en">
	<video controls>
		<source src="/test-assets/rabbit-video/video.mp4" type="video/mp4" />
		<source src="/test-assets/rabbit-video/video.webm" type="video/webm" />
		<track kind="descriptions" src="/test-assets/rabbit-video/descriptions.vtt" />
	</video>
</html>

Inapplicable

Inapplicable Example 1

A video element without audio.

<html lang="en">
	<video controls>
		<source src="/test-assets/rabbit-video/silent.mp4" type="video/mp4" />
		<source src="/test-assets/rabbit-video/silent.webm" type="video/webm" />
	</video>
</html>

Inapplicable Example 2

A video element that is not visible.

<html lang="en">
	<video controls style="display: none;">
		<source src="/test-assets/rabbit-video/video.mp4" type="video/mp4" />
		<source src="/test-assets/rabbit-video/video.webm" type="video/webm" />
	</video>
</html>

Glossary

Non-streaming media element

A non-streaming media element is an HTML Media Element for which the duration property is not 0.

Outcome

An outcome is a conclusion that comes from evaluating an ACT Rule on a test subject or one of its constituent test target. An outcome can be one of the three following types:

Note: A rule has one passed or failed outcome for every test target. When there are no test targets the rule has one inapplicable outcome. This means that each test subject will have one or more outcomes.

Note: Implementations using the EARL10-Schema can express the outcome with the outcome property. In addition to passed, failed and inapplicable, EARL 1.0 also defined an incomplete outcome. While this cannot be the outcome of an ACT Rule when applied in its entirety, it often happens that rules are only partially evaluated. For example, when applicability was automated, but the expectations have to be evaluated manually. Such “interim” results can be expressed with the incomplete outcome.

Visible

Content perceivable through sight.

Content is considered visible if making it fully transparent would result in a difference in the pixels rendered for any part of the document that is currently within the viewport or can be brought into the viewport via scrolling.

Content is defined in WCAG.

For more details, see examples of visible.

Implementations

There are currently no known implementations for this rule. If you would like to contribute an implementation, please read the ACT Implementations page for details.

Changelog

This is the first version of this ACT rule.

Back to Top