- From: CVS User ihickson <cvsmail@w3.org>
- Date: Mon, 11 Mar 2013 23:43:39 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/webvtt In directory roscoe:/tmp/cvs-serv2917 Modified Files: Overview.html Log Message: Split more WebVTT-specific things into the WebVTT spec. This also makes some normative changes to HTML for handling non-WebVTT cue types, but that shouldn't affect any existing implementations. (whatwg r7748) --- /sources/public/html5/webvtt/Overview.html 2013/01/24 01:38:53 1.61 +++ /sources/public/html5/webvtt/Overview.html 2013/03/11 23:43:39 1.62 @@ -1,6 +1,6 @@ <!DOCTYPE html><html lang=en-US-x-hixie><meta charset=ascii><title>WebVTT Standard</title><script> var loadTimer = new Date(); - var current_revision = "r" + "$Revision: 1.61 $".substr(11); + var current_revision = "r" + "$Revision: 1.62 $".substr(11); current_revision = current_revision.substr(0, current_revision.length - 2); var last_known_revision = current_revision; function getCookie(name) { @@ -122,7 +122,7 @@ <header class=head id=head><!-- the following line added by request of Ian Jacobs --><p class=logo><a href=http://www.w3.org/><img alt=W3C height=48 src=http://www.w3.org/Icons/w3c_home width=72></a></p> <hgroup><h1 class="no-num no-toc">WebVTT</h1> - <h2 class="no-num no-toc">Living Standard — Last Updated 24 January 2013</h2> + <h2 class="no-num no-toc">Living Standard — Last Updated 11 March 2013</h2> </hgroup><dl><dt>Latest version:</dt> <dd><a href=http://dev.w3.org/html5/webvtt/>http://dev.w3.org/html5/webvtt/</a></dd> <dt>Participate:</dt> @@ -157,22 +157,28 @@ <li><a href=#conformance><span class=secno>2 </span>Conformance</a> <ol> <li><a href=#dependencies><span class=secno>2.1 </span>Dependencies</a></ol></li> - <li><a href=#the-webvtt-file-format><span class=secno>3 </span>The WebVTT file format</a> + <li><a href=#data-model><span class=secno>3 </span>Data model</a></li> + <li><a href=#the-webvtt-file-format><span class=secno>4 </span>The WebVTT file format</a> <ol> - <li><a href=#syntax><span class=secno>3.1 </span>Syntax</a></li> - <li><a href=#parsing><span class=secno>3.2 </span>Parsing</a></li> - <li><a href=#webvtt-cue-text-parsing-rules><span class=secno>3.3 </span>WebVTT cue text parsing rules</a></li> - <li><a href=#webvtt-cue-text-dom-construction-rules><span class=secno>3.4 </span>WebVTT cue text DOM construction rules</a></li> - <li><a href=#webvtt-cue-text-rendering-rules><span class=secno>3.5 </span>WebVTT cue text rendering rules</a> + <li><a href=#syntax><span class=secno>4.1 </span>Syntax</a></li> + <li><a href=#parsing><span class=secno>4.2 </span>Parsing</a></li> + <li><a href=#webvtt-cue-text-parsing-rules><span class=secno>4.3 </span>WebVTT cue text parsing rules</a></li> + <li><a href=#webvtt-cue-text-dom-construction-rules><span class=secno>4.4 </span>WebVTT cue text DOM construction rules</a></ol></li> + <li><a href=#rendering><span class=secno>5 </span>Rendering</a> + <ol> + <li><a href=#cues-in-isolation><span class=secno>5.1 </span>Cues in isolation</a></li> + <li><a href=#cues-with-video><span class=secno>5.2 </span>Cues with video</a> <ol> - <li><a href=#applying-css-properties-to-webvtt-node-objects><span class=secno>3.5.1 </span>Applying CSS properties to WebVTT Node Objects</a></li> - <li><a href=#css-extensions><span class=secno>3.5.2 </span>CSS extensions</a> + <li><a href=#processing-model><span class=secno>5.2.1 </span>Processing model</a></li> + <li><a href=#applying-css-properties-to-webvtt-node-objects><span class=secno>5.2.2 </span>Applying CSS properties to WebVTT Node Objects</a></li> + <li><a href=#css-extensions><span class=secno>5.2.3 </span>CSS extensions</a> <ol> - <li><a href="#the-'::cue'-pseudo-element"><span class=secno>3.5.2.1 </span>The '::cue' pseudo-element</a></li> - <li><a href="#the-':past'-and-':future'-pseudo-classes"><span class=secno>3.5.2.2 </span>The ':past' and ':future' pseudo-classes</a></ol></ol></ol></li> - <li><a href=#iana><span class=secno>4 </span>IANA considerations</a> + <li><a href="#the-'::cue'-pseudo-element"><span class=secno>5.2.3.1 </span>The '::cue' pseudo-element</a></li> + <li><a href="#the-':past'-and-':future'-pseudo-classes"><span class=secno>5.2.3.2 </span>The ':past' and ':future' pseudo-classes</a></ol></ol></ol></li> + <li><a href=#webvtt-api><span class=secno>6 </span>WebVTT API</a></li> + <li><a href=#iana-considerations><span class=secno>7 </span>IANA considerations</a> <ol> - <li><a href=#text/vtt><span class=secno>4.1 </span><code>text/vtt</code></a></ol></li> + <li><a href=#text/vtt><span class=secno>7.1 </span><code>text/vtt</code></a></ol></li> <li><a class=no-num href=#references>References</a></li> <li><a class=no-num href=#acknowledgements>Acknowledgements</a></ol> <!--end-toc--> @@ -426,7 +432,6 @@ </div> - <h2 id=conformance><span class=secno>2 </span>Conformance</h2> <p class=XXX>This section remains to be written. In the meantime, please see the HTML standard. <a href=#refsHTML>[HTML]</a></p> @@ -459,31 +464,161 @@ <li><dfn id=text-track-cue-identifier>Text track cue identifier</dfn> <li><dfn id=text-track-cue-start-time>Text track cue start time</dfn> <li><dfn id=text-track-cue-end-time>Text track cue end time</dfn> - <li><dfn id=text-track-cue-alignment>Text track cue alignment</dfn> - <li><dfn id=text-track-cue-start-alignment>Text track cue start alignment</dfn> - <li><dfn id=text-track-cue-middle-alignment>Text track cue middle alignment</dfn> - <li><dfn id=text-track-cue-end-alignment>Text track cue end alignment</dfn> - <li><dfn id=text-track-cue-left-alignment>Text track cue left alignment</dfn> - <li><dfn id=text-track-cue-right-alignment>Text track cue right alignment</dfn> - <li><dfn id=text-track-cue-line-position>Text track cue line position</dfn> - <li><dfn id=text-track-cue-automatic-line-position>Text track cue automatic line position</dfn> - <li><dfn id=text-track-cue-computed-line-position>Text track cue computed line position</dfn> <li><dfn id=text-track-cue-pause-on-exit-flag>Text track cue pause-on-exit flag</dfn> - <li><dfn id=text-track-cue-size>Text track cue size</dfn> - <li><dfn id=text-track-cue-snap-to-lines-flag>Text track cue snap-to-lines flag</dfn> - <li><dfn id=text-track-cue-text-position>Text track cue text position</dfn> - <li><dfn id=text-track-cue-writing-direction>Text track cue writing direction</dfn> - <li><dfn id=text-track-cue-horizontal-writing-direction>Text track cue horizontal writing direction</dfn> - <li><dfn id=text-track-cue-vertical-growing-right-writing-direction>Text track cue vertical growing right writing direction</dfn> - <li><dfn id=text-track-cue-vertical-growing-left-writing-direction>Text track cue vertical growing left writing direction</dfn> <li><dfn id=text-track-cue-text>Text track cue text</dfn> <li><dfn id=text-track-cue-active-flag>Text track cue active flag</dfn> <li><dfn id=text-track-cue-display-state>Text track cue display state</dfn> <li><dfn id=rules-for-updating-the-text-track-rendering>Rules for updating the text track rendering</dfn> - </ul><h2 id=the-webvtt-file-format><span class=secno>3 </span>The WebVTT file format</h2> + <li><dfn id=rules-for-rendering-the-cue-in-isolation>Rules for rendering the cue in isolation</dfn> + <li><dfn id=texttrackcue><code>TextTrackCue</code></dfn> interface + </ul><h2 id=data-model><span class=secno>3 </span>Data model</h2> + + <p>WebVTT cues are HTML <a href=#text-track-cue title="text track cue">text track cues</a> that additionally + consist of the following: <a href=#refsHTML>[HTML]</a></p> + + <dl><dt><dfn id=text-track-cue-writing-direction title="text track cue writing direction">A writing direction</dfn> + <dd> + <p>A writing direction, either <dfn id=text-track-cue-horizontal-writing-direction title="text track cue horizontal writing + direction">horizontal</dfn> (a line extends horizontally and is positioned vertically, with + consecutive lines displayed below each other), <dfn id=text-track-cue-vertical-growing-left-writing-direction title="text track cue vertical growing left + writing direction">vertical growing left</dfn> (a line extends vertically and is positioned + horizontally, with consecutive lines displayed to the left of each other<!-- used for east + asian-->), or <dfn id=text-track-cue-vertical-growing-right-writing-direction title="text track cue vertical growing right writing direction">vertical + growing right</dfn> (a line extends vertically and is positioned horizontally, with consecutive + lines displayed to the right of each other<!-- used for mongolian -->).</p> + + <p>If the <a href=#text-track-cue-writing-direction title="text track cue writing direction">writing direction</a> is <a href=#text-track-cue-horizontal-writing-direction title="text track cue horizontal writing direction">horizontal</a>, then <a href=#text-track-cue-line-position title="text + track cue line position">line position</a> percentages are relative to the height of the + video, and <a href=#text-track-cue-text-position title="text track cue text position">text position</a> and <a href=#text-track-cue-size title="text + track cue size">size</a> percentages are relative to the width of the video.</p> + + <p>Otherwise, <a href=#text-track-cue-line-position title="text track cue line position">line position</a> percentages are + relative to the width of the video, and <a href=#text-track-cue-text-position title="text track cue text position">text + position</a> and <a href=#text-track-cue-size title="text track cue size">size</a> percentages are relative to + the height of the video.</p> + </dd> + + <dt><dfn id=text-track-cue-snap-to-lines-flag title="text track cue snap-to-lines flag">A snap-to-lines flag</dfn> + <dd> + + <p>A boolean indicating whether the <a href=#text-track-cue-line-position title="text track cue line position">line's + position</a> is a line position (positioned to a multiple of the line dimensions of the first + line of the cue), or whether it is a percentage of the dimension of the video.</p> + + <p>Cues whose <a href=#text-track-cue-snap-to-lines-flag>text track cue snap-to-lines flag</a> is set will be placed within the + title-safe area on user agents that use overscan. Cues with the flag unset will be positioned as + requested (modulo overlap avoidance if multiple cues are in the same place).</p> + + </dd> + + <dt><dfn id=text-track-cue-line-position title="text track cue line position">A line position</dfn> + <dd> + <p>Either a number giving the position of the lines of the cue, to be interpreted as defined by + the <a href=#text-track-cue-writing-direction title="text track cue writing direction">writing direction</a> and <a href=#text-track-cue-snap-to-lines-flag title="text track cue snap-to-lines flag">snap-to-lines flag</a> of the cue, or the special + value <dfn id=text-track-cue-automatic-line-position title="text track cue automatic line position">auto</dfn>, which means the position + is to depend on the other active tracks.</p> + + <p>A <a href=#text-track-cue>text track cue</a> has a <dfn id=text-track-cue-computed-line-position>text track cue computed line position</dfn> whose + value is that returned by the following algorithm, which is defined in terms of the other + aspects of the cue:</p> + + <ol><li><p>If the <a href=#text-track-cue-line-position>text track cue line position</a> is numeric, the <a href=#text-track-cue-snap-to-lines-flag>text track cue + snap-to-lines flag</a> of the <a href=#text-track-cue>text track cue</a> is not set, and the <a href=#text-track-cue-line-position>text + track cue line position</a> is negative or greater than 100, then return 100 and abort these + steps.</li> + + <li><p>If the <a href=#text-track-cue-line-position>text track cue line position</a> is numeric, return the value of the + <a href=#text-track-cue-line-position>text track cue line position</a> and abort these steps. (Either the <a href=#text-track-cue-snap-to-lines-flag>text track + cue snap-to-lines flag</a> is set, so any value, not just those in the range 0..100, is + valid, or the value is in the range 0..100 and is thus valid regardless of the value of that + flag.)</li> + + <li><p>If the <a href=#text-track-cue-snap-to-lines-flag>text track cue snap-to-lines flag</a> of the <a href=#text-track-cue>text track cue</a> + is not set, return the value 100 and abort these steps. (The <a href=#text-track-cue-line-position>text track cue line + position</a> is the special value <a href=#text-track-cue-automatic-line-position title="text track cue automatic line + position">auto</a>.)</li> + + <li><p>Let <var title="">cue</var> be the <a href=#text-track-cue>text track cue</a>.</li> + + <li><p>If <var title="">cue</var> is not in a <a href=#text-track-list-of-cues title="text track list of cues">list of + cues</a> of a <a href=#text-track>text track</a>, or if that <a href=#text-track>text track</a> is not in the + <a href=#list-of-text-tracks>list of text tracks</a> of a <a href=#media-element>media element</a>, return −1 and abort + these steps.</li> + + <li><p>Let <var title="">track</var> be the <a href=#text-track>text track</a> whose <a href=#text-track-list-of-cues title="text + track list of cues">list of cues</a> the <var title="">cue</var> is in.</li> + + <li><p>Let <var title="">n</var> be the number of <a href=#text-track title="text track">text tracks</a> + whose <a href=#text-track-mode>text track mode</a> is <a href=#text-track-showing title="text track showing">showing</a> and that + are in the <a href=#media-element>media element</a>'s <a href=#list-of-text-tracks>list of text tracks</a> before <var title="">track</var>.</li> + + <li><p>Increment <var title="">n</var> by one.</li> + + <li><p>Negate <var title="">n</var>.</li> + + <li><p>Return <var title="">n</var>.</li> + + </ol></dd> + + <dt><dfn id=text-track-cue-text-position title="text track cue text position">A text position</dfn> + <dd> + <p>A number giving the position of the text of the cue within each line, to be interpreted as a + percentage of the video, as defined by the <a href=#text-track-cue-writing-direction title="text track cue writing + direction">writing direction</a>.</p> + </dd> + + <dt><dfn id=text-track-cue-size title="text track cue size">A size</dfn> + <dd> + <p>A number giving the size of the box within which the text of each line of the cue is to be + aligned, to be interpreted as a percentage of the video, as defined by the <a href=#text-track-cue-writing-direction title="text + track cue writing direction">writing direction</a>.</p> + </dd> + + <dt><dfn id=text-track-cue-alignment title="text track cue alignment">An alignment</dfn> + <dd> + <p>An alignment for the text of each line of the cue, one of:</p> - <h3 id=syntax><span class=secno>3.1 </span>Syntax</h3> + <dl><dt><dfn id=text-track-cue-start-alignment title="text track cue start alignment">Start alignment</dfn></dt> + <dd>The text is aligned towards its start side.</dd> + + <dt><dfn id=text-track-cue-middle-alignment title="text track cue middle alignment">Middle alignment</dfn></dt> + <dd>The text is aligned centered between its start and end sides.</dd> + + <dt><dfn id=text-track-cue-end-alignment title="text track cue end alignment">End alignment</dfn></dt> + <dd>The text is aligned towards its end side.</dd> + + <dt><dfn id=text-track-cue-left-alignment title="text track cue left alignment">Left alignment</dfn></dt> + <dd>The text is aligned to the left.</dd> + + <dt><dfn id=text-track-cue-right-alignment title="text track cue right alignment">Right alignment</dfn></dt> + <dd>The text is aligned to the right.</dd> + + </dl><p>Which sides are the start and end sides depends on the Unicode bidirectional algorithm and + the <a href=#text-track-cue-writing-direction title="text track cue writing direction">writing direction</a>. <a href=#refsBIDI>[BIDI]</a></p> + + </dd> + + </dl><p>The associated <a href=#rules-for-updating-the-text-track-rendering>rules for updating the text track rendering</a> of WebVTT <a href=#text-track-cue title="text track cue">text track cues</a> are the <a href=#rules-for-updating-the-display-of-webvtt-text-tracks>rules for updating the display of + WebVTT text tracks</a>.</p> + + <div class=impl> + + <p>When a WebVTT <a href=#text-track-cue>text track cue</a> whose <a href=#text-track-cue-active-flag title="text track cue active flag">active + flag</a> is set has its <a href=#text-track-cue-writing-direction title="text track cue writing direction">writing + direction</a>, <a href=#text-track-cue-snap-to-lines-flag title="text track cue snap-to-lines flag">snap-to-lines flag</a>, <a href=#text-track-cue-line-position title="text track cue line position">line position</a>, <a href=#text-track-cue-text-position title="text track cue text + position">text position</a>, <a href=#text-track-cue-size title="text track cue size">size</a>, <a href=#text-track-cue-alignment title="text + track cue alignment">alignment</a>, or <a href=#text-track-cue-text title="text track cue text">text</a> change + value, then the user agent must empty the <a href=#text-track-cue-display-state>text track cue display state</a>, and then + immediately run the <a href=#text-track>text track</a>'s <a href=#rules-for-updating-the-display-of-webvtt-text-tracks>rules for updating the display of WebVTT text + tracks</a>.</p> + + </div> + + + <h2 id=the-webvtt-file-format><span class=secno>4 </span>The WebVTT file format</h2> + + <h3 id=syntax><span class=secno>4.1 </span>Syntax</h3> <p>A <dfn id=webvtt-file>WebVTT file</dfn> must consist of a <a href=#webvtt-file-body>WebVTT file body</a> encoded as UTF-8 and labeled with the <a href=#mime-type>MIME @@ -737,7 +872,7 @@ </ol><p class=note>A <a href=#webvtt-vertical-text-cue-setting>WebVTT vertical text cue setting</a> configures the cue to use vertical text layout rather than horizontal text layout. Vertical text layout is sometimes used in - Japanese, for example. The default is horiontal layout.</p> + Japanese, for example. The default is horizontal layout.</p> <p>A <dfn id=webvtt-line-position-cue-setting>WebVTT line position cue setting</dfn> consists of the following components, in the order given:</p> @@ -1010,7 +1145,7 @@ <div class=impl> - <h3 id=parsing><span class=secno>3.2 </span>Parsing</h3> + <h3 id=parsing><span class=secno>4.2 </span>Parsing</h3> <p>A <dfn id=webvtt-parser>WebVTT parser</dfn>, given an input byte stream and a <a href=#text-track-list-of-cues>text track list of cues</a> <var title="">output</var>, @@ -1229,12 +1364,8 @@ <li><p>Return to the step labeled <i>cue text loop</i>.</li> - <li><p><i>Cue text processing</i>: Let the <a href=#text-track-cue-text>text track cue - text</a> of <var title="">cue</var> be <var title="">cue - text</var>, and let the rules for its interpretation be the - <a href=#webvtt-cue-text-parsing-rules>WebVTT cue text parsing rules</a>, the <a href=#webvtt-cue-text-rendering-rules>WebVTT cue - text rendering rules</a>, and the <a href=#webvtt-cue-text-dom-construction-rules>WebVTT cue text DOM - construction rules</a>.</li> + <li><p><i>Cue text processing</i>: Let the <a href=#text-track-cue-text>text track cue text</a> of <var title="">cue</var> be <var title="">cue text</var>, and let the <a href=#rules-for-rendering-the-cue-in-isolation>rules for rendering the cue + in isolation</a> be the <a href=#rules-for-interpreting-webvtt-cue-text>rules for interpreting WebVTT cue text</a>.</li> <li><p>Add <var title="">cue</var> to the <a href=#text-track-list-of-cues>text track list of cues</a> <var title="">output</var>.</li> @@ -1607,7 +1738,7 @@ <li><p>Return <var title="">result</var>.</li> - </ol><h3 id=webvtt-cue-text-parsing-rules><span class=secno>3.3 </span><dfn>WebVTT cue text parsing rules</dfn></h3> + </ol><h3 id=webvtt-cue-text-parsing-rules><span class=secno>4.3 </span><dfn>WebVTT cue text parsing rules</dfn></h3> <p>A <dfn id=webvtt-node-object>WebVTT Node Object</dfn> is a conceptual construct used to represent components of <a href=#webvtt-cue-text>WebVTT cue text</a> so that its @@ -2321,7 +2452,7 @@ <li><p>Jump to the step labeled <i>loop</i>.</li> - </ol><h3 id=webvtt-cue-text-dom-construction-rules><span class=secno>3.4 </span><dfn>WebVTT cue text DOM construction rules</dfn></h3> + </ol><h3 id=webvtt-cue-text-dom-construction-rules><span class=secno>4.4 </span><dfn>WebVTT cue text DOM construction rules</dfn></h3> <p>To convert a <a href=#list-of-webvtt-node-objects>List of WebVTT Node Objects</a> to a DOM tree for <code>Document</code> <var title="">owner</var>, user @@ -2371,7 +2502,22 @@ </div> - <h3 id=webvtt-cue-text-rendering-rules><span class=secno>3.5 </span><dfn>WebVTT cue text rendering rules</dfn></h3> + <h2 id=rendering><span class=secno>5 </span>Rendering</h2> + + <h3 id=cues-in-isolation><span class=secno>5.1 </span>Cues in isolation</h3> + + <p>The <dfn id=rules-for-interpreting-webvtt-cue-text>rules for interpreting WebVTT cue text</dfn> (e.g. for use as chapter titles) are as + follows:</p> + + <ol><li><p>Let <var title="">nodes</var> be the <a href=#list-of-webvtt-node-objects>list of WebVTT Node Objects</a> obtained by + applying the <a href=#webvtt-cue-text-parsing-rules>WebVTT cue text parsing rules</a> to the <var title="">cue</var>'s + <a href=#text-track-cue-text>text track cue text</a>.</p> + + <li><p class=XXX>... <!-- flatten nodes and return a single string somehow --> + + </ol><h3 id=cues-with-video><span class=secno>5.2 </span>Cues with video</h3> + + <h4 id=processing-model><span class=secno>5.2.1 </span>Processing model</h4> <p>The <dfn id=rules-for-updating-the-display-of-webvtt-text-tracks>rules for updating the display of WebVTT text tracks</dfn> render the <a href=#text-track title="text track">text @@ -3087,7 +3233,7 @@ entirely.</p> - <h4 id=applying-css-properties-to-webvtt-node-objects><span class=secno>3.5.1 </span>Applying CSS properties to <a href=#webvtt-node-object title="WebVTT Node Object">WebVTT Node Objects</a></h4> + <h4 id=applying-css-properties-to-webvtt-node-objects><span class=secno>5.2.2 </span>Applying CSS properties to <a href=#webvtt-node-object title="WebVTT Node Object">WebVTT Node Objects</a></h4> <p>When following the <a href=#rules-for-updating-the-display-of-webvtt-text-tracks>rules for updating the display of WebVTT text tracks</a>, user agents must set properties of <a href=#webvtt-node-object title="WebVTT Node Object">WebVTT Node Objects</a> at the CSS @@ -3166,24 +3312,20 @@ interpreted as defined in the next section.</p> - <h4 id=css-extensions><span class=secno>3.5.2 </span>CSS extensions</h4> + <h4 id=css-extensions><span class=secno>5.2.3 </span>CSS extensions</h4> - <p>When a user agent is rendering one or more <a href=#text-track-cue title="text - track cue">text track cues</a> according to the <a href=#webvtt-cue-text-rendering-rules>WebVTT cue - text rendering rules</a>, <a href=#webvtt-node-object title="WebVTT Node Object">WebVTT - Node Objects</a> in the <a href=#list-of-webvtt-node-objects>list of WebVTT Node Objects</a> - used in the rendering can be matched by certain pseudo-selectors as - defined below. These selectors can begin or stop matching individual - <a href=#webvtt-node-object title="WebVTT Node Object">WebVTT Node Objects</a> while a - <a href=#text-track-cue title="text track cue">cue</a> is being rendered, even in - between applications of the <a href=#webvtt-cue-text-rendering-rules>WebVTT cue text rendering - rules</a> (which are only run when the set of active cues - changes). User agents that support the pseudo-element described - below must dynamically update renderings accordingly. - When either 'white-space' or one of the properties corresponding to the 'font' shorthand - (including 'line-height') changes value, then the <a href=#text-track-cue>text track cue</a>'s <a href=#text-track-cue-display-state>text track - cue display state</a> must be emptied and the <a href=#text-track>text track</a>'s <a href=#rules-for-updating-the-text-track-rendering>rules for - updating the text track rendering</a> must be immediately rerun.</p> + <p>When a user agent is rendering one or more <a href=#text-track-cue title="text track cue">text track cues</a> + according to the <a href=#rules-for-updating-the-display-of-webvtt-text-tracks>rules for updating the display of WebVTT text tracks</a>, <a href=#webvtt-node-object title="WebVTT Node Object">WebVTT Node Objects</a> in the <a href=#list-of-webvtt-node-objects>list of WebVTT Node + Objects</a> used in the rendering can be matched by certain pseudo-selectors as defined below. + These selectors can begin or stop matching individual <a href=#webvtt-node-object title="WebVTT Node Object">WebVTT Node + Objects</a> while a <a href=#text-track-cue title="text track cue">cue</a> is being rendered, even in between + applications of the <a href=#rules-for-updating-the-display-of-webvtt-text-tracks>rules for updating the display of WebVTT text tracks</a> (which are + only run when the set of active cues changes). User agents that support the pseudo-element + described below must dynamically update renderings accordingly. When either 'white-space' or one + of the properties corresponding to the 'font' shorthand (including 'line-height') changes value, + then the <a href=#text-track-cue>text track cue</a>'s <a href=#text-track-cue-display-state>text track cue display state</a> must be emptied + and the <a href=#text-track>text track</a>'s <a href=#rules-for-updating-the-text-track-rendering>rules for updating the text track rendering</a> must be + immediately rerun.</p> <p>Pseudo-elements apply to elements that are matched by selectors. For the purpose of this section, that element is the @@ -3201,7 +3343,7 @@ '::cue(<var title="">selector</var>)' pseudo-elements, and the <a href=#past-pseudo-class title=past-pseudo-class>':past'</a> and <a href=#future-pseudo-class title=future-pseudo-class>':future'</a> pseudo-classes.</p> - <h5 id="the-'::cue'-pseudo-element"><span class=secno>3.5.2.1 </span>The '::cue' pseudo-element</h5> + <h5 id="the-'::cue'-pseudo-element"><span class=secno>5.2.3.1 </span>The '::cue' pseudo-element</h5> <p>The '<dfn id=pseudo-cue title=pseudo-cue>::cue</dfn>' pseudo-element (with no argument) matches any <a href=#list-of-webvtt-node-objects>List of WebVTT Node Objects</a> @@ -3356,7 +3498,7 @@ the <a href=#webvtt-cue-background-box>WebVTT cue background box</a>.</p> - <h5 id="the-':past'-and-':future'-pseudo-classes"><span class=secno>3.5.2.2 </span>The ':past' and ':future' pseudo-classes</h5> + <h5 id="the-':past'-and-':future'-pseudo-classes"><span class=secno>5.2.3.2 </span>The ':past' and ':future' pseudo-classes</h5> <p>The <a href=#past-pseudo-class title=past-pseudo-class>':past'</a> and <a href=#future-pseudo-class title=future-pseudo-class>':future'</a> pseudo-classes sometimes match <a href=#webvtt-node-object title="WebVTT Node Object">WebVTT Node @@ -3388,12 +3530,229 @@ Object</a> <var title="">c</var>.</p> - <h2 id=iana><span class=secno>4 </span>IANA considerations</h2> + + <h2 id=webvtt-api><span class=secno>6 </span>WebVTT API</h2> + + <p>The following interface is used to expose WebVTT cues in the DOM API:</p> + + <pre class=idl>enum <dfn id=autokeyword>AutoKeyword</dfn> { "auto" }; +[<a href=#dom-texttrackcue title=dom-TextTrackCue>Constructor</a>(double startTime, double endTime, DOMString text)] [229 lines skipped]
Received on Monday, 11 March 2013 23:43:42 UTC