Re: Agenda: HTML-A11Y Media Subteam on 1 September at 22:00Z

Sean Hayes writes:
> In advance of my presentation of TTML, I've been working on how mapping of TTML to HTML 5 might look. This is not quite finished; but illustrates a few key points that probably aren't widely understood. If we can squeeze onto the agenda today I can walk through it a bit.
> 
I think we can do that. I propose we take this up after we've worked on
John's prioritizations.


Looks like we'll be holding another packed meeting. This is excellent.
We're making good progress, imho.

Janina

> Thanks,
> Sean.
> -----Original Message-----
> From: public-html-a11y-request@w3.org [mailto:public-html-a11y-request@w3.org] On Behalf Of Janina Sajka
> Sent: 01 September 2010 00:57
> To: HTML Accessibility Task Force
> Subject: Agenda: HTML-A11Y Media Subteam on 1 September at 22:00Z
> 
> * Time of day conversions
> 
> You can check for the correct time of this meeting in your time zone using the Fixed Time Clock at:
> 
> http://www.timeanddate.com/worldclock/fixedtime.html?month=9&day=1&year=2010&hour=22&min=0&sec=0&p1=0
> 
> ** preliminary agenda for HTML-A11Y Media Subteam Telecon 1 September 2010
> 
> Meeting: HTML-A11Y telecon
> Chair: Janina_Sajka
> agenda: this
> agenda+ Identify Scribe
> agenda+ Actions Review http://www.w3.org/WAI/PF/HTML/track/actions/open
> agenda+ User Requirements: Status; Intro at HTML-WG Telecon Thursday
> agenda+ Proof of Concept Demos; Extended Descriptions from NCAM
> agenda+ Technical Requirements Prioritizations and Dependencies  
> agenda+Candidate Technologies: WebSRT; WMML; TTML; SMIL3; Etc.
> agenda+ next meeting
> agenda+ be done
> 
> ** Resource: Previous Teleconference Minutes
> Media Subteam: http://www.w3.org/2010/08/25-html-a11y-minutes.html
> 
> ** Resource: Key Task Force URIs
> Task Force Wiki: http://www.w3.org/WAI/PF/HTML/wiki/Main_Page
> User Requirements: http://www.w3.org/WAI/PF/HTML/wiki/Media_Accessibility_Requirements
> Consensus Procedures: http://www.w3.org/WAI/PF/HTML/consensus-procedures
> Work Statement:  http://www.w3.org/WAI/PF/html-task-force.html
> 
> ** conference infrastructure access information a.k.a. dial-in  instructions
> 
> Reference: http://www.w3.org/Guide/1998/08/teleconference-calendar.html#s_273
> 
> 2010-09-01, 22:00Z (for 90 minutes)
> Dial the Zakim bridge at one of the following three telephone numbers:
> +1.617.761.6200 (This is a U.S. number).
> +33.4.26.46.79.03 (This is a French number)
> +44.203.318.0479 (This is a UK number)
> You should be prompted for a pass code,
> this is
> 2119#
> (A11Y#)
> 
> IRC: server: irc.w3.org, port: 6665, channel: #html-a11y.
> 
> During the conference you can manage your participation with Zakim commands as follows:
>    61# to mute yourself
>    60# to unMute yourself
>    41# to raise your hand (enter speaking queue)
>    40# to lower your hand (exit speaking queue)
> 
> The system acknowledges these commands with a rapid, three-tone confirmation.  Mobile phone users especially should use the mute function if they don't have a mute function in their phone.  But the hand-raising function is a good idea for anyone not using IRC.
> 
> * IRC access
> 
>      There will also be an IRC channel available. The server is irc.w3.org,
>      the port number is 6665 (note this is not the normal default) and the channel is #html-a11y.
> 
> * Gregory Rosmaita's scribing and participation tips http://www.w3.org/WAI/PF/wiki/Teleconference_cheat_sheet
> 
> For more on the IRC setup and the robots we use for agenda and speaker queuing and for posting the log to the web, see:
> 
> - for RRSAgent, that captures and posts the log with special attention to action items:
> http://www.w3.org/2002/03/RRSAgent
> 
> - for Zakim, the IRC interface to the bridge manager, that will maintain speaker and agenda queues:
> http://www.w3.org/2001/12/zakim-irc-bot
> 
> - for a Web gateway to IRC you can use if your network administrators forbid IRC, see:
> http://www.w3.org/2001/01/cgi-irc
> 
> - for more on W3C use of IRC see:
> http://www.w3.org/Project/IRC/
> 
> -- 
> 
> Janina Sajka, Phone: +1.202.595.7777;
>   sip:janina@CapitalAccessibility.Com
> Partner, Capital Accessibility LLC http://CapitalAccessibility.Com
> 
> Marketing the Owasys 22C talking screenless cell phone in the U.S. and Canada Learn more at http://ScreenlessPhone.Com
> 
> Chair, Open Accessibility janina@a11y.org 
> Linux Foundation  http://a11y.org
> 
> Chair, Protocols & Formats
> Web Accessibility Initiative http://www.w3.org/wai/pf
> World Wide Web Consortium (W3C)
> 
> 

>                 Timed Text mapping to HTML5 (development draft)
> 
> Draft — 22 August 2010
> 
>    Table of contents
> 
> 1 Timed Text Markup Language (TTML) applied to HTML5
> 
>    The [1]TTML format (Timed Text Markup Language) is a W3C format
>    intended for marking up external timed track resources.
> 
>   1.1 Document format
> 
>    A TTML file referenced by an HTML5 track element must consist of a
>    [2]TTML file body and is labeled with the [3]MIME type
>    [4]application/ttml+xml.
> 
>   1.2 Display of TTML in HTML 5
> 
>    Presenting TTML in HTML 5 consists of the following steps:
>      * Compute inline style sets for the source TTML document
>      * Construct the list of event times for the source TTML document
>      * For each event time:
>           + Calculate the TTML cue object list
>           + For each TTML cue object
>                o construct the corresponding styled HTML document
>                  fragment.
>      * While media is playing:
>      * Generate the CSS blocks for the active cue objects at current media
>        playback time.
>      * Insert CSS blocks into rendered output.
> 
>     1.2.1 TTML Style resolution
> 
>    TTTML offers three mechanisms for defining the equivalent of HTML 5
>    inline style. The nested and referential styles of TTML being used to
>    avoid having large numbers of repeated attributes on each element, and
>    allow groups of styles to be applied all at once; however this is
>    merely a shorthand mechanism and is entirely equivalent to HTML 5
>    inline styles. TTML does not define an applicative mode of style
>    application itself, but does not preclude the use of a mechanism such
>    as CSS additionally being used for this purpose, where TTML style
>    application would all have the same specificity as inline style.
> 
>    The [5]Specified Style Set of properties is computed for each element:
>      * The initial specified style set for each element is set to empty
>      * Then style properties referenced by the affected element using the
>        style attribute (referential styling) are processed in the
>        following manner: For each style element referenced by a style
>        attribute on the affected element and in the order specified in
>        that style attribute; if the referenced style element is a
>        descendant of a styling element, merge the specified style set of
>        the referenced element into the specified style set of the affected
>        element.
>      * Then style properties referenced through child nodes of the
>        affected element  (nested styling) are processed in the following
>        manner: For each style element child of the affected element, and
>        in the specified order of child elements, merge the specified style
>        set of the child element, into the specified style set of the
>        affected element.
>      * Then style properties that are applies as attributes on the the
>        affected element using the style attribute (inline styling) are
>        processed in the following manner: For each style property
>        expressed as a specified styling attribute of on the affected
>        element merge that property into the specified style set of the
>        affected element.
> 
>     1.2.2 TTML cue object construction
> 
>    A set of TTML cue objects are constructed from the referenced TTML file
>    by evaluating the TTML document instance at the TTML cue event times,
>    that is, the set of time coordinates where some element becomes
>    temporally active or inactive. The TTML document instance is mapped
>    once for each time coordinate in the [6]TTML cue event times to a list
>    of TTML cue objects as defined below, each TTML cue object is then
>    converted into an HTML 5 cue object.
> 
>    Each region active at the TTML cue event time in the source TTML will
>    map to one [7]TTML cue object in the list. If there is no region
>    specified in the TTML document instance, then the default region is
>    used, and there will be at most one TTML cue object in the list.
> 
>     1.2.3 Evaluating the TTML cue event times
> 
>    Map the TTML source document to a set of event times by recursively
>    walking the DOM tree annotating each node with its absolute begin and
>    end times, based on the begin, end and dur attributes; and recursively
>    for each of the nodes children. The initial time containement context
>    is seq, and the initial reference start and end times are that of the
>    media to which the timed track applies.
> 
>    Compute time intervals for an element based on the time containment
>    context, a reference start time and a reference end time in the
>    following manner:
>         set computed start time and computed end time to the zero time
> 
>        Compute the beginning of the current element interval:
>           set begin to the value of the "begin" attribute if present or the zero
>  time otherwise
>           set computed start time to the reference start time + begin;
> 
>        Compute the simple duration of the interval:
>           (Note that par children have indefinite default duration, while seq ch
> ildren have
>           zero default duration. indefinite is truncated to the reference end ti
> me)
> 
>           if the "dur" attribute is set and the "end" attribute is not set and t
> he time container context is seq
>               set referenceDur to the zero time          else
>                 if computed start time is less than the reference end time
>                   set referenceDur to the reference end time - computed start ti
> me
>               else
>                   set referenceDur to the zero time
>               if the "dur" attribute is set
>                   set dur to the "dur" attribute value.
>               if dur is greater than referenceDur
>                   set dur to referenceDur;
>               else
>                   set dur to referenceDur;
> 
>           set computed end time to computed start time + dur;
> 
>           (note end can truncate the simple duration)
>           set offsetEnd to the zero time and add reference start time
> 
>           if attribute "end" is set
>               set end to reference start time + value of "end" attribute
>           else
>               set end to reference end time;
> 
>           set computed end time to the min of end and computed end time
> 
>     Compute the child nodes:
>           if the time container context is par
>               for each child element of the node:
>                   Compute Time Intervals for the child with par context, start t
> ime
>                   as computed start time and end time as computed end time
>           else
>               for each child element of the node:
>                   set s to computedStartTime
>                   Compute Time Intervals for the child with seq context, start t
> ime
>                   as s and end time as computed end time
>                   set s to the computed end time of child;
> 
> 
>    An element is temporally active at time t, if the computed start time
>    of the element is less than or equal to t, and t is less than the
>    computed end time of the element. The TTML cue event times are those
>    times where some element changes state from temporally inactive to
>    temporally active or vice versa; that is, the Set of computed begin and
>    end times in the annotated tree placed in order.
> 
>     1.2.4 Evaluating the TTML document instance at event time
> 
>    Map the TTML source document to a set of active regions at each [8]TTML
>    cue event time as follows:
>     1. For each temporally active region element replicate the sub-tree of
>        the source document headed by the body element;
>     2. Evaluating this sub-tree in a post-order traversal, prune elements
>        if they are: not a content element, if they are temporally
>        inactive, if they are empty, or if they aren't associated with the
>        current active region;
>     3. If the pruned sub-tree is non-empty, then reparent it to the
>        current active region element and add the current active region to
>        the output list.
> 
>    A content element is associated with a region according to the
>    following ordered rules, where the first rule satisfied is used and
>    remaining rules are skipped:
>     1. if the element specifies a [9]region attribute, then the element is
>        associated with the region referenced by that attribute;
>     2. if some ancestor of that element specifies a [10]region attribute,
>        then the element is associated with the region referenced by the
>        most immediate ancestor that specifies this attribute;
>     3. if the element contains a descendant element that specifies a
>        [11]region attribute, then the element is associated with the
>        region referenced by that attribute;
>     4. if a default region was implied (due to the absence of any
>        [12]region element), then the element is associated with the
>        default region;
>     5. the element is not associated with any region.
> 
>     Example
> 
>    An example of the processing steps described above is elaborated below,
>    starting with [13]Example Sample Source Document.
> 
>    CAPTION: Example Sample Source Document
> 
> <tt tts:extent="640px 480px" xml:lang="en"
>   xmlns="http://www.w3.org/ns/ttml"
>   xmlns:tts="http://www.w3.org/ns/ttml#styling">
>   <head>
>     <layout>
>       <region xml:id="r1">
>         <style tts:origin="10px 100px"/>
>         <style tts:extent="300px 96px"/>
>       </region>
>       <region xml:id="r2">
>         <style tts:origin="10px 300px"/>
>         <style tts:extent="300px 96px"/>
>       </region>
>     </layout>
>   </head>
>   <body xml:id="b1">
>     <div xml:id="d1" begin="0s" dur="2s">
>       <p xml:id="p1" region="r1">Text 1</p>
>       <p xml:id="p2" region="r2">Text 2</p>
>     </div>
>     <div xml:id="d2" begin="1s" dur="2s">
>       <p xml:id="p3" region="r2">Text 3</p>
>       <p xml:id="p4" region="r1">Text 4</p>
>     </div>
>   </body>
> </tt>
> 
>    The event times for this document are 0s, 1s, 2s and 3s. The result of
>    performing the processing described above for eah of these times will
>    be an  intermediate document containing a sequence of region elements;
>    for example at media time of 0s the following intermediate document
>    would be produced:
> 
>    CAPTION: Example Intermediate Document at 0s
> 
>           <region xml:id="r1"
>                tts:origin="10px 100px"
>                tts:extent="300px 96px" />
>                  <body xml:id="b1">
>                  <div xml:id="d1">
>                  <p xml:id="p1">Text 1</p>
>              </div>
>             </body>
>           </region>
>           <region xml:id="r2"
>                 tts:origin="10px 300px"
>                 tts:extent="620px 96px" />
>                   <body xml:id="b1">
>                   <div xml:id="d1">
>                   <p xml:id="p2">Text 2</p>
>               </div>
>             </body>
>           </region>
> 
>     1.2.5 TTML cue to HTML cue construction rules
> 
>    To support the [14]timed track model of HTML, each region element in
>    the intermediate document is converted to a [15]timed track cue with
>    the following assignments:
> 
>    The [16]timed track cue identifier
> 
>    Is set to the value of xml:id of the region used to construct the cue,
>    or "" if the default region is used.
> 
>    The [17]timed track cue pause-on-exit flag
> 
>    Is set to false unless the [18]html:pauseOnExit attribute is set
>    anywhere in the region markup.
> 
>    The [19]timed track cue writing direction
> 
>    Is set to the dominant writing direction used in the region markup if
>    that is defined. "" otherwise.
> 
>    The [20]timed track cue snap-to-lines flag
> 
>    Is set to false
> 
>    The [21]timed track cue line position
> 
>    Is made equivalent to the y part of the origin of the region if set, 0
>    otherwise.
> 
>    The [22]timed track cue text position
> 
>    Is made equivalent to the x part of the origin of the active region if
>    set, 0 otherwise.
> 
>    The [23]timed track cue size
> 
>    Is made equivalent to the x part of the extent of the active region if
>    set, 0 otherwise. (height should be set similarly)
> 
>    The [24]timed track cue alignment
> 
>    Set to zero.
> 
>    The [25]timed track cue voice identifier
> 
>    Calculate the set of ttm:role attribute values used in the region
>    markup. If it the set is a singleton set consisting of one of the
>    following values, then the value of voice identifier is mapped as
>    follows:
>      * If the role value is narration then set voice to narrator.
>      * If the role value is music then set voice to music.
>      * If the role value is lyrics then set voice to lyric.
>      * If the role value is sound then set voice to sound.
>      * If the role value is x-comment then set voice to comment.
>      * If the role value is x-credit then set voice to credit.
> 
>    If value is not mapped above, or the set is multivalued, the value of
>    voice is set to an integer; if the same set of roles is used in
>    subsequent cues, then the same number shall be re-used, otherwise the
>    number shall be unique over all cues in the track.
> 
>     1.2.6 TTML cue text DOM construction rules
> 
>    The body of the HTML5 cue is constructed from the markup of the region
>    by converting the [26]TTML Intermediate Document Object Tree into a DOM
>    tree for the [27]Document owner. User agents must create a
>    [28]DocumentFragment node for each HTML 5 cue, and populate it with a
>    tree of DOM nodes that is isomorphous to the tree of [29]TTML
>    Intermediate Document Object Tree, using the following mapping of
>    [30]TTML Intermediate Document Object to DOM nodes:
> 
>    [31]TTML Intermediate Document Object DOM node
>    [32]ttml:region element [33]HTMLElement element node with [34]localName
>    "[35]div" and the [36]namespaceURI set to the [37]HTML namespace.
>    [38]ttml:body element [39]HTMLElement element node with [40]localName
>    "[41]div" and the [42]namespaceURI set to the [43]HTML namespace.
>    [44]ttml:div element [45]HTMLElement element node with [46]localName
>    "[47]div" and the [48]namespaceURI set to the [49]HTML namespace.
>    [50]ttml:p element [51]HTMLElement element node with [52]localName
>    "[53]p" and the [54]namespaceURI set to the [55]HTML namespace.
>    [56]ttml:span element [57]HTMLElement element node with [58]localName
>    "[59]span" and the [60]namespaceURI set to the [61]HTML namespace.
>    [62]ttml:set element The [63]Specified Style Set of properties of the
>    element is merged into the The [64]Specified Style Set of properties of
>    its parent.
>    [65]ttml:br element [66]HTMLElement element node with [67]localName
>    "[68]br" and the [69]namespaceURI set to the [70]HTML namespace.
>    [71]ttml:metadata node If the TTML source domain is not the same as the
>    referencing HTML domain, then ignore. Otherwise, if the metadata
>    contains only text elements, append a "data-metadata" attribute to the
>    [72]HTMLElement element associated with the containing TTML node, whose
>    character data is the text of the metadata node, otherwise process
>    child nodes of the metadata element and add to the [73]HTMLElement
>    element associated with the containing TTML node in an [74]XML Island.
>    [75]Anonymous span text Text node whose character data is the text of
>    the anonymous span.
>    [76]Elements in non ttml namespace If the TTML source domain is the
>    same as the referencing HTML domain, then copy the nodes in their
>    existing namespace; otherwise ignore. (TBD)
> 
>    The [77]ownerDocument attribute of all nodes in the DOM tree must be
>    set to the given document owner.
> 
>    For each [78]HTMLElement in the document fragment constructed above; if
>    the [79]specified style set computed for the corresponding TTML element
>    is not empty, create a [80]CSSStyleDeclaration and add to it the styles
>    as defined by the ordered rules below, finally add the
>    [81]CSSStyleDeclaration to the [82]style attribute on the
>    [83]HTMLElement.
>     1. if the specified set contains the property [84]backgroundColor call
>        [85]setProperty with propertyName="background-color",
>        value=[86]<color value>, priority="".
>     2. if the specified set contains the property [87]tts:color, call
>        [88]setProperty with propertyName="color", value=<color value>,
>        priority="".
>     3. if the specified set contains the property [89]tts:direction, call
>        [90]setProperty with propertyName="direction", value=<direction
>        value>, priority="".
>     4. if the specified set contains the property [91]tts:display, call
>        [92]setProperty with propertyName="display", value="", priority="".
>     5. if the specified set contains the property [93]tts:displayAlign,
>        call [94]setProperty with propertyName="", value="", priority="".
>        (CSS3)
>     6. if the specified set contains the property [95]tts:extent and the
>        TTML element was region, call [96]setProperty with:
>        propertyName="width", value=<width value>, priority="" and
>        propertyName="height", value=<height value>, priority="". If extent
>        is not set and the TTML element was region (e.g. the region is the
>        default region), height and width of the div will be auto.
>     7. if the specified set contains the property [97]tts:fontFamily, call
>        [98]setProperty with propertyName="font-family", value=<font family
>        value>, priority="".
>     8. if the specified set contains the property [99]tts:fontSize, call
>        [100]setProperty with propertyName="font-size", value=<font size
>        value>, priority="".
>     9. if the specified set contains the property [101]tts:fontStyle, call
>        [102]setProperty with propertyName="font-style", value=<font style
>        value>, priority="".
>    10. if the specified set contains the property [103]tts:fontWeight,
>        call [104]setProperty with propertyName="font-weight", value=<font
>        weight value>, priority="".
>    11. if the specified set contains the property [105]tts:lineHeight,
>        call [106]setProperty with propertyName="line-height", value=<line
>        height value>, priority="".
>    12. if the specified set contains the property [107]tts:opacity and the
>        TTML element was region, call [108]setProperty with
>        propertyName="", value="", priority="" (CSS3).
>    13. if the specified set contains the property [109]tts:origin and the
>        TTML element was region, call [110]setProperty with:
>        propertyName="position", value="absolute", priority="",
>        propertyName="left", value=<left value>, priority="" and
>        propertyName="top", value=<top value>, priority="".
>    14. if the specified set contains the property [111]tts:overflow and
>        the TTML element was region, call [112]setProperty with
>        propertyName="", value="", priority="".
>    15. if the specified set contains the property [113]tts:padding and the
>        TTML element was region, call [114]setProperty with
>        propertyName="padding", value=<padding value>, priority="".
>    16. if the specified set contains the property [115]tts:showBackground
>        and the TTML element was region, then if the div has no children
>        call [116]setProperty with propertyName="background-color",
>        value="transparent", priority="".
>    17. if the specified set contains the property [117]tts:textAlign, call
>        [118]setProperty with propertyName="text-align", value=<text align
>        value>, priority="".
>    18. if the specified set contains the property [119]tts:textDecoration,
>        call [120]setProperty with propertyName="text-decoration",
>        value=<text decoration value>, priority="".
>    19. if the specified set contains the property [121]tts:textOutline,
>        call [122]setProperty with propertyName="", value="", priority=""
>        (CSS3).
>    20. if the specified set contains the property [123]tts:unicodeBidi,
>        call [124]setProperty with propertyName="unicode-bidi", value=<bidi
>        value>, priority="".
>    21. if the specified set contains the property [125]tts:visibility,
>        call [126]setProperty with propertyName="visibility",
>        value=<visibility value>, priority="".
>    22. if the specified set contains the property [127]tts:wrapOption with
>        value noWrap, call [128]setProperty with propertyName="whitespace",
>        value="nowrap", priority="". (TBD)
>    23. if the specified set contains the property [129]tts:writingMode,
>        call [130]setProperty with propertyName="writing-mode",
>        value=<writing mode value>, priority="" (CSS3).
>    24. if the specified set contains the property [131]tts:zIndex and the
>        TTML element was region, call [132]setProperty with
>        propertyName="z-index", value=<z value>, priority="".
> 
>    Map the following elements in the #metadata namespace to attributes on
>    the parent [133]HTMLElement as follows:
>     1. ttm:title : copy text content to the [134]title attribute
> 
>    Map attributes in the #metadata namespace on the TTML DOM element to
>    attributes on the [135]HTMLElement as follows:
>     1. ttm:agent : add the value of this attribute to the [136]class
>        attribute.
>     2. ttm:role : add the value of this attribute to the [137]class
>        attribute.
> 
>    Copy xml:id, xml:lang attributes if present on the TTML DOM element to
>    the [138]HTMLElement as the [139]id, and [140]lang attributes.
> 
>    The xml:space attribute on an element, if the value is 'preserve'; then
>    the content of the element should be contained within an
>    [141]HTMLElement element node with [142]localName "[143]pre" and the
>    [144]namespaceURI set to the [145]HTML namespace.
> 
>    All characteristics of the DOM nodes that are not described above or
>    dependent on characteristics defined above must be left at their
>    initial values.
> 
>    Continuing the above example, the HTML fragment equivalents for the two
>    HTML cue objects will be as follows:
> 
>    CAPTION: Example HTML Fragments Output
> 
>           <div xml:id="r1"
>                style="position:absolute; left:10px; top:100px;
>                       width:300px; height:96px" />
>                  <div xml:id="b1">
>                     <div xml:id="d1">
>                        <p xml:id="p1">Text 1</p>
>                     </div>
>                  </div>
>           </div>
> 
> 
>           <div xml:id="r2"
>                 style="position:absolute; left:10px; top:300px;
>                 width:620px; height:96px" />
>                 <div xml:id="b1">
>                    <div xml:id="d1">
>                       <p xml:id="p2">Text 2</p>
>                    </div>
>                 </div>
>           </div>
> 
> 
>       Style values
> 
>    The mapping from TTML style values into HTML 5 is as follows:
>      * color value - Convert the TTML color to its RGBA equivalent, and
>        set value to CSS rgba(R,G,B,A). [CSSCOLOR]
>      * direction value - map to like named CSS values.[CSS]
>      * display value - map none to like named CSS value, map auto to CSS
>        block if the HTML element is not span or text node, CSS inline
>        otherwise.[CSS]
>      * display align value - map .[CSS3]
>      * font family value - copy value.[CSS]
>      * font size value - cell based values must be calculated from the
>        content rectangle of the video containing CSS box and denoted as
>        CSS % metrics. Only square font sizes are converted (any second
>        size is ignored), and to like named metrics from CSS.[CSS]
>      * font style value - map to like named values from CSS.[CSS]
>      * font weight value - map to like named values from CSS.[CSS]
>      * height value - Use the second value in the extent pair, cell based
>        values must be calculated from the content rectangle of the video
>        containing CSS box and denoted as CSS % metrics.
>      * left value - Use the first value in the origin pair, cell based
>        values must be calculated from the content rectangle of the video
>        containing CSS box and denoted as CSS % metrics.
>      * line height value - map to like named values from CSS.[CSS]
>      * opacity value - map to like named values from CSS.[CSS3]
>      * overflow value - map to like named values from CSS.[CSS]
>      * padding value - map to like named values from CSS.[CSS]
>      * text align value - map left, center and right to like named values
>        from CSS. If direction is ltr, map start and end to left and right
>        respectivley, if direction is rtl map start and end to right and
>        left respectively. [CSS]
>      * text decoration value - do not map noUnderline noLineThrough or
>        noOverline; map lineThrough to line-through, otherwise map to like
>        named values from CSS.[CSS]
>      * text outline value - map to like named values from CSS3.[CSS3]
>      * top value - Use the second value in the origin pair, cell based
>        values must be calculated from the content rectangle of the video
>        containing CSS box and denoted as CSS % metrics.
>      * bidi value - map bidiOverride to bidi-override, otherwise map to
>        like named values from CSS.[CSS]
>      * visibility value - map to like named values from CSS.[CSS]
>      * width value - Use the first value in the extent pair, cell based
>        values must be calculated from the content rectangle of the video
>        containing CSS box and denoted as CSS % metrics.
>      * writing mode value - map to like named values from CSS3.[CSS3]
>      * z value - The value is added to the z value of the media element
>        that references the track in such a way that the media element
>        rendering area (including any controls) will lie immediately behind
>        the CSS boxes created for the cue elements, and the next
>        immediately higher CSS box in the HTML page will lie in front of
>        all CSS boxes created by cues.
> 
>   1.3 Rendering Rules
> 
>    Create a set of CSS boxes in relation to the rendering area of the
>    [146]media element as follows:
>     1. If the [147]media element is a playback mechanism with no rendering
>        area, abort these steps. There is nothing to render.
> 
>     2. Let video be the [148]media element or other playback mechanism
>     3. let textArea be a CSS containing block whose containing block is
>        the rendering area for video, set the writing mode (CSS3) for
>        textArea to lr-bt.
>     4. Let tracks be the subset of video's [149]list of timed tracks that
>        have as their [150]rules for updating the timed track rendering
>        these rules, and whose [151]timed track mode is [152]showing.
>     5. Let cues be an empty list of [153]timed track cues.
>     6. For each track in tracks, append to cues all the [154]cues computed
>        as above for each each [155]TTML cue event time.
>     7. For each [156]timed track cue that is [157]active, run the
>        following substeps:
>          1. Let nodes be the HTML fragment computed for the cue.
>          2. Apply the terms of the CSS specifications to nodes to obtain a
>             set  CSS boxes relative to the CSS box created for the root
>             div element in the HTML fragment, which is in turn relative to
>             textArea: [158][CSS].
>          3. Add the CSS boxes in boxes to display.
>        .
> 
>   1.4 Examples
> 
>     1.4.1 Illuminated Transcript Example
> 
>    This example places a transcript beside the video element, containing a
>    transcript; and highlights sentences in the transcript as the video
>    plays.
> 
>     1.4.1 Metadata Example
> 
> <tt xml:lang="en" xmlns="http://www.w3.org/ns/ttml">
>   <body>
>       <div>
>         <p begin="00:00:21.99" dur="00:00:24.36">
>           <metadata><![CDATA[]]>
>           {
>             slide: intro.png,
>             title: "Really Achieving Your Childhood Dreams" by Randy Pausch,
>             Carnegie Mellon University, Sept 18, 2007
>           }
>           <![CDATA[]]></metadata>
>         </p>
>       </div>
>   </body>
> </tt>
> 
>    Converted HTML fragment equivalent at time = 00:00:21:99
> <div>
>  <div>
>   <p data-metadata="{
>      slide: intro.png,
>      title: "Really Achieving Your Childhood Dreams" by Randy Pausch,
>      Carnegie Mellon University, Sept 18, 2007
>    }" />
>  </div>
> </div>
> 
>   1.4.2 SVG Object embedding
> 
> <tt xml:lang="en" xmlns="http://www.w3.org/ns/ttml">
>  <body>
>   <div>
>    <p begin="00:00:21.99" dur="00:00:24.36">
>       This picture:
>       <svg:svg xmlns:svg="http://www.w3.org/2001/XMLSchema-instance">
>       <rect></rect>
>     </svg:svg>
>    </p>
>   </div>
>  </body>
> </tt>
> 
>    Converted HTML fragment equivalent at time = 00:00:21:99
> <div>
>  <div>
>   <p>
>    This picture:
>    <svg:svg xmlns:svg="http://www.w3.org/2001/XMLSchema-instance">
>      <rect></rect>
>    </svg:svg>
>   </p>
>  </div>
> </div>
> 
>   1.4.2 Ruby
> 
> <?xml version="1.0" encoding="utf-8" ?>
> <tt xml:lang="en" xmlns="[159]http://www.w3.org/2006/10/ttaf1" xmlns:tts="[160]h
> ttp://www.w3.org/2006/10/ttaf1#style" xmlns:ttm="[161]http://www.w3.org/2006/10/
> ttaf1#metadata">
>  <head>
>   <metadata>
>     <ttm:title>Ruby</ttm:title>
>     <ttm:desc>Example of how to apply ruby using HTML 5</ttm:desc>
>     <ttm:copyright>Copyright (C) 2007 W3C (MIT, ERIM, Keio). All Rights Reserved
> .</ttm:copyright>
>   </metadata>
>   <styling>
>     <style xml:id="base" tts:color="blue" tts:fontSize="14px" tts:fontFamily="MS
>  Gothic" tts:textAlign="center" />
>     <style xml:id="textStyle" style="base" tts:fontSize="32px" />
>   </styling>
>   <layout>
>    <region xml:id="r1" tts:origin="0px 30px" tts:extent="440px 32px" />
>   </layout>
>  </head>
>  <body >
>   <div>
>    <p region="r1" style="textStyle">
>       頭を<ruby xmlns="[162]http://www.w3.org/TR/ruby">
>       <rb>股</rb>
>       <rt>また</rt>
>     </ruby>に突つ込んで祈るわ
>    </p>
>   </div>
>  </body>
> </tt>
> 
>    Converted HTML fragment equivalent:
> 
>    CAPTION: HTML Fragment
> 
> 
> <div xml:id="r1"
>      style="position: absolute; left: 0px; top: 30px;
>             width: 440px; height: 32px;">
>  <div>
>   <div>
>    <p style="font-size: 32px; color: blue;
>              font-family: 'MS Gothic';
>              text-align: center">
>      頭を<ruby>
>      <rt>また</rt>
>      <rb>股</rb>
>     </ruby>に突つ込んで祈るわ
>    </p>
>   </div>
>  </div>
> </div>
> 
>   1.5 HTML5 TTML Profile
> 
>     1.5.1 Additional attributes
> 
>    html:pauseOnExit - this attribute in the [163]HTML namespace if
>    specified on a TTML element, is mapped to the HTML 5 cue attribute of
>    the same name. It causes the media progress to halt when the media
>    playback position is most nearly equal to the event time that the
>    element containing the attribute becomes active. It takes any string
>    value (or none?) the value is ignored, any number of such attributes
>    may be present in a TTML cue. If no such attribute is present then the
>    value mapped on the cue is false, otherwise it is true.
> 
> References
> 
>    1. http://www.w3.org/TR/ttaf1-dfxp/
>    2. http://www.w3.org/TR/ttaf1-dfxp/
>    3. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html#mime-type
>    4. http://www.w3.org/TR/ttaf1-dfxp#media-type-registration
>    5. http://www.w3.org/TR/ttaf1-dfxp/semantics-style-resolution-processing-sss
>    6. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html#ttml-cue-event-times
>    7. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html#ttml-cue
>    8. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>    9. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html#layout-attribute-region
>   10. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html#layout-attribute-region
>   11. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html#layout-attribute-region
>   12. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html#layout-vocabulary-region
>   13. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html#region-mapping-example-1-s
>   14. file://localhost/tmp/html5#timed-track
>   15. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html#timed-track-cue
>   16. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html#timed-track-cue-identifier
>   17. file://localhost/tmp/html5#timed-track-cue-pause-on-exit-flag
>   18. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html#pause-on-exit-flag
>   19. file://localhost/tmp/html5#timed-track-cue-writing-direction
>   20. file://localhost/tmp/html5#timed-track-cue-snap-to-lines-flag
>   21. file://localhost/tmp/html5#timed-track-cue-line-position
>   22. file://localhost/tmp/html5#timed-track-cue-text-position
>   23. file://localhost/tmp/html5#timed-track-cue-size
>   24. file://localhost/tmp/html5#timed-track-cue-alignment
>   25. file://localhost/tmp/html5#timed-track-cue-voice-identifier
>   26. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html#ttml-intermediate-object
>   27. file://localhost/tmp/html5/infrastructure.html#document
>   28. file://localhost/tmp/html5/infrastructure.html#documentfragment
>   29. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html#ttml-intermediate-object
>   30. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html#ttml-intermediate-object
>   31. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html#ttml-intermediate-object
>   32. http://www.w3.org/TR/ttaf1-dfxp/#content-vocabulary-region
>   33. file://localhost/tmp/html5/elements.html#htmlelement
>   34. file://localhost/tmp/html5/infrastructure.html#dom-node-localname
>   35. file://localhost/tmp/html5/text-level-semantics.html#the-div-element
>   36. file://localhost/tmp/html5/infrastructure.html#dom-node-namespaceuri
>   37. file://localhost/tmp/html5/urls.html#html-namespace-0
>   38. http://www.w3.org/TR/ttaf1-dfxp/#content-vocabulary-body
>   39. file://localhost/tmp/html5/elements.html#htmlelement
>   40. file://localhost/tmp/html5/infrastructure.html#dom-node-localname
>   41. file://localhost/tmp/html5/text-level-semantics.html#the-div-element
>   42. file://localhost/tmp/html5/infrastructure.html#dom-node-namespaceuri
>   43. file://localhost/tmp/html5/urls.html#html-namespace-0
>   44. http://www.w3.org/TR/ttaf1-dfxp/#content-vocabulary-div
>   45. file://localhost/tmp/html5/elements.html#htmlelement
>   46. file://localhost/tmp/html5/infrastructure.html#dom-node-localname
>   47. file://localhost/tmp/html5/text-level-semantics.html#the-div-element
>   48. file://localhost/tmp/html5/infrastructure.html#dom-node-namespaceuri
>   49. file://localhost/tmp/html5/urls.html#html-namespace-0
>   50. http://www.w3.org/TR/ttaf1-dfxp/#content-vocabulary-p
>   51. file://localhost/tmp/html5/elements.html#htmlelement
>   52. file://localhost/tmp/html5/infrastructure.html#dom-node-localname
>   53. file://localhost/tmp/html5/text-level-semantics.html#the-div-element
>   54. file://localhost/tmp/html5/infrastructure.html#dom-node-namespaceuri
>   55. file://localhost/tmp/html5/urls.html#html-namespace-0
>   56. http://www.w3.org/TR/ttaf1-dfxp/#content-vocabulary-span
>   57. file://localhost/tmp/html5/elements.html#htmlelement
>   58. file://localhost/tmp/html5/infrastructure.html#dom-node-localname
>   59. file://localhost/tmp/html5/text-level-semantics.html#the-div-element
>   60. file://localhost/tmp/html5/infrastructure.html#dom-node-namespaceuri
>   61. file://localhost/tmp/html5/urls.html#html-namespace-0
>   62. http://www.w3.org/TR/ttaf1-dfxp/#animation-vocabulary-set
>   63. http://www.w3.org/TR/ttaf1-dfxp/semantics-style-resolution-processing-sss
>   64. http://www.w3.org/TR/ttaf1-dfxp/semantics-style-resolution-processing-sss
>   65. http://www.w3.org/TR/ttaf1-dfxp/#content-vocabulary-br
>   66. file://localhost/tmp/html5/elements.html#htmlelement
>   67. file://localhost/tmp/html5/infrastructure.html#dom-node-localname
>   68. file://localhost/tmp/html5/text-level-semantics.html#the-div-element
>   69. file://localhost/tmp/html5/infrastructure.html#dom-node-namespaceuri
>   70. file://localhost/tmp/html5/urls.html#html-namespace-0
>   71. http://www.w3.org/TR/ttaf1-dfxp/#metadata-vocabulary-metadata
>   72. file://localhost/tmp/html5/elements.html#htmlelement
>   73. file://localhost/tmp/html5/elements.html#htmlelement
>   74. file://localhost/tmp/html5/
>   75. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>   76. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html#non ttml namespace element
>   77. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>   78. file://localhost/tmp/html5/elements.html#htmlelement
>   79. http://www.w3.org/TR/ttaf1-dfxp/#semantics-style-resolution-processing
>   80. http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration
>   81. http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration
>   82. file://localhost/tmp/html5/elements.html#dom-style
>   83. file://localhost/tmp/html5/elements.html#htmlelement
>   84. http://www.w3.org/TR/ttaf1-dfxp/#style-attribute-backgroundColor
>   85. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>   86. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html#color-value
>   87. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>   88. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>   89. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>   90. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>   91. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>   92. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>   93. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>   94. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>   95. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>   96. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>   97. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>   98. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>   99. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  100. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  101. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  102. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  103. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  104. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  105. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  106. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  107. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  108. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  109. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  110. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  111. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  112. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  113. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  114. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  115. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  116. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  117. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  118. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  119. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  120. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  121. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  122. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  123. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  124. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  125. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  126. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  127. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  128. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  129. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  130. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  131. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  132. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  133. file://localhost/tmp/html5/elements.html#htmlelement
>  134. file://localhost/tmp/html5/elements.html#the-title-attribute
>  135. file://localhost/tmp/html5/elements.html#htmlelement
>  136. file://localhost/tmp/html5/elements.html#dom-classes
>  137. file://localhost/tmp/html5/elements.html#dom-classes
>  138. file://localhost/tmp/html5/elements.html#htmlelement
>  139. file://localhost/tmp/html5/elements.html#dom-id
>  140. file://localhost/tmp/html5/elements.html#dom-lang
>  141. file://localhost/tmp/html5/elements.html#htmlelement
>  142. file://localhost/tmp/html5/infrastructure.html#dom-node-localname
>  143. file://localhost/tmp/html5/text-level-semantics.html#the-div-element
>  144. file://localhost/tmp/html5/infrastructure.html#dom-node-namespaceuri
>  145. file://localhost/tmp/html5/urls.html#html-namespace-0
>  146. file://localhost/tmp/html5/video.html#media-element
>  147. file://localhost/tmp/html5/video.html#media-element
>  148. file://localhost/tmp/html5/video.html#media-element
>  149. file://localhost/tmp/html5/video.html#list-of-timed-tracks
>  150. file://localhost/tmp/html5/video.html#rules-for-updating-the-timed-track-rendering
>  151. file://localhost/tmp/html5/video.html#timed-track-mode
>  152. file://localhost/tmp/html5/video.html#timed-track-showing
>  153. file://localhost/tmp/html5/video.html#timed-track-cue
>  154. file://localhost/tmp/html5/video.html#timed-track-cue
>  155. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  156. file://localhost/tmp/TTML_mapping_draft_12-8-2010.htm.html
>  157. file://localhost/tmp/html5/video.html#timed-track-cue-active-flag
>  158. file://localhost/tmp/html5/references.html#refsCSS
>  159. http://www.w3.org/2006/10/ttaf1
>  160. http://www.w3.org/2006/10/ttaf1#style
>  161. http://www.w3.org/2006/10/ttaf1#metadata
>  162. http://www.w3.org/TR/ruby
>  163. file://localhost/tmp/html5/uri.html#namespaces


-- 

Janina Sajka, Phone: +1.443.300.2200
  sip:janina@asterisk.rednote.net

Chair, Open Accessibility janina@a11y.org 
Linux Foundation  http://a11y.org

Chair, Protocols & Formats
Web Accessibility Initiative http://www.w3.org/wai/pf
World Wide Web Consortium (W3C)

Received on Wednesday, 1 September 2010 18:56:42 UTC