Copyright © 2015 W3C® (MIT, ERCIM, Keio, Beihang). W3C liability, trademark and document use rules apply.
This document describes an extension to HTML which explicitly identifies a transcript linked to a media object such as audio or video. It was created to meet requirements for transcriptions that are described in the Media Accessibility User Requirements (MAUR).
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.
This document was developed through the HTML Accessibility Taskforce, and is published by the HTML Working Group with approval by the Protocols and Formats Working Group.
It is published as a Working Group Note because the HTML Working Group is reaching the end of its charter; it is hoped and expected that a successor to that Working Group, perhaps the Timed Media Working Group, will continue the work of taking this document to become a W3C Recommendation.
If you wish to make comments regarding this document, please send them to public-html-a11y@w3.org (subscribe, archives). All comments are welcome. However, with the end of the charter of the HTML Working Group, comments might not receive a reply until this work is taken up again by a different Working Group.
Publication as a Working Group Note does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.
This document is governed by the 1 September 2015 W3C Process Document.
This section is non-normative.
[HTML5] allows the use of audio or video, and includes mechanisms for associating multiple timed tracks. But in the case where there is a transcript, which may not include timing information, there is no way to provide an explicit association between it and its associated media element.
As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
Throughout this document the terms must and may must be interpreted in accordance with [RFC2119].
Over a number of years use cases and requirements have been extensively discussed by the HTML Working Group, in particular by its accessibility and media task forces. The following section is intended to provide a brief summary of the key information.
This section is non-normative.
To meet the delineation requirement this specification defines a new transcript
element as follows:
transcript
elementaria-*
attributes applicable
to the allowed roles.interface HTMLTranscriptElement
: HTMLElement {
};
The transcript
element can contain any content. It represents a transcript for a media resource.
A transcript may include timing information, machine-readable or otherwise. The preferred solution includes the link to the transcript within the media element for which it is a transcript, and adds a transcript element as a container for a transcript. This can be included on the page in which the media object is embedded, which is a common use in practice, or can serve to separate multiple transcripts collected in a single page.
track
to allow kind="transcript"
This proposal adds transcript
to the set of values defined for the kind
attribute of the track
element. This requires adding an entry to the table
of values defined for the attribute in [HTML5], as follows:
Keyword | State | Brief description |
---|---|---|
transcript |
transcript | Tracks intended to permit use independent of media source. May be displayed by the user agent instead of, or supplementary to, the media resource. |
An objection that has been raised to this method is that it requires a potential change to the current
definition of the track
element in HTML5, which says that it allows
authors to specify explicit external timed
text tracks for media
elements
unless a transcript with no timing information included can be considered a "timed text track". However, this
definition also appears to conflict with the allowed metadata
state for tracks, so will probably be changed anyway.
track
kind
s<video controls> <source src="video.rm"> <!-- A link to a transcript within the same document --> <track
kind="transcript"
title="English transcript" href="#theText"> <!-- A link to an external transcript in french uses hreflang --> <track kind="transcript" hreflang="fr" href="http://transcripts.example.fr/qqchose#laTexte" lang="fr" title="Transcription en français"> <track kind="captions" src="#YouGetTheIdea,Right?" lang="ru"> </video>
<transcript id="theText">This is the english language transcript... </transcript>
This section is non-normative.
The editor would like to acknowledge the awe-filled respec, github, and BlueGriffon, as well as direct contributions to this document by:
Paul Cotton, Daniel Davis, Joan-Marie Diggs, Steve Faulkner, John Foliot, Theresa O'Connor, Silvia Pfeiffer, Janina Sajka, Richard Schwerdtfeger, Cynthia Shelly, Léonie Watson, and W3C's HTML Media Task Force
The editor would like to apologise to anybody whose name was left out of this list, and invites corrections.
This section is non-normative.
Several other approaches have been considered to meeting the requirements. They are included here in outline, with some notes, for completeness. This appendix is expected to be removed before requesting advancement to Candidate Recommendation.
Add a new element to HTML representing a link to a transcript for the parent media resource. This requires choosing a name - in
the following we have used relateTranscript
as a placeholder name, to avoid conflicting with the proposed transcript
container element - and defining a new element definition as follows:
relateTranscript
elementsrc
- URL of the transcripttype
- the MIME type of the transcriptliveregion
controlled by the media resource, or a control for the
media resource.aria-*
attributes applicable
to the allowed roles.interface HTMLRelateTranscriptElement
: HTMLElement {
attribute DOMString src;
attribute DOMString type;
attribute DOMString media;
};
relateTranscript
element<video controls>
<source src="video.rm">
<!-- A link to a transcript within the same document -->
<relateTranscript title="English transcript" href="#theText">
<!-- A link to an external transcript in french uses hreflang -->
<relateTranscript hreflang="fr"
href="http://transcripts.example.fr/qqchose#laTexte"
lang="fr" title="Transcription en francais">
<track kind="captions" src="YouGetTheIdea?Right" lang="ru">
</video>
<transcript id="theText">This is the english language
transcript...
</transcript>
source
elementThe source
element represents a version of the media resource that can be presented as an alternative to others.
This is what a transcript is.
This approach is not preferred as it will involve complex changes.
The element currently allows a MIME type
attribute and a media
query that can be used
to determine when to render a given version. However, although transcripts are likely to have MIME types that are different from
those used for audio or video resources, relying on this difference as a heuristic seems a weak approach to identifying a
transcript.
a
element with rel
and for
attributesThis meets the requirements, but requires defining a new value of rel
, and changes to the for
attribute.
Separating the link from the video code requires developers to include it in the visible content of the page, which leads many developers to try and hide it in the default presentation. A common result is that it is not available to people who need it, such as users with low vision, or is invisible but can be activated, confusing users.
Separating the link from the block of code can lead to it being lost when the source is copied to be used elsewhere.
a
element with rel
and for
attribute<p>
<!-- A link to a transcript within the same document -->
<a rel="transcript" for="theVideo" title="English transcript" href="#theText">Transcript below</a>,
<!-- A link to an external transcript in french uses hreflang -->
<a rel="transcript" for="theVideo" hreflang="fr"
href="http://transcripts.example.fr/qqchose#laTexte"
lang="fr" title="Transcription en francais">transcription aussi disponible en français</a>.
</p>
<video controls id="theVideo">
<source src="video.rm">
<track kind="captions" src="YouGetTheIdea?Right" lang="ru">
</video>
<transcript id="theText">This is the english language
transcript...
</transcript>
An attribute could be defined, analogous to the longdesc
attribute for images.
This approach is not preferred as it makes it very difficult to meet all of the multiple transcripts requirement.
Allowing a space-separated list of URLs does not provide any information to help choose which transcript to link to, or use.
relateTranscript
attribute<video controls relateTranscript="#theText
http://transcripts.example.fr/qqchose#laTexte
"> <source src="video.rm"> <track kind="captions" src="YouGetTheIdea?Right" lang="ru"> </video>
<transcript id="theText">This is the english language transcript... </transcript>