- From: Janina Sajka <janina@rednote.net>
- Date: Wed, 1 Sep 2010 14:56:04 -0400
- To: Sean Hayes <Sean.Hayes@microsoft.com>
- Cc: Janina Sajka <janina@rednote.net>, HTML Accessibility Task Force <public-html-a11y@w3.org>
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