html5/spec Overview.html,1.4583,1.4584

Update of /sources/public/html5/spec
In directory hutz:/tmp/cvs-serv9584

Modified Files:
	Overview.html 
Log Message:
WebSRT fixes: added <track default> to make it possible to enable a text track by default; dropped <track charset>; dropped the voice identifier in favour of inline <v> annotations in WebSRT; dropped compatibility with legacy SRT; added a magic signature to WebSRT; added some forward-compatibility features to WebSRT for future expansion; simplified WebSRT timestamp syntax; added WebSRT <c.foo.bar> syntax and support for classes in WebSRT; added '&gt;' escape support; tightened up WebSRT timestamp parsing; added ::cue() which takes a selector; dropped ::cue-part; added :past/:future; added some explanatory material and fixed some typos. (whatwg r5721)

Index: Overview.html
===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.4583
retrieving revision 1.4584
diff -u -d -r1.4583 -r1.4584
--- Overview.html	14 Dec 2010 02:07:18 -0000	1.4583
+++ Overview.html	25 Dec 2010 06:28:45 -0000	1.4584
@@ -813,7 +813,7 @@
        <li><a href="#the-ready-states"><span class="secno">4.8.10.7 </span>The ready states</a></li>
        <li><a href="#playing-the-media-resource"><span class="secno">4.8.10.8 </span>Playing the media resource</a></li>
        <li><a href="#seeking"><span class="secno">4.8.10.9 </span>Seeking</a></li>
-       <li><a href="#timed-tracks"><span class="secno">4.8.10.10 </span>Timed tracks</a>
+       <li><a href="#text-timed-tracks"><span class="secno">4.8.10.10 </span>Text timed tracks</a>
         <ol>
          <li><a href="#timed-track-model"><span class="secno">4.8.10.10.1 </span>Timed track model</a></li>
          <li><a href="#sourcing-in-band-timed-tracks"><span class="secno">4.8.10.10.2 </span>Sourcing in-band timed tracks</a></li>
@@ -1333,14 +1333,14 @@
    <li><a href="#replaced-elements"><span class="secno">10.3 </span>Replaced elements</a>
     <ol>
      <li><a href="#embedded-content-2"><span class="secno">10.3.1 </span>Embedded content</a></li>
-     <li><a href="#timed-tracks-0"><span class="secno">10.3.2 </span>Timed tracks</a>
+     <li><a href="#timed-tracks"><span class="secno">10.3.2 </span>Timed tracks</a>
       <ol>
        <li><a href="#websrt-cue-text-rendering-rules"><span class="secno">10.3.2.1 </span>WebSRT cue text rendering rules</a></li>
        <li><a href="#applying-css-properties-to-websrt-node-objects"><span class="secno">10.3.2.2 </span>Applying CSS properties to <span title="WebSRT Node Object">WebSRT Node Objects</span></a></li>
        <li><a href="#css-extensions"><span class="secno">10.3.2.3 </span>CSS extensions</a>
         <ol>
          <li><a href="#the-::cue-pseudo-element"><span class="secno">10.3.2.3.1 </span>The '::cue' pseudo-element</a></li>
-         <li><a href="#the-::cue-part-pseudo-element"><span class="secno">10.3.2.3.2 </span>The '::cue-part' pseudo-element</a></ol></ol></li>
+         <li><a href="#the-:past-and-:future-pseudo-classes"><span class="secno">10.3.2.3.2 </span>The ':past' and ':future' pseudo-classes</a></ol></ol></li>
      <li><a href="#images"><span class="secno">10.3.3 </span>Images</a></li>
      <li><a href="#attributes-for-embedded-content-and-images"><span class="secno">10.3.4 </span>Attributes for embedded content and images</a></li>
      <li><a href="#image-maps-0"><span class="secno">10.3.5 </span>Image maps</a></li>
@@ -21160,7 +21160,8 @@
   <a href="#timed-track-cue" title="timed track cue">timed track cues</a> whose
   <a href="#timed-track-cue-active-flag">timed track cue active flag</a> is set and whose
   <a href="#timed-track">timed track</a> is in the <a href="#timed-track-showing" title="timed track
-  showing">showing</a> mode.</p>
+  showing">showing</a> or <a href="#timed-track-showing-by-default" title="timed track showing by
+  default">showing by default</a> modes.</p>
 <!--KEEP-START w3c-html--><!--TT-->
 
   <p>In addition to the above, the user agent may provide messages to
@@ -21603,23 +21604,25 @@
    <dd><a href="#global-attributes">Global attributes</a></dd>
    <dd><code title="attr-track-kind"><a href="#attr-track-kind">kind</a></code></dd>
    <dd><code title="attr-track-src"><a href="#attr-track-src">src</a></code></dd>
-   <dd><code title="attr-track-charset"><a href="#attr-track-charset">charset</a></code></dd>
    <dd><code title="attr-track-srclang"><a href="#attr-track-srclang">srclang</a></code></dd>
    <dd><code title="attr-track-label"><a href="#attr-track-label">label</a></code></dd>
+   <dd><code title="attr-track-default"><a href="#attr-track-default">default</a></code></dd>
    <dt>DOM interface:</dt>
    <dd>
 <pre class="idl">interface <dfn id="htmltrackelement">HTMLTrackElement</dfn> : <a href="#htmlelement">HTMLElement</a> {
            attribute DOMString <a href="#dom-track-kind" title="dom-track-kind">kind</a>;
            attribute DOMString <a href="#dom-track-src" title="dom-track-src">src</a>;
-           attribute DOMString <a href="#dom-track-charset" title="dom-track-charset">charset</a>;
            attribute DOMString <a href="#dom-track-srclang" title="dom-track-srclang">srclang</a>;
            attribute DOMString <a href="#dom-track-label" title="dom-track-label">label</a>;
+           attribute boolean <a href="#dom-track-default" title="dom-track-default">default</a>;
 
   readonly attribute <a href="#timedtrack">TimedTrack</a> <a href="#dom-track-track" title="dom-track-track">track</a>;
 };</pre>
    </dd>
   </dl><p>The <code><a href="#the-track-element">track</a></code> element allows authors to specify explicit
-  external <a href="#timed-track" title="timed track">timed tracks</a> for <a href="#media-element" title="media element">media elements</a>. It does not <a href="#represents" title="represents">represent</a> anything on its own.<p>The <dfn id="attr-track-kind" title="attr-track-kind"><code>kind</code></dfn>
+  external text-based <a href="#timed-track" title="timed track">timed tracks</a>
+  for <a href="#media-element" title="media element">media elements</a>. It does not
+  <a href="#represents" title="represents">represent</a> anything on its own.<p>The <dfn id="attr-track-kind" title="attr-track-kind"><code>kind</code></dfn>
   attribute is an <a href="#enumerated-attribute">enumerated attribute</a>. The following
   table lists the keywords defined for this attribute. The keyword
   given in the first cell of each row maps to the state given in the
@@ -21628,19 +21631,29 @@
      <th>Brief description
    <tbody><tr><td><dfn id="attr-track-kind-keyword-subtitles" title="attr-track-kind-keyword-subtitles"><code>subtitles</code></dfn>
      <td><dfn id="attr-track-kind-subtitles" title="attr-track-kind-subtitles">Subtitles</dfn>
-     <td>Transcription or translation of the dialogue, suitable for when the sound is available but not understood (e.g. because the user does not understand the language of the <a href="#media-resource">media resource</a>'s soundtrack).
+     <td>
+      Transcription or translation of the dialogue, suitable for when the sound is available but not understood (e.g. because the user does not understand the language of the <a href="#media-resource">media resource</a>'s soundtrack).
+      Displayed over the video.
     <tr><td><dfn id="attr-track-kind-keyword-captions" title="attr-track-kind-keyword-captions"><code>captions</code></dfn>
      <td><dfn id="attr-track-kind-captions" title="attr-track-kind-captions">Captions</dfn>
-     <td>Transcription or translation of the dialogue, sound effects, relevant musical cues, and other relevant audio information, suitable for when the soundtrack is unavailable (e.g. because it is muted or because the user is deaf).
+     <td>
+      Transcription or translation of the dialogue, sound effects, relevant musical cues, and other relevant audio information, suitable for when the soundtrack is unavailable (e.g. because it is muted or because the user is deaf).
+      Displayed over the video; labeled as appropriate for the hard-of-hearing.
     <tr><td><dfn id="attr-track-kind-keyword-descriptions" title="attr-track-kind-keyword-descriptions"><code>descriptions</code></dfn>
      <td><dfn id="attr-track-kind-descriptions" title="attr-track-kind-descriptions">Descriptions</dfn>
-     <td>Textual descriptions of the video component of the <a href="#media-resource">media resource</a>, intended for audio synthesis when the visual component is unavailable (e.g. because the user is interacting with the application without a screen while driving, or because the user is blind).
+     <td>
+      Textual descriptions of the video component of the <a href="#media-resource">media resource</a>, intended for audio synthesis when the visual component is unavailable (e.g. because the user is interacting with the application without a screen while driving, or because the user is blind).
+      Synthesized as separate audio track.
     <tr><td><dfn id="attr-track-kind-keyword-chapters" title="attr-track-kind-keyword-chapters"><code>chapters</code></dfn>
      <td><dfn id="attr-track-kind-chapters" title="attr-track-kind-chapters">Chapters</dfn>
-     <td>Chapter titles, intended to be used for navigating the <a href="#media-resource">media resource</a>.
+     <td>
+      Chapter titles, intended to be used for navigating the <a href="#media-resource">media resource</a>.
+      Displayed as an interactive list in the user agent's interface.
     <tr><td><dfn id="attr-track-kind-keyword-metadata" title="attr-track-kind-keyword-metadata"><code>metadata</code></dfn>
      <td><dfn id="attr-track-kind-metadata" title="attr-track-kind-metadata">Metadata</dfn>
-     <td>Tracks intended for use from script.
+     <td>
+      Tracks intended for use from script.
+      Not displayed by the user agent.
   </table><p>The attribute may be omitted. The <i>missing value default</i> is
   the <a href="#attr-track-kind-subtitles" title="attr-track-kind-subtitles">subtitles</a> state.<p>The <dfn id="attr-track-src" title="attr-track-src"><code>src</code></dfn> attribute
   gives the address of the timed track data. The value must be a
@@ -21655,14 +21668,7 @@
   URL</a>. Otherwise, the element's <a href="#track-url">track URL</a> is the
   empty string.</p>
 
-  </div><p>If the elements's <a href="#track-url">track URL</a> identifies a resource
-  that <dfn id="supports-external-timed-track-character-encoding-overrides">supports external timed track character encoding
-  overrides</dfn>, then the <dfn id="attr-track-charset" title="attr-track-charset"><code>charset</code></dfn> attribute may
-  be specified. If the attribute is set, its value must be a valid
-  character encoding name, must be an <a href="#ascii-case-insensitive">ASCII
-  case-insensitive</a> match for the <a href="#preferred-mime-name">preferred MIME
-  name</a> for that encoding, and must match the character encoding
-  of the resource in question. <a href="#refsIANACHARSET">[IANACHARSET]</a><p>The <dfn id="attr-track-srclang" title="attr-track-srclang"><code>srclang</code></dfn>
+  </div><p>The <dfn id="attr-track-srclang" title="attr-track-srclang"><code>srclang</code></dfn>
   attribute gives the language of the timed track data. The value must
   be a valid BCP 47 language tag. This attribute must be present if
   the element's <code title="attr-track-kind"><a href="#attr-track-kind">kind</a></code> attribute is
@@ -21693,7 +21699,11 @@
   (e.g. the string "untitled" in the user's locale, or a value
   automatically generated from the other attributes).</p>
 
-  </div><dl class="domintro"><dt><var title="">track</var> . <code title="dom-track-track"><a href="#dom-track-track">track</a></code></dt>
+  </div><p>The <dfn id="attr-track-default" title="attr-track-default"><code>default</code></dfn>
+  attribute, if specified, indicates that the track is to be enabled
+  if the user's preferences do not indicate that another track would
+  be more appropriate. There must not be more than one
+  <code><a href="#the-track-element">track</a></code> element with the same parent node with the <code title="attr-track-default"><a href="#attr-track-default">default</a></code> attribute specified.<dl class="domintro"><dt><var title="">track</var> . <code title="dom-track-track"><a href="#dom-track-track">track</a></code></dt>
 
    <dd>
 
@@ -21708,11 +21718,11 @@
   <a href="#timed-track">timed track</a>'s corresponding <code><a href="#timedtrack">TimedTrack</a></code>
   object.</p>
 
-  <p>The <dfn id="dom-track-src" title="dom-track-src"><code>src</code></dfn>, <dfn id="dom-track-charset" title="dom-track-charset"><code>charset</code></dfn>, <dfn id="dom-track-srclang" title="dom-track-srclang"><code>srclang</code></dfn>, and <dfn id="dom-track-label" title="dom-track-label"><code>label</code></dfn> IDL attributes must
-  <a href="#reflect">reflect</a> the respective content attributes of the same
-  name. The <dfn id="dom-track-kind" title="dom-track-kind"><code>kind</code></dfn> IDL
-  attributemust <a href="#reflect">reflect</a> the content attribute of the same
-  name, <a href="#limited-to-only-known-values">limited to only known values</a>.</p>
+  <p>The <dfn id="dom-track-src" title="dom-track-src"><code>src</code></dfn>, <dfn id="dom-track-srclang" title="dom-track-srclang"><code>srclang</code></dfn>, <dfn id="dom-track-label" title="dom-track-label"><code>label</code></dfn>, and <dfn id="dom-track-default" title="dom-track-default"><code>default</code></dfn> IDL attributes
+  must <a href="#reflect">reflect</a> the respective content attributes of the
+  same name. The <dfn id="dom-track-kind" title="dom-track-kind"><code>kind</code></dfn>
+  IDL attribute must <a href="#reflect">reflect</a> the content attribute of the
+  same name, <a href="#limited-to-only-known-values">limited to only known values</a>.</p>
 
   </div><div class="example">
 
@@ -23709,8 +23719,9 @@
 
   <ol><!--KEEP-END w3c-html--><!--TT--><li><p>Let <var title="">current cues</var> be an ordered list of
    <a href="#timed-track-cue" title="timed track cue">cues</a>, initialized to contain
-   all the <a href="#timed-track-cue" title="timed track cue">cues</a> of all the <a href="#timed-track-hidden" title="timed track hidden">hidden</a> or <a href="#timed-track-showing" title="timed
-   track showing">showing</a> <a href="#timed-track" title="timed track">timed
+   all the <a href="#timed-track-cue" title="timed track cue">cues</a> of all the <a href="#timed-track-hidden" title="timed track hidden">hidden</a>, <a href="#timed-track-showing" title="timed track
+   showing">showing</a>, or <a href="#timed-track-showing-by-default" title="timed track showing by
+   default">showing by default</a> <a href="#timed-track" title="timed track">timed
    tracks</a> of the <a href="#media-element">media element</a> (not the <a href="#timed-track-disabled" title="timed track disabled">disabled</a> ones) whose <a href="#timed-track-cue-start-time" title="timed track cue start time">start times</a> are less than
    or equal to the <a href="#current-playback-position">current playback position</a> and whose
    <a href="#timed-track-cue-end-time" title="timed track cue end time">end times</a> are greater
@@ -23719,8 +23730,9 @@
 
    <li><p>Let <var title="">other cues</var> be an ordered list of
    <a href="#timed-track-cue" title="timed track cue">cues</a>, initialized to contain
-   all the <a href="#timed-track-cue" title="timed track cue">cues</a> of <a href="#timed-track-hidden" title="timed track hidden">hidden</a> and <a href="#timed-track-showing" title="timed
-   track showing">showing</a> <a href="#timed-track" title="timed track">timed
+   all the <a href="#timed-track-cue" title="timed track cue">cues</a> of <a href="#timed-track-hidden" title="timed track hidden">hidden</a>, <a href="#timed-track-showing" title="timed track
+   showing">showing</a>, and <a href="#timed-track-showing-by-default" title="timed track showing by
+   default">showing by default</a> <a href="#timed-track" title="timed track">timed
    tracks</a> of the <a href="#media-element">media element</a> that are not
    present in <var title="">current cues</var>, also in <a href="#timed-track-cue-order">timed
    track cue order</a>.</li>
@@ -23804,7 +23816,8 @@
 
    <li><p>Run the <a href="#rules-for-updating-the-timed-track-rendering">rules for updating the timed track
    rendering</a> of each of the <a href="#timed-track" title="timed track">timed
-   tracks</a> in <var title="">affected tracks</var> that are <a href="#timed-track-showing" title="timed track showing">showing</a>.
+   tracks</a> in <var title="">affected tracks</var> that are <a href="#timed-track-showing" title="timed track showing">showing</a> or <a href="#timed-track-showing-by-default" title="timed
+   track showing by default">showing by default</a>.
    </li>
 <!--KEEP-START w3c-html--><!--TT-->
 
@@ -23962,7 +23975,7 @@
   <a href="#current-playback-position">current playback position</a> changes in a discontinuous
   fashion (so that the relevant events fire).</p>
 
-  </div><!--KEEP-END w3c-html--><!--TT--><!--<div data-component="other Hixie drafts (editor: Ian Hickson)">--><h5 id="timed-tracks"><span class="secno">4.8.10.10 </span>Timed tracks</h5><p class="XXX annotation"><span><a href="http://www.w3.org/html/wg/tracker/issues/9">ISSUE-9</a> (video-accessibility) blocks progress to Last Call</span><h6 id="timed-track-model"><span class="secno">4.8.10.10.1 </span>Timed track model</h6><p>A <a href="#media-element">media element</a> can have a group of associated <dfn id="timed-track" title="timed track">timed tracks</dfn>, known as the <a href="#media-element">media
+  </div><!--KEEP-END w3c-html--><!--TT--><!--<div data-component="other Hixie drafts (editor: Ian Hickson)">--><h5 id="text-timed-tracks"><span class="secno">4.8.10.10 </span>Text timed tracks</h5><h6 id="timed-track-model"><span class="secno">4.8.10.10.1 </span>Timed track model</h6><p>A <a href="#media-element">media element</a> can have a group of associated <dfn id="timed-track" title="timed track">timed tracks</dfn>, known as the <a href="#media-element">media
   element</a>'s <dfn id="list-of-timed-tracks">list of timed tracks</dfn>. The <a href="#timed-track" title="timed track">timed tracks</a> are sorted as follows:<ol class="brief"><li>The <a href="#timed-track" title="timed track">timed tracks</a> corresponding
    to <code><a href="#the-track-element">track</a></code> element children of the <a href="#media-element">media
    element</a>, in <a href="#tree-order">tree order</a>.</li>
@@ -24111,8 +24124,9 @@
      </dd>
 
      <dt><dfn id="timed-track-showing" title="timed track showing">Showing</dfn>
+     <dt><dfn id="timed-track-showing-by-default" title="timed track showing by default">Showing by default</dfn>
 
-     <dd>
+     </dt><dd>
 
       <p>Indicates that the timed track is active. If no attempt has
       yet been made to obtain the track's cues, the user agent will
@@ -24128,6 +24142,13 @@
       user can navigate to any point in the <a href="#media-resource">media
       resource</a> by selecting a cue.</p>
 
+      <p>The <a href="#timed-track-showing-by-default" title="timed track showing by default">showing by
+      default</a> state is used in conjunction with the <code title="attr-track-default"><a href="#attr-track-default">default</a></code> attribute on
+      <code><a href="#the-track-element">track</a></code> elements to indicate that the timed track was
+      enabled due to that attribute. This allows the user agent to
+      override the state if a later track is discovered that is more
+      appropriate per the user's preferences.</p>
+
      </dd>
 
     </dl></dd>
@@ -24215,11 +24236,6 @@
    </dd>
 
 
-   <dt><dfn id="timed-track-cue-voice-identifier" title="timed track cue voice identifier">A voice identifier</dfn>
-   <dd>
-    <p>A string identifying the voice with which the cue is associated.</p>
-   </dd>
-
    <dt><dfn id="timed-track-cue-text" title="timed track cue text">The text of the cue</dfn>
    <dd>
     <p>The raw text of the cue, and rules for its interpretation,
@@ -24247,11 +24263,12 @@
     disabled">disabled</a>; and whenever the <a href="#media-element">media
     element</a>'s <code title="dom-media-readyState"><a href="#dom-media-readystate">readyState</a></code> is changed back to
     <code title="dom-media-HAVE_NOTHING"><a href="#dom-media-have_nothing">HAVE_NOTHING</a></code>. When the
-    flag is unset in this way for one or more cues in <a href="#timed-track" title="timed track">timed tracks</a> that were <a href="#timed-track-showing" title="timed track showing">showing</a> prior to the relevant
-    incident, the user agent must, after having unset the flag for all
-    the affected cues, apply the <a href="#rules-for-updating-the-timed-track-rendering">rules for updating the timed
-    track rendering</a> of those <a href="#timed-track" title="timed track">timed
-    tracks</a>.
+    flag is unset in this way for one or more cues in <a href="#timed-track" title="timed track">timed tracks</a> that were <a href="#timed-track-showing" title="timed track showing">showing</a> or <a href="#timed-track-showing-by-default" title="timed
+    track showing by default">showing by default</a> prior to the
+    relevant incident, the user agent must, after having unset the
+    flag for all the affected cues, apply the <a href="#rules-for-updating-the-timed-track-rendering">rules for updating
+    the timed track rendering</a> of those <a href="#timed-track" title="timed
+    track">timed tracks</a>.
    </dd>
 
    <dt>The <dfn id="timed-track-cue-display-state" title="timed track cue display state">display state</dfn>
@@ -24444,6 +24461,30 @@
    <dd>
     <p>Let the <a href="#timed-track-mode">timed track mode</a> be <a href="#timed-track-showing" title="timed
     track showing">showing</a>.</p>
+
+    <p>If there is a <a href="#timed-track">timed track</a> in the <a href="#media-element">media
+    element</a>'s <a href="#list-of-timed-tracks">list of timed tracks</a> whose
+    <a href="#timed-track-mode">timed track mode</a> is <a href="#timed-track-showing-by-default" title="timed track showing
+    by default">showing by default</a>, the user agent must
+    furthermore change <em>that</em> <a href="#timed-track">timed track</a>'s
+    <a href="#timed-track-mode">timed track mode</a> to <a href="#timed-track-hidden" title="timed track
+    hidden">hidden</a>.</p> <!-- so that we still get events and
+    stuff: we can expect authors to forget that default doesn't mean
+    that it'll always be turned on, and that they'll still rely on
+    events firing even if it doesn't show -->
+
+   </dd>
+
+   <dt>If the <code><a href="#the-track-element">track</a></code> element has a <code title="attr-track-default"><a href="#attr-track-default">default</a></code> attribute specified, and
+   there is no other <a href="#timed-track">timed track</a> in the <a href="#media-element">media
+   element</a>'s <a href="#list-of-timed-tracks">list of timed tracks</a> whose
+   <a href="#timed-track-mode">timed track mode</a> is <a href="#timed-track-showing" title="timed track
+   showing">showing</a> or <a href="#timed-track-showing-by-default" title="timed track
+   showing by default">showing by default</a></dt>
+
+   <dd>
+    <p>Let the <a href="#timed-track-mode">timed track mode</a> be <a href="#timed-track-showing-by-default" title="timed
+    track showing by default">showing by default</a>.</p>
    </dd>
 
    <dt>Otherwise</dt>
@@ -24455,18 +24496,20 @@
 
   </dl><p>When a <a href="#timed-track">timed track</a> corresponding to a
   <code><a href="#the-track-element">track</a></code> element is created with <a href="#timed-track-mode">timed track
-  mode</a> set to <a href="#timed-track-hidden" title="timed track hidden">hidden</a> or
-  <a href="#timed-track-showing" title="timed track showing">showing</a>, and when a
-  <a href="#timed-track">timed track</a> corresponding to a <code><a href="#the-track-element">track</a></code>
-  element is created with <a href="#timed-track-mode">timed track mode</a> set to <a href="#timed-track-disabled" title="timed track disabled">disabled</a> and subsequently
-  changes its <a href="#timed-track-mode">timed track mode</a> to <a href="#timed-track-hidden" title="timed
-  track hidden">hidden</a> or <a href="#timed-track-showing" title="timed track
-  showing">showing</a> for the first time, the user agent must
-  immediately and synchronously run the following algorithm. This
-  algorithm interacts closely with the <a href="#event-loop">event loop</a>
-  mechanism; in particular, it has a <a href="#synchronous-section">synchronous section</a>
-  (which is triggered as part of the <a href="#event-loop">event loop</a>
-  algorithm). The step in that section is marked with &#8987;.</p>
+  mode</a> set to <a href="#timed-track-hidden" title="timed track hidden">hidden</a>,
+  <a href="#timed-track-showing" title="timed track showing">showing</a>, or <a href="#timed-track-showing-by-default" title="timed track showing by default">showing by default</a>,
+  and when a <a href="#timed-track">timed track</a> corresponding to a
+  <code><a href="#the-track-element">track</a></code> element is created with <a href="#timed-track-mode">timed track
+  mode</a> set to <a href="#timed-track-disabled" title="timed track
+  disabled">disabled</a> and subsequently changes its <a href="#timed-track-mode">timed
+  track mode</a> to <a href="#timed-track-hidden" title="timed track hidden">hidden</a>,
+  <a href="#timed-track-showing" title="timed track showing">showing</a>, or <a href="#timed-track-showing-by-default" title="timed track showing by default">showing by default</a> for
+  the first time, the user agent must immediately and synchronously
+  run the following algorithm. This algorithm interacts closely with
+  the <a href="#event-loop">event loop</a> mechanism; in particular, it has a
+  <a href="#synchronous-section">synchronous section</a> (which is triggered as part of the
+  <a href="#event-loop">event loop</a> algorithm). The step in that section is
+  marked with &#8987;.</p>
 
   <ol><li><p>Set the <a href="#timed-track-readiness-state">timed track readiness state</a> to <a href="#timed-track-loading" title="timed track loading">loading</a>.</li>
 
@@ -24500,11 +24543,7 @@
     a type is obtained, and represents a supported timed track format,
     then the resource's data must be passed to the appropriate parser
     as it is received, with the <a href="#timed-track-list-of-cues">timed
-    track list of cues</a> being used for that parser's output. If
-    the <code><a href="#the-track-element">track</a></code> element has a <code title="attr-track-charset"><a href="#attr-track-charset">charset</a></code> attribute that specifies
-    a supported character encoding, then that encoding must be given
-    to the parser as a character encoding override. Otherwise the
-    parser must use its default character encoding behavior.</p>
+    track list of cues</a> being used for that parser's output.</p>
 
     <p>If the <a href="#fetch" title="fetch">fetching algorithm</a> fails for
     any reason (network error, the server returns an error code, a
@@ -24533,12 +24572,14 @@
     <ul><li>the <a href="#track-url">track URL</a> changes so that it is no longer
      equal to <var title="">URL</var>, while the <a href="#timed-track-mode">timed track
      mode</a> is set to <a href="#timed-track-hidden" title="timed track
-     hidden">hidden</a> or <a href="#timed-track-showing" title="timed track
-     showing">showing</a>; or</li>
+     hidden">hidden</a>, <a href="#timed-track-showing" title="timed track
+     showing">showing</a>, or <a href="#timed-track-showing-by-default" title="timed track showing by
+     default">showing by default</a>; or</li>
 
-     <li>the <a href="#timed-track-mode">timed track mode</a> changes to <a href="#timed-track-hidden" title="timed track hidden">hidden</a> or <a href="#timed-track-showing" title="timed
-     track showing">showing</a>, while the <a href="#track-url">track URL</a> is
-     not equal to <var title="">URL</var></li>
+     <li>the <a href="#timed-track-mode">timed track mode</a> changes to <a href="#timed-track-hidden" title="timed track hidden">hidden</a>, <a href="#timed-track-showing" title="timed
+     track showing">showing</a>, or <a href="#timed-track-showing-by-default" title="timed track
+     showing by default">showing by default</a>, while the
+     <a href="#track-url">track URL</a> is not equal to <var title="">URL</var></li>
 
     </ul><p>...then the user agent must run the following steps:</p>
 
@@ -24563,8 +24604,9 @@
    <li><p><i>Monitoring</i>: Wait until the <a href="#track-url">track URL</a> is
    no longer equal to <var title="">URL</var>, at the same time as the
    <a href="#timed-track-mode">timed track mode</a> is set to <a href="#timed-track-hidden" title="timed track
-   hidden">hidden</a> or <a href="#timed-track-showing" title="timed track
-   showing">showing</a>.</li>
+   hidden">hidden</a>, <a href="#timed-track-showing" title="timed track
+   showing">showing</a>, or <a href="#timed-track-showing-by-default" title="timed track showing by
+   default">showing by default</a>.</li>
 
    <li><p>Wait until the <a href="#timed-track-readiness-state">timed track readiness state</a> is
    no longer set to <a href="#timed-track-loading" title="timed track
@@ -24682,13 +24724,13 @@
      <dd>
       <p>The <a href="#timed-track-disabled">timed track disabled</a> mode.</p>
      </dd>
-     <dt><code><a href="#timedtrack">TimedTrack</a></code> . <code title="dom-TimedTrack-HIDDEN"><a href="#dom-timedtrack-hidden">HIDDEN</a></code> (0)</dt>
+     <dt><code><a href="#timedtrack">TimedTrack</a></code> . <code title="dom-TimedTrack-HIDDEN"><a href="#dom-timedtrack-hidden">HIDDEN</a></code> (1)</dt>
      <dd>
       <p>The <a href="#timed-track-hidden">timed track hidden</a> mode.</p>
      </dd>
-     <dt><code><a href="#timedtrack">TimedTrack</a></code> . <code title="dom-TimedTrack-SHOWING"><a href="#dom-timedtrack-showing">SHOWING</a></code> (0)</dt>
+     <dt><code><a href="#timedtrack">TimedTrack</a></code> . <code title="dom-TimedTrack-SHOWING"><a href="#dom-timedtrack-showing">SHOWING</a></code> (2)</dt>
      <dd>
-      <p>The <a href="#timed-track-showing">timed track showing</a> mode.</p>
+      <p>The <a href="#timed-track-showing">timed track showing</a> and <a href="#timed-track-showing-by-default" title="timed track showing by default">showing by default</a> modes.</p>
      </dd>
     </dl><p>Can be set, to change the mode.</p>
    </dd>
@@ -24745,7 +24787,7 @@
    <dt><dfn id="dom-timedtrack-hidden" title="dom-TimedTrack-HIDDEN"><code>HIDDEN</code></dfn> (numeric value 1)</dt>
    <dd>The <a href="#timed-track-hidden">timed track hidden</a> mode.</dd>
    <dt><dfn id="dom-timedtrack-showing" title="dom-TimedTrack-SHOWING"><code>SHOWING</code></dfn> (numeric value 2)</dt>
-   <dd>The <a href="#timed-track-showing">timed track showing</a> mode.</dd>
+   <dd>The <a href="#timed-track-showing">timed track showing</a> and <a href="#timed-track-showing-by-default" title="timed track showing by default">showing by default</a> modes.</dd>
   </dl><p>On setting, if the new value is not either 0, 1, or 2, the user
   agent must throw an <code><a href="#invalid_access_err">INVALID_ACCESS_ERR</a></code>
   exception. Otherwise, if the new value isn't equal to what the
@@ -24780,6 +24822,12 @@
     track</a> that the <code><a href="#timedtrack">TimedTrack</a></code> object represents to
     the <a href="#timed-track-showing">timed track showing</a> mode.</p>
 
+    <p class="note">If the mode had been <a href="#timed-track-showing-by-default" title="timed track
+    showing by default">showing by default</a>, this will change it
+    to <a href="#timed-track-showing" title="timed track showing">showing</a>, even though
+    the value of <code title="dom-TimedTrack-mode"><a href="#dom-timedtrack-mode">mode</a></code> would
+    appear not to change.</p>
+
    </dd>
 
   </dl><p>If the <a href="#timed-track-mode">timed track mode</a> of the <a href="#timed-track">timed
@@ -25028,7 +25076,6 @@
   readonly attribute boolean <a href="#dom-timedtrackcue-pauseonexit" title="dom-TimedTrackCue-pauseOnExit">pauseOnExit</a>;
 
 
-  readonly attribute DOMString <a href="#dom-timedtrackcue-voice" title="dom-TimedTrackCue-voice">voice</a>;
   DOMString <a href="#dom-timedtrackcue-getcueassource" title="dom-TimedTrackCue-getCueAsSource()">getCueAsSource</a>();
   <a href="#documentfragment">DocumentFragment</a> <a href="#dom-timedtrackcue-getcueashtml" title="dom-TimedTrackCue-getCueAsHTML()">getCueAsHTML</a>();
 
@@ -25062,11 +25109,6 @@
    </dd>
 
 
-   <dt><var title="">cue</var> . <a href="#dom-timedtrackcue-voice" title="dom-TimedTrackCue-voice">voice</a></dt>
-   <dd>
-    <p>Returns the <a href="#timed-track-cue-voice-identifier">timed track cue voice identifier</a>.</p>
-   </dd>
-
    <dt><var title="">source</var> = <var title="">cue</var> . <span title="dom-TimedTrackCue-getCueAsSource">getCueAsSource</span>()</dt>
    <dd>
     <p>Returns the <a href="#timed-track-cue-text">timed track cue text</a> in raw unparsed form.</p>
@@ -25113,11 +25155,6 @@
   <code><a href="#timedtrackcue">TimedTrackCue</a></code> object represents.</p>
 
 
-  <p>The <dfn id="dom-timedtrackcue-voice" title="dom-TimedTrackCue-voice"><code>voice</code></dfn>
-  attribute must return the <a href="#timed-track-cue-voice-identifier">timed track cue voice
-  identifier</a> of the <a href="#timed-track-cue">timed track cue</a> that the
-  <code><a href="#timedtrackcue">TimedTrackCue</a></code> object represents.</p>
-
   <p>The <dfn id="dom-timedtrackcue-getcueassource" title="dom-TimedTrackCue-getCueAsSource()"><code>getCueAsSource()</code></dfn>
   method must return the raw <a href="#timed-track-cue-text">timed track cue text</a>.</p>
 
@@ -25184,8 +25221,9 @@
   <p>For the purposes of listing chapters in the <a href="#media-resource">media
   resource</a>, only <a href="#timed-track" title="timed track">timed tracks</a>
   in the <a href="#media-element">media element</a>'s <a href="#list-of-timed-tracks">list of timed
-  tracks</a> <a href="#timed-track-showing" title="timed track showing">showing</a> and
-  whose <a href="#timed-track-kind">timed track kind</a> is <code title="dom-timedtrack-kind-chapters"><a href="#dom-timedtrack-kind-chapters">chapters</a></code> should be used.
+  tracks</a> <a href="#timed-track-showing" title="timed track showing">showing</a> or
+  <a href="#timed-track-showing-by-default" title="timed track showing by default">showing by
+  default</a> and whose <a href="#timed-track-kind">timed track kind</a> is <code title="dom-timedtrack-kind-chapters"><a href="#dom-timedtrack-kind-chapters">chapters</a></code> should be used.
   Each <a href="#timed-track-cue" title="timed track cue">cue</a> in such a <a href="#timed-track">timed
   track</a> represents a chapter starting at the cue's <a href="#timed-track-cue-start-time" title="timed track cue start time">start time</a>. The name of
   the chapter is the <a href="#timed-track-cue-text">timed track cue text</a>, interpreted
@@ -25518,7 +25556,7 @@
   being able to read the subtitles would present a confidentiality
   breach.</p>
 
-  </div><h4 id="the-canvas-element"><span class="secno">4.8.11 </span>The <dfn id="canvas"><code>canvas</code></dfn> element</h4><p class="XXX annotation"><span><a href="http://www.w3.org/html/wg/tracker/issues/74">ISSUE-74</a> (canvas-accessibility) blocks progress to Last Call</span><dl class="element"><dt>Categories</dt>
+  </div><h4 id="the-canvas-element"><span class="secno">4.8.11 </span>The <dfn id="canvas"><code>canvas</code></dfn> element</h4><dl class="element"><dt>Categories</dt>
    <dd><a href="#flow-content">Flow content</a>.</dd>
    <dd><a href="#phrasing-content">Phrasing content</a>.</dd>
    <dd><a href="#embedded-content">Embedded content</a>.</dd>
@@ -53325,7 +53363,7 @@
   the ranges U+0041 to U+005A (LATIN CAPITAL LETTER A to LATIN CAPITAL
   LETTER Z) and U+0061 to U+007A (LATIN SMALL LETTER A to LATIN SMALL
   LETTER Z). For convenience, in this section this is just referred to
-  as "case-insensitive".<h4 id="the-doctype"><span class="secno">8.1.1 </span>The DOCTYPE</h4><p class="XXX annotation"><span><a href="http://www.w3.org/html/wg/tracker/issues/4">ISSUE-4</a> (html-versioning) and <a href="http://www.w3.org/html/wg/tracker/issues/84">ISSUE-84</a> (legacy-doctypes) block progress to Last Call</span><p>A <dfn id="syntax-doctype" title="syntax-doctype">DOCTYPE</dfn> is a <!-- mostly
+  as "case-insensitive".<h4 id="the-doctype"><span class="secno">8.1.1 </span>The DOCTYPE</h4><p>A <dfn id="syntax-doctype" title="syntax-doctype">DOCTYPE</dfn> is a <!-- mostly
   useless but nonetheless --> required preamble.<p class="note">DOCTYPEs are required for legacy reasons. When
   omitted, browsers tend to use a different rendering mode that is
   incompatible with some specifications. Including the DOCTYPE in a
@@ -63428,7 +63466,8 @@
   to the user">exposing a user interface</a> for a
   <code><a href="#video">video</a></code> element, user agents should run the <a href="#rules-for-updating-the-timed-track-rendering">rules
   for updating the timed track rendering</a> of each of the <a href="#timed-track" title="timed track">timed tracks</a> in the <code><a href="#video">video</a></code>
-  element's <a href="#list-of-timed-tracks">list of timed tracks</a> that are <a href="#timed-track-showing" title="timed track showing">showing</a> (e.g., for <a href="#timed-track" title="timed track">timed tracks</a> based on
+  element's <a href="#list-of-timed-tracks">list of timed tracks</a> that are <a href="#timed-track-showing" title="timed track showing">showing</a> or <a href="#timed-track-showing-by-default" title="timed
+  track showing by default">showing by default</a> (e.g., for <a href="#timed-track" title="timed track">timed tracks</a> based on
   <span>WebSRT</span>, the <a href="#rules-for-updating-the-display-of-websrt-timed-tracks">rules for updating the display of
   WebSRT timed tracks</a>).</p>
 <!--KEEP-START w3c-html--><!--TT-->
@@ -63444,7 +63483,7 @@
 
   </div><!--KEEP-END w3c-html--><!--TT--><!--<div data-component="other Hixie drafts (editor: Ian Hickson)">--><div class="impl">
 
-  <h4 id="timed-tracks-0"><span class="secno">10.3.2 </span>Timed tracks</h4><p class="XXX annotation"><span><a href="http://www.w3.org/html/wg/tracker/issues/9">ISSUE-9</a> (video-accessibility) blocks progress to Last Call</span></p>
+  <h4 id="timed-tracks"><span class="secno">10.3.2 </span>Timed tracks</h4><p class="XXX annotation"><span><a href="http://www.w3.org/html/wg/tracker/issues/9">ISSUE-9</a> (video-accessibility) blocks progress to Last Call</span></p>
 
   <p class="note">This section is intended to be moved to its own CSS
   module once an editor is found to run with it.</p>
@@ -63488,12 +63527,11 @@
    user interface</a> for <var title="">video</var>, but now it is,
    let <var title="">reset</var> be true. Otherwise, let <var title="">reset</var> be false.</p>
 
-   <li><p>Let <var title="">tracks</var> be the subset of
-   <var title="">video</var>'s <a href="#list-of-timed-tracks">list of timed tracks</a> that
-   have as their <a href="#rules-for-updating-the-timed-track-rendering">rules for updating the timed track
-   rendering</a> these <a href="#rules-for-updating-the-display-of-websrt-timed-tracks">rules for updating the display of
-   WebSRT timed tracks</a>, and whose <a href="#timed-track-mode">timed track mode</a>
-   is <a href="#timed-track-showing" title="timed track showing">showing</a>.</li>
+   <li><p>Let <var title="">tracks</var> be the subset of <var title="">video</var>'s <a href="#list-of-timed-tracks">list of timed tracks</a> that have
+   as their <a href="#rules-for-updating-the-timed-track-rendering">rules for updating the timed track rendering</a>
+   these <a href="#rules-for-updating-the-display-of-websrt-timed-tracks">rules for updating the display of WebSRT timed
+   tracks</a>, and whose <a href="#timed-track-mode">timed track mode</a> is <a href="#timed-track-showing" title="timed track showing">showing</a> or <a href="#timed-track-showing-by-default" title="timed
+   track showing by default">showing by default</a>.</li>
 
    <li><p>Let <var title="">cues</var> be an empty list of <a href="#timed-track-cue" title="timed track cue">timed track cues</a>.</li>
 
@@ -63632,10 +63670,10 @@
      <li><p>If the <a href="#timed-track-cue-writing-direction">timed track cue writing direction</a> is
      <a href="#timed-track-cue-horizontal-writing-direction" title="timed track cue horizontal writing
      direction">horizontal</a>, then let <var title="">width</var>
-     be '<var title="">size</var>vw' and <var title="">height</var> be
-     'auto'. Otherwise, let <var title="">width</var> be 'auto' and
-     <var title="">height</var> be '<var title="">size</var>vh'. (These are CSS values used by the next
-     section to set CSS properties for the rendering.)</li>
+     be '<var title="">size</var>&thinsp;vw' and <var title="">height</var> be 'auto'. Otherwise, let <var title="">width</var> be 'auto' and <var title="">height</var> be
+     '<var title="">size</var>&thinsp;vh'. (These are CSS values used
+     by the next section to set CSS properties for the rendering; 'vw'
+     and 'vh' are CSS units.) <a href="#refsCSSVALUES">[CSSVALUES]</a></li>
 
      <li>
 
@@ -63739,9 +63777,10 @@
 
       </dl></li>
 
-     <li><p>Let <var title="">left</var> be '<var title="">x-position</var>vw' and <var title="">top</var> be '<var title="">y-position</var>vh'. (These again are CSS values used by
-     the next section to set CSS properties for the
-     rendering.)</li>
+     <li><p>Let <var title="">left</var> be '<var title="">x-position</var>&thinsp;vw' and <var title="">top</var>
+     be '<var title="">y-position</var>&thinsp;vh'. (These again are
+     CSS values used by the next section to set CSS properties for the
+     rendering; 'vw' and 'vh' are CSS units.) <a href="#refsCSSVALUES">[CSSVALUES]</a></li>
 
      <li>
 
@@ -63749,20 +63788,21 @@
       obtaining a set of CSS boxes positioned relative to an initial
       containing block: <a href="#refsCSS">[CSS]</a></p>
 
-      <ul><li>The <i>document tree</i> is the tree of <span title="WebSRT
-       Node Object">WebSRT Node Objects</span> rooted at <var title="">nodes</var>.</li>
+      <ul><li><p>The <i>document tree</i> is the tree of <span title="WebSRT Node Object">WebSRT Node Objects</span> rooted at
+       <var title="">nodes</var>.</li>
 
-       <li>For the purposes of processing by the CSS specification,
+       <li><p>For the purposes of processing by the CSS specification,
        <span title="WebSRT Internal Node Object">WebSRT Internal Node
        Objects</span> are equivalent to elements with the same
-       contents. The name of these elements is not explicitly
-       specified. These elements have no attributes.</li>
+       contents.</li>
 
        <li>For the purposes of processing by the CSS
        specification, <span title="WebSRT Text Object">WebSRT Text
        Objects</span> are equivalent to text nodes.</li>
 
-       <li>No style sheets are associated with <var title="">nodes</var>.</li>
+       <li>No style sheets are associated with <var title="">nodes</var>. (The nodes are subsequently restyled
+       using style sheets after their boxes are generated, as
+       described below.)</li>
 
        <li>The children of the <var title="">nodes</var> must be
        wrapped in an anonymous box whose 'display' property has the
@@ -64084,7 +64124,7 @@
   text rendering rules</a>, <span title="WebSRT Node Object">WebSRT
   Node Objects</span> in the <span>list of WebSRT Node Objects</span>
   used in the rendering can be matched by certain pseudo-selectors as
-  defined below. These selector can begin or stop matching individual
+  defined below. These selectors can begin or stop matching individual
   <span title="WebSRT Node Object">WebSRT Node Objects</span> while a
   <a href="#timed-track-cue" title="timed track cue">cue</a> is being rendered, even in
   between applications of the <a href="#websrt-cue-text-rendering-rules">WebSRT cue text rendering
@@ -64103,22 +64143,24 @@
   <code><a href="#video">video</a></code> element, the pseudo-elements defined below won't
   have any effect according to this specification.</p>
 
+  <p>A CSS user agent that implements the <a href="#timed-track" title="timed
+  track">timed tracks</a> model must implement the '::cue' and
+  '::cue(<var title="">selector</var>)' pseudo-elements, and the
+  ':past' and ':future' pseudo-classes.</p>
 
-  <h6 id="the-::cue-pseudo-element"><span class="secno">10.3.2.3.1 </span>The '::cue' pseudo-element</h6>
 
-  <p>A CSS user agent that implemented the <a href="#timed-track" title="timed
-  track">timed tracks</a> model must implement the '::cue'
-  pseudo-element.</p>
+  <h6 id="the-::cue-pseudo-element"><span class="secno">10.3.2.3.1 </span>The '::cue' pseudo-element</h6>
 
-  <p>The '<dfn id="pseudo-cue" title="pseudo-cue">::cue</dfn>' pseudo-element matches
-  any <span>List of WebSRT Node Objects</span> constructed for the
-  <i>matched element</i>, with the exception that the properties
-  corresponding to the 'background' shorthand must be applied to the
-  <a href="#websrt-cue-background-box">WebSRT cue background box</a> rather than the <span>List of
-  WebSRT Node Objects</span>.</p>
+  <p>The '<dfn id="pseudo-cue" title="pseudo-cue">::cue</dfn>' pseudo-element (with no
+  argument) matches any <span>List of WebSRT Node Objects</span>
+  constructed for the <i>matched element</i>, with the exception that
+  the properties corresponding to the 'background' shorthand must be
+  applied to the <a href="#websrt-cue-background-box">WebSRT cue background box</a> rather than
+  the <span>List of WebSRT Node Objects</span>.</p>
 
-  <p>The following properties apply to the '::cue' pseudo-element;
-  other properties set on the pseudo-element must be ignored:</p>
+  <p>The following properties apply to the '::cue' pseudo-element with
+  no argument; other properties set on the pseudo-element must be
+  ignored:</p>
 
   <ul class="brief"><li>'color'</li>
    <li>'text-shadow'</li>
@@ -64134,138 +64176,75 @@
           min-height, max-width, min-width, orphans, overflow,
           page-break-*, text-align, unicode-bidi, widows, z-index
    -->
-  </ul><h6 id="the-::cue-part-pseudo-element"><span class="secno">10.3.2.3.2 </span>The '::cue-part' pseudo-element</h6>
-
-  <p>A CSS user agent that implemented the <a href="#timed-track" title="timed
-  track">timed tracks</a> model must implement the '::cue-part(<var title="">filter</var>)' pseudo-element.</p>
-
-  <p>The '<dfn id="pseudo-cue-part" title="pseudo-cue-part">::cue-part(<var title="">argument</var>)</dfn>' pseudo-element matches any
-  <span>WebSRT Node Object</span> constructed for the <i>matched
-  element</i> that matches the given <var title="">argument</var>.</p>
-
-  <p>The <var title="">argument</var> must match the syntax
-  "&lt;voice&gt;&nbsp;||&nbsp;&lt;part&gt;&nbsp;||&nbsp;&lt;position&gt;&nbsp;||&nbsp;&lt;future-compatibility&gt;". <a href="#refsCSS">[CSS]</a></p>
-  
-  <p>The "&lt;voice&gt;" component must be either a non-negative
-  &lt;integer&gt; or one of the keywords "<code title="pseudo-cue-part-narrator"><a href="#pseudo-cue-part-narrator">narrator</a></code>", "<code title="pseudo-cue-part-music"><a href="#pseudo-cue-part-music">music</a></code>", "<code title="pseudo-cue-part-lyric"><a href="#pseudo-cue-part-lyric">lyric</a></code>", "<code title="pseudo-cue-part-sound"><a href="#pseudo-cue-part-sound">sound</a></code>", "<code title="pseudo-cue-part-comment"><a href="#pseudo-cue-part-comment">comment</a></code>", or "<code title="pseudo-cue-part-credit"><a href="#pseudo-cue-part-credit">credit</a></code>".</p>
-
-  <p>The "&lt;part&gt;" component must be one of the keywords "<code title="pseudo-cue-part-i"><a href="#pseudo-cue-part-i">i</a></code>", "<code title="pseudo-cue-part-b"><a href="#pseudo-cue-part-b">b</a></code>", "<code title="pseudo-cue-part-ruby"><a href="#pseudo-cue-part-ruby">ruby</a></code>", or "<code title="pseudo-cue-part-rt"><a href="#pseudo-cue-part-rt">rt</a></code>".</p>
-
-  <p>The "&lt;position&gt;" component must be one of the keywords "<code title="pseudo-cue-part-past"><a href="#pseudo-cue-part-past">past</a></code>" or "<code title="pseudo-cue-part-future"><a href="#pseudo-cue-part-future">future</a></code>".</p>
-
-  <p>The "&lt;future-compatibility&gt;" component can be any
-  identifier.</p>
+  </ul><p>The '<dfn id="pseudo-cue-selector" title="pseudo-cue-selector">::cue(<var title="">selector</var>)</dfn>' pseudo-element with an argument must
+  have an argument that consists of a group of selectors. It matches
+  any <span>WebSRT Internal Node Object</span> constructed for the
+  <i>matched element</i> that also matches the given group of
+  selectors, with the nodes being treated as follows:</p>
 
-  <p>Each component of <var title="">argument</var> restricts which
-  <span title="WebSRT Node Object">WebSRT Node Objects</span> are
-  matched by the pseudo-element, as follows:</p>
+  <ul><li><p>The <i>document tree</i> against which the selectors are
+   matched is the tree of <span title="WebSRT Node Object">WebSRT Node
+   Objects</span> rooted at the <span>list of WebSRT Node
+   Objects</span> for the cue.</li>
 
-  <dl><dt>An integer greater than or equal to zero</dt>
-   <dd>
-    <p>Restricts the pseudo-element to only matching <span title="WebSRT Node Object">WebSRT Node Objects</span> from <a href="#timed-track-cue" title="timed track cue">timed track cues</a> whose <a href="#timed-track-cue-voice-identifier">timed
-    track cue voice identifier</a> is the given number expressed in
-    base ten with digits in the range U+0030 DIGIT ZERO (0) to U+0039
-    DIGIT NINE (9).</p>
-   </dd>
+   <li><p><span title="WebSRT Internal Node Object">WebSRT Internal
+   Node Objects</span> are elements in the tree.</li>
 
-   <dt><dfn id="pseudo-cue-part-narrator" title="pseudo-cue-part-narrator"><code>narrator</code></dfn></dt>
-   <dd>
-    <p>Restricts the pseudo-element to only matching <span title="WebSRT Node Object">WebSRT Node Objects</span> from <a href="#timed-track-cue" title="timed track cue">timed track cues</a> whose <a href="#timed-track-cue-voice-identifier">timed
-    track cue voice identifier</a> is "<code title="timed track cue
-    narrator voice">narrator</code>".</p>
-   </dd>
+   <li><span title="WebSRT Leaf Node Object">WebSRT Leaf Node
+   Objects</span> cannot be matched.</li>
 
-   <dt><dfn id="pseudo-cue-part-music" title="pseudo-cue-part-music"><code>music</code></dfn></dt>
-   <dd>
-    <p>Restricts the pseudo-element to only matching <span title="WebSRT Node Object">WebSRT Node Objects</span> from <a href="#timed-track-cue" title="timed track cue">timed track cues</a> whose <a href="#timed-track-cue-voice-identifier">timed
-    track cue voice identifier</a> is "<code title="timed track cue
-    music voice">music</code>".</p>
-   </dd>
+   <li>
 
-   <dt><dfn id="pseudo-cue-part-lyric" title="pseudo-cue-part-lyric"><code>lyric</code></dfn></dt>
-   <dd>
-    <p>Restricts the pseudo-element to only matching <span title="WebSRT Node Object">WebSRT Node Objects</span> from <a href="#timed-track-cue" title="timed track cue">timed track cues</a> whose <a href="#timed-track-cue-voice-identifier">timed
-    track cue voice identifier</a> is "<code title="timed track cue
-    lyric voice">lyric</code>".</p>
-   </dd>
+    <p>For the purposes of element type selectors, the names of <span title="WebSRT Internal Node Object">WebSRT Internal Node
+    Objects</span> are as given by the following table, where objects
+    having the concrete class given in a cell in the first column have
+    the name given by the second column of the same row:</p>
 
-   <dt><dfn id="pseudo-cue-part-sound" title="pseudo-cue-part-sound"><code>sound</code></dfn></dt>
-   <dd>
-    <p>Restricts the pseudo-element to only matching <span title="WebSRT Node Object">WebSRT Node Objects</span> from <a href="#timed-track-cue" title="timed track cue">timed track cues</a> whose <a href="#timed-track-cue-voice-identifier">timed
-    track cue voice identifier</a> is "<code title="timed track cue
-    sound voice">sound</code>".</p>
-   </dd>
+    <table><thead><tr><th>Concrete class
+       <th>Name
 
-   <dt><dfn id="pseudo-cue-part-comment" title="pseudo-cue-part-comment"><code>comment</code></dfn></dt>
-   <dd>
-    <p>Restricts the pseudo-element to only matching <span title="WebSRT Node Object">WebSRT Node Objects</span> from <a href="#timed-track-cue" title="timed track cue">timed track cues</a> whose <a href="#timed-track-cue-voice-identifier">timed
-    track cue voice identifier</a> is "<code title="timed track cue
-    comment voice">comment</code>".</p>
-   </dd>
+     <tbody><tr><td><span title="WebSRT Class Object">WebSRT Class Objects</span>
+       <td><code title="">c</code>
 
-   <dt><dfn id="pseudo-cue-part-credit" title="pseudo-cue-part-credit"><code>credit</code></dfn></dt>
-   <dd>
-    <p>Restricts the pseudo-element to only matching <span title="WebSRT Node Object">WebSRT Node Objects</span> from <a href="#timed-track-cue" title="timed track cue">timed track cues</a> whose <a href="#timed-track-cue-voice-identifier">timed
-    track cue voice identifier</a> is "<code title="timed track cue
-    credit voice">credit</code>".</p>
-   </dd>
+      <tr><td><span title="WebSRT Italic Object">WebSRT Italic Objects</span>
+       <td><code title="">i</code>
 
-   <dt><dfn id="pseudo-cue-part-i" title="pseudo-cue-part-i"><code>i</code></dfn></dt>
-   <dd>
-    <p>Restricts the pseudo-element to only matching <span title="WebSRT Italic Object">WebSRT Italic Objects</span>.</p>
-   </dd>
+      <tr><td><span title="WebSRT Bold Object">WebSRT Bold Objects</span>
+       <td><code title="">b</code>
 
-   <dt><dfn id="pseudo-cue-part-b" title="pseudo-cue-part-b"><code>b</code></dfn></dt>
-   <dd>
-    <p>Restricts the pseudo-element to only matching <span title="WebSRT Bold Object">WebSRT Bold Objects</span>.</p>
-   </dd>
+      <tr><td><span title="WebSRT Ruby Object">WebSRT Ruby Objects</span>
+       <td><code title="">ruby</code>
 
-   <dt><dfn id="pseudo-cue-part-ruby" title="pseudo-cue-part-ruby"><code>ruby</code></dfn></dt>
-   <dd>
-    <p>Restricts the pseudo-element to only matching <span title="WebSRT Ruby Object">WebSRT Ruby Objects</span>.</p>
-   </dd>
+      <tr><td><span title="WebSRT Ruby Text Object">WebSRT Ruby Text Objects</span>
+       <td><code title="">rt</code>
 
-   <dt><dfn id="pseudo-cue-part-rt" title="pseudo-cue-part-rt"><code>rt</code></dfn></dt>
-   <dd>
-    <p>Restricts the pseudo-element to only matching <span title="WebSRT Ruby Text Object">WebSRT Ruby Text Objects</span>.</p>
-   </dd>
+      <tr><td><span title="WebSRT Voice Object">WebSRT Voice Objects</span>
+       <td><code title="">v</code>
 
-   <dt><dfn id="pseudo-cue-part-past" title="pseudo-cue-part-past"><code>past</code></dfn></dt>
-   <dd>
-    <p>Restricts the pseudo-element to only matching <span title="WebSRT Node Object">WebSRT Node Objects</span> that are <i><a href="#in-the-past">in the past</a></i>.</p>
-   </dd>
+      <tr><td>Other elements (specifically, <span title="List of WebSRT Node Objects">Lists of WebSRT Node Objects</span>)
+       <td>No explicit name.
 
-   <dt><dfn id="pseudo-cue-part-future" title="pseudo-cue-part-future"><code>future</code></dfn></dt>
-   <dd>
-    <p>Restricts the pseudo-element to only matching <span title="WebSRT Node Object">WebSRT Node Objects</span> that are <i><a href="#in-the-future">in the future</a></i>.</p>
-   </dd>
+    </table></li>
 
-   <dt>Any other identifier</dt>
-   <dd>
-    <p>Restricts the pseudo-element to not matching any <span title="WebSRT Node Object">WebSRT Node Objects</span>.</p>
-    <p class="note">This is intended to allow for future extensions
-    while still allowing Selectors to include a mixture of old and new
-    '::cue-part()' pseudo-elements.</p>
-   </dd>
+   <li><p>For the purposes of element type and universal selectors,
+   <span title="WebSRT Internal Node Object">WebSRT Internal Node
+   Objects</span> are considered as being in the namespace expressed
+   as the empty string.</li>
 
-  </dl><p>A <span>WebSRT Node Object</span> <var title="">c</var> is
-  <dfn id="in-the-past">in the past</dfn> if, in a pre-order, depth-first traversal of
-  the <a href="#timed-track-cue">timed track cue</a>'s <span>List of WebSRT Node
-  Objects</span>, there exists a <span>WebSRT Timestamp Object</span>
-  whose value is less than the <a href="#current-playback-position">current playback position</a>
-  of the <a href="#media-element">media element</a> that is the <i>matched
-  element</i>, entirely after the <span>WebSRT Node Object</span> <var title="">c</var>.</p>
+   <li><p>For the purposes of attribute selector matching, <span title="WebSRT Internal Node Object">WebSRT Internal Node
+   Objects</span> have no attributes, except for <span title="WebSRT Voice Object">WebSRT Voice Objects</span>, which
+   have a single attribute named "<code title="">voice</code>"
+   whose value is the value of the <span>WebSRT Voice
+   Object</span>.</li>
 
-  <p>A <span>WebSRT Node Object</span> <var title="">c</var> is
-  <dfn id="in-the-future">in the future</dfn> if, in a pre-order, depth-first traversal
-  of the <a href="#timed-track-cue">timed track cue</a>'s <span>List of WebSRT Node
-  Objects</span>, there exists a <span>WebSRT Timestamp Object</span>
-  whose value is greater than the <a href="#current-playback-position">current playback
-  position</a> of the <a href="#media-element">media element</a> that is the
-  <i>matched element</i>, entirely before the <span>WebSRT Node
-  Object</span> <var title="">c</var>.</p>
+   <li><p>For the purposes of class selector matching, <span title="WebSRT Internal Node Object">WebSRT Internal Node
+   Objects</span> have the classes described as the <span>WebSRT
+   Node Object's applicable classes</span>.</li> <!-- ok, this
+   isn't especially well-defined, but the Selectors spec doesn't
+   really give one much to go on here. -->
 
-  <p>The following properties apply to the '::cue-part(<var title="">filter</var>)' pseudo-element:</p>
+  </ul><p>The following properties apply to the '::cue()' pseudo-element
+  with an argument:</p>
 
   <ul class="brief"><li>'color'</li>
    <li>'text-shadow'</li>
@@ -64281,8 +64260,9 @@
    segment when the segment becomes "past", and having the change
    propagate towards the end of the segment so that it reaches the end
    of the segment when the next segment becomes "past".
-  --><p>The following properties apply to the '::cue-part(<var title="">filter</var>)' pseudo-element if the neither of the <code title="pseudo-cue-part-past"><a href="#pseudo-cue-part-past">past</a></code> or <code title="pseudo-cue-part-future"><a href="#pseudo-cue-part-future">future</a></code> keywords are
-  present:</p>
+  --><p>The following properties apply to the '::cue()' pseudo-element
+  with an argument when the selector does not contain the ':past' and
+  ':future' pseudo-classes:</p>
 
   <ul class="brief"><li>the properties corresponding to the 'font' shorthand, including 'line-height'</li>
    <!-- add more... -->
@@ -64293,13 +64273,42 @@
           min-height, max-width, min-width, orphans, overflow,
           page-break-*, text-align, unicode-bidi, widows, z-index
    -->
-  </ul><p>Other properties must be ignored.</p>
+  </ul><p>Properties that do not apply must be ignored.</p>
 
   <p>As a special exception, the properties corresponding to the
   'background' shorthand, when they would have been applied to the
   <span>List of WebSRT Node Objects</span>, must instead be applied to
   the <a href="#websrt-cue-background-box">WebSRT cue background box</a>.</p>
 
+
+  <h6 id="the-:past-and-:future-pseudo-classes"><span class="secno">10.3.2.3.2 </span>The ':past' and ':future' pseudo-classes</h6>
+
+  <p>The <dfn id="past-pseudo-class" title="past-pseudo-class">':past'</dfn> and <dfn id="future-pseudo-class" title="future-pseudo-class">':future'</dfn> pseudo-classes only
+  match <span title="WebSRT Node Object">WebSRT Node Objects</span>.</p>
+
+  <p>The ':past' pseudo-class only matches <span title="WebSRT Node
+  Object">WebSRT Node Objects</span> that are <i><a href="#in-the-past">in the past</a></i>.</p>
+
+  <p>A <span>WebSRT Node Object</span> <var title="">c</var> is
+  <dfn id="in-the-past">in the past</dfn> if, in a pre-order, depth-first traversal of
+  the <a href="#timed-track-cue">timed track cue</a>'s <span>List of WebSRT Node
+  Objects</span>, there exists a <span>WebSRT Timestamp Object</span>
+  whose value is less than the <a href="#current-playback-position">current playback position</a>
+  of the <a href="#media-element">media element</a> that is the <i>matched
+  element</i>, entirely after the <span>WebSRT Node Object</span> <var title="">c</var>.</p>
+
+  <p>The ':future' pseudo-class only matches <span title="WebSRT Node
+  Object">WebSRT Node Objects</span> that are <i><a href="#in-the-future">in the future</a></i>.</p>
+
+  <p>A <span>WebSRT Node Object</span> <var title="">c</var> is
+  <dfn id="in-the-future">in the future</dfn> if, in a pre-order, depth-first traversal
+  of the <a href="#timed-track-cue">timed track cue</a>'s <span>List of WebSRT Node
+  Objects</span>, there exists a <span>WebSRT Timestamp Object</span>
+  whose value is greater than the <a href="#current-playback-position">current playback
+  position</a> of the <a href="#media-element">media element</a> that is the
+  <i>matched element</i>, entirely before the <span>WebSRT Node
+  Object</span> <var title="">c</var>.</p>
+
   </div><!--</div>--><!--KEEP-START w3c-html--><!--TT--><div class="impl">
 
   <h4 id="images"><span class="secno">10.3.3 </span>Images</h4>
@@ -68492,6 +68501,7 @@
          <code><a href="#video">video</a></code></td>
      <td>empty</td>
      <td><a href="#global-attributes" title="global attributes">globals</a>;
+         <code title="attr-track-default"><a href="#attr-track-default">default</a></code>;
          <code title="attr-track-kind"><a href="#attr-track-kind">kind</a></code>;
          <code title="attr-track-label"><a href="#attr-track-label">label</a></code>;
          <code title="attr-track-src"><a href="#attr-track-src">src</a></code>;
@@ -68969,6 +68979,10 @@
      <td> <code title="attr-time-datetime"><a href="#attr-time-datetime">time</a></code>
      <td> Value of the element
      <td> <a href="#valid-date-or-time-string">Valid date or time string</a>*
+    <tr><th> <code title="">default</code>
+     <td> <code title="attr-track-default"><a href="#attr-track-default">track</a></code>
+     <td> Enable the track if no other <a href="#timed-track">timed track</a> is more suitable.
+     <td> <a href="#boolean-attribute">Boolean attribute</a>
     <tr><th> <code title="">defer</code>
      <td> <code title="attr-script-defer"><a href="#attr-script-defer">script</a></code>
      <td> Defer script execution

Received on Saturday, 25 December 2010 06:28:55 UTC