When including video clips, ensure that the native reading system controls are enabled by default (i.e.,
by setting the controls
attribute on the video
element). This practice ensures
that the control are accessible even if scripting is not available. If custom controls are provided and
supported by the reading system, the native controls can be disabled by JavaScript.
Although the video
element allows child content for fallback purposes, such content is not
intended to serve as an accessible alternative. It is only made available to the reader if the
video
element is not supported by the reading system, which typically only occurs in
EPUB 2 reading systems.
The following methods for making video content accessible are instead recommended in the HTML5 specification:
track
element to include subtitles, captions and descriptions.track
element (i.e., using the
chapters
track type).The video
element also includes the poster
attribute to allow a default image to
be set for display while no data is available. There is currently no way to describe this image, however,
so text fallbacks should be preferred.
Agreement on universal support for a video codec and container could not be reached in HTML5, and is a similar issue for EPUB 3. Although the EPUB 3 specification technically allows any format (without fallback), the IDPF recommends one or both of the MP4 and WebM formats be included. While this might not seem like an accessibility issue, consider that it means that many more readers might be relying on fallbacks than you might at first anticipate.
controls
attribute<video
src="video/the_general.webm"
controls="controls">
…
</video>
source
element<video controls="controls">
<source
src="video/the_general.webm"
type="video/webm"/>
<source
src="video/the_general.mp4"
type="video/mp4"/>
…
</video>
<video controls="controls">
src="video/big-hollywood-blockbuster.mp4"
controls="controls">
<track
kind="subtitles"
src="subtitles.en.vtt"
srclang="en"
label="English"/>
<track
kind="captions"
src="captions.en.vtt"
srclang="en"
label="English"/>
</video>
poster
image<video
src="video/the_general.mp4"
poster="graphics/the_general.jpg"
controls="controls">
…
</video>
<video
src="video/the_general.mp4"
controls="controls">
…
<div class="err">
<p>
Sorry, it appears your system
either does not support video
playback or cannot play the
MP4 format provided.
</p>
</div>
</video>
video
elementtrack
element