- 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