--- a/ttml2/spec/ttml2.html Sun Sep 21 04:40:49 2014 -0600
+++ b/ttml2/spec/ttml2.html Sun Sep 21 04:41:25 2014 -0600
@@ -82,9 +82,9 @@
.obsoleted { background-color: #f26d7d }
.reqattr { font-weight: bold }
.optattr { font-style: italic }
-</style><link rel="stylesheet" type="text/css" href="https://www.w3.org/StyleSheets/TR/W3C-ED.css"></head><body>Last Modified: $Date: 2014/09/17 04:15:23 $<div id="revisions"></div><div class="head">
+</style><link rel="stylesheet" type="text/css" href="https://www.w3.org/StyleSheets/TR/W3C-ED.css"></head><body>Last Modified: $Date: 2014/09/21 10:40:49 $<div id="revisions"></div><div class="head">
<h1><a id="title"></a>Timed Text Markup Language 2 (TTML2)</h1>
-<h2><a id="w3c-doctype"></a>Editors' copy $Date: 2014/09/17 04:15:23 $ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
+<h2><a id="w3c-doctype"></a>Editors' copy $Date: 2014/09/21 10:40:49 $ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
<a href="ttml2.html">ttml2.html</a>
</dd><dt>Latest version:</dt><dd><a href="https://dvcs.w3.org/hg/ttml/raw-file/default/ttml2/spec/ttml2.html?content-type=text/html;charset=utf-8">https://dvcs.w3.org/hg/ttml/raw-file/default/ttml2/spec/ttml2.html?content-type=text/html;charset=utf-8</a></dd><dt>Previous version:</dt><dd>
<a href="http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/">http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/</a>
@@ -200,16 +200,19 @@
8.2.15 <a href="#style-attribute-origin">tts:origin</a><br>
8.2.16 <a href="#style-attribute-overflow">tts:overflow</a><br>
8.2.17 <a href="#style-attribute-padding">tts:padding</a><br>
- 8.2.18 <a href="#style-attribute-showBackground">tts:showBackground</a><br>
- 8.2.19 <a href="#style-attribute-textAlign">tts:textAlign</a><br>
- 8.2.20 <a href="#style-attribute-textDecoration">tts:textDecoration</a><br>
- 8.2.21 <a href="#style-attribute-textOrientation">tts:textOrientation</a><br>
- 8.2.22 <a href="#style-attribute-textOutline">tts:textOutline</a><br>
- 8.2.23 <a href="#style-attribute-unicodeBidi">tts:unicodeBidi</a><br>
- 8.2.24 <a href="#style-attribute-visibility">tts:visibility</a><br>
- 8.2.25 <a href="#style-attribute-wrapOption">tts:wrapOption</a><br>
- 8.2.26 <a href="#style-attribute-writingMode">tts:writingMode</a><br>
- 8.2.27 <a href="#style-attribute-zIndex">tts:zIndex</a><br>
+ 8.2.18 <a href="#style-attribute-ruby">tts:ruby</a><br>
+ 8.2.19 <a href="#style-attribute-rubyAlign">tts:rubyAlign</a><br>
+ 8.2.20 <a href="#style-attribute-rubyPosition">tts:rubyPosition</a><br>
+ 8.2.21 <a href="#style-attribute-showBackground">tts:showBackground</a><br>
+ 8.2.22 <a href="#style-attribute-textAlign">tts:textAlign</a><br>
+ 8.2.23 <a href="#style-attribute-textDecoration">tts:textDecoration</a><br>
+ 8.2.24 <a href="#style-attribute-textOrientation">tts:textOrientation</a><br>
+ 8.2.25 <a href="#style-attribute-textOutline">tts:textOutline</a><br>
+ 8.2.26 <a href="#style-attribute-unicodeBidi">tts:unicodeBidi</a><br>
+ 8.2.27 <a href="#style-attribute-visibility">tts:visibility</a><br>
+ 8.2.28 <a href="#style-attribute-wrapOption">tts:wrapOption</a><br>
+ 8.2.29 <a href="#style-attribute-writingMode">tts:writingMode</a><br>
+ 8.2.30 <a href="#style-attribute-zIndex">tts:zIndex</a><br>
8.3 <a href="#styling-style-value-expressions">Style Value Expressions</a><br>
8.3.1 <a href="#style-value-alpha"><alpha></a><br>
8.3.2 <a href="#style-value-border-color"><border-color></a><br>
@@ -435,11 +438,11 @@
H <a href="#other-references">Other References</a> (Non-Normative)<br>
I <a href="#requirements">Requirements</a> (Non-Normative)<br>
J <a href="#derivation">Vocabulary Derivation</a> (Non-Normative)<br>
- J.1 <a href="#d3e25550">Element Derivation</a><br>
- J.2 <a href="#d3e26067">Attribute Derivation</a><br>
+ J.1 <a href="#d3e26194">Element Derivation</a><br>
+ J.2 <a href="#d3e26711">Attribute Derivation</a><br>
K <a href="#qa">QA Framework Compliance</a> (Non-Normative)<br>
- K.1 <a href="#d3e27060">Requirements</a><br>
- K.2 <a href="#d3e27224">Guidelines</a><br>
+ K.1 <a href="#d3e27704">Requirements</a><br>
+ K.2 <a href="#d3e27868">Guidelines</a><br>
L <a href="#streaming">Streaming TTML Content</a> (Non-Normative)<br>
M <a href="#concrete-encoding">Concrete Encoding</a><br>
N <a href="#time-expression-semantics">Time Expression Semantics</a><br>
@@ -960,7 +963,11 @@
normative URI that denotes each namespace.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>In a specific <a href="#terms-document-instance">document instance</a>, it is not required that the default
prefixes shown below are used. Any prefix or namespace binding that satisfies the constraints
of XML Namespaces <a href="#xmlns10">[XML Namespaces 1.0]</a> may be used that is associated with the specified namespace URI.</p></div><a id="namespace-vocab-table"></a><table class="common"><caption>Table 5-1 – Namespaces</caption><col width="30%" span="1"><col span="1"><col span="1"><tbody><tr><th>Name</th><th>Prefix</th><th>Value</th></tr><tr><td>TT</td><td><code>tt:</code></td><td><code>http://www.w3.org/ns/ttml</code></td></tr><tr><td>TT Parameter</td><td><code>ttp:</code></td><td><code>http://www.w3.org/ns/ttml#parameter</code></td></tr><tr><td>TT Style</td><td><code>tts:</code></td><td><code>http://www.w3.org/ns/ttml#styling</code></td></tr><tr><td>TT Metadata</td><td><code>ttm:</code></td><td><code>http://www.w3.org/ns/ttml#metadata</code></td></tr><tr><td>TT Profile</td><td><em>none</em></td><td><code>http://www.w3.org/ns/ttml/profile/</code></td></tr><tr><td>TT Feature</td><td><em>none</em></td><td><code>http://www.w3.org/ns/ttml/feature/</code></td></tr><tr><td>TT Extension</td><td><em>none</em></td><td><code>http://www.w3.org/ns/ttml/extension/</code></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>If a reference to an element type is used in this specification and the name
-of the element type is not namespace qualified, then the TT Namespace applies.</p><p>For certain namespaces defined above, the default prefix
+of the element type is not namespace qualified, then the TT Namespace applies.</p><p>If a reference to an attribute is used in this specification and the name
+of the attribute is not namespace qualified, then the attribute is implicitly qualified by
+the element type with which it is used. That is, the attribute resides in the so-called
+<a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#ns-breakdown"><em>per-element-type namespace partition</em></a>
+<a href="#nsoriginal">[NSOriginal]</a>, the members of which are interpreted in accordance with the definition of the element type on which they appear.</p><p>For certain namespaces defined above, the default prefix
is specified as <em>none</em> if no XML vocabulary is defined in
the namespace by this specification (nor expected to be defined in a
future version of this specification). In such cases, the use of the
@@ -1333,6 +1340,9 @@
<a href="#style-attribute-origin">tts:origin</a>,
<a href="#style-attribute-overflow">tts:overflow</a>,
<a href="#style-attribute-padding">tts:padding</a>,
+<a href="#style-attribute-ruby">tts:ruby</a>,
+<a href="#style-attribute-rubyAlign">tts:rubyAlign</a>,
+<a href="#style-attribute-rubyPosition">tts:rubyPosition</a>,
<a href="#style-attribute-showBackground">tts:showBackground</a>,
<a href="#style-attribute-textAlign">tts:textAlign</a>,
<a href="#style-attribute-textDecoration">tts:textDecoration</a>,
@@ -2736,7 +2746,7 @@
<h3><a id="styling-attribute-vocabulary"></a>8.2 Styling Attribute Vocabulary</h3><p>This section defines the <a href="#style-attribute-style"><b>8.2.1 style</b></a> attribute used
with certain animation elements, <a href="#terms-content-element">content elements</a>, certain layout elements, and style definition elements.</p><p>In addition, this section specifies the following attributes in the TT Style Namespace
for use with style definition elements, certain layout elements, and <a href="#terms-content-element">content elements</a>
-that support inline style specifications:</p><ul><li><p><a href="#style-attribute-backgroundColor"><b>8.2.2 tts:backgroundColor</b></a></p></li><li><p><a href="#style-attribute-border"><b>8.2.3 tts:border</b></a></p></li><li><p><a href="#style-attribute-color"><b>8.2.4 tts:color</b></a></p></li><li><p><a href="#style-attribute-direction"><b>8.2.5 tts:direction</b></a></p></li><li><p><a href="#style-attribute-display"><b>8.2.6 tts:display</b></a></p></li><li><p><a href="#style-attribute-displayAlign"><b>8.2.7 tts:displayAlign</b></a></p></li><li><p><a href="#style-attribute-extent"><b>8.2.8 tts:extent</b></a></p></li><li><p><a href="#style-attribute-fontFamily"><b>8.2.9 tts:fontFamily</b></a></p></li><li><p><a href="#style-attribute-fontSize"><b>8.2.10 tts:fontSize</b></a></p></li><li><p><a href="#style-attribute-fontStyle"><b>8.2.11 tts:fontStyle</b></a></p></li><li><p><a href="#style-attribute-fontWeight"><b>8.2.12 tts:fontWeight</b></a></p></li><li><p><a href="#style-attribute-lineHeight"><b>8.2.13 tts:lineHeight</b></a></p></li><li><p><a href="#style-attribute-opacity"><b>8.2.14 tts:opacity</b></a></p></li><li><p><a href="#style-attribute-origin"><b>8.2.15 tts:origin</b></a></p></li><li><p><a href="#style-attribute-overflow"><b>8.2.16 tts:overflow</b></a></p></li><li><p><a href="#style-attribute-padding"><b>8.2.17 tts:padding</b></a></p></li><li><p><a href="#style-attribute-showBackground"><b>8.2.18 tts:showBackground</b></a></p></li><li><p><a href="#style-attribute-textAlign"><b>8.2.19 tts:textAlign</b></a></p></li><li><p><a href="#style-attribute-textDecoration"><b>8.2.20 tts:textDecoration</b></a></p></li><li><p><a href="#style-attribute-textOrientation"><b>8.2.21 tts:textOrientation</b></a></p></li><li><p><a href="#style-attribute-textOutline"><b>8.2.22 tts:textOutline</b></a></p></li><li><p><a href="#style-attribute-unicodeBidi"><b>8.2.23 tts:unicodeBidi</b></a></p></li><li><p><a href="#style-attribute-visibility"><b>8.2.24 tts:visibility</b></a></p></li><li><p><a href="#style-attribute-wrapOption"><b>8.2.25 tts:wrapOption</b></a></p></li><li><p><a href="#style-attribute-writingMode"><b>8.2.26 tts:writingMode</b></a></p></li><li><p><a href="#style-attribute-zIndex"><b>8.2.27 tts:zIndex</b></a></p></li></ul><table border="1" class="ednote" summary="Editorial note: Additional Border Styling Attributes"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Additional Border Styling Attributes</b></td><td align="right" valign="top">2013-08-24</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Consider adding support for <code>tts:borderColor</code>, <code>tts:borderStyle</code>, and <code>tts:borderWidth</code>
+that support inline style specifications:</p><ul><li><p><a href="#style-attribute-backgroundColor"><b>8.2.2 tts:backgroundColor</b></a></p></li><li><p><a href="#style-attribute-border"><b>8.2.3 tts:border</b></a></p></li><li><p><a href="#style-attribute-color"><b>8.2.4 tts:color</b></a></p></li><li><p><a href="#style-attribute-direction"><b>8.2.5 tts:direction</b></a></p></li><li><p><a href="#style-attribute-display"><b>8.2.6 tts:display</b></a></p></li><li><p><a href="#style-attribute-displayAlign"><b>8.2.7 tts:displayAlign</b></a></p></li><li><p><a href="#style-attribute-extent"><b>8.2.8 tts:extent</b></a></p></li><li><p><a href="#style-attribute-fontFamily"><b>8.2.9 tts:fontFamily</b></a></p></li><li><p><a href="#style-attribute-fontSize"><b>8.2.10 tts:fontSize</b></a></p></li><li><p><a href="#style-attribute-fontStyle"><b>8.2.11 tts:fontStyle</b></a></p></li><li><p><a href="#style-attribute-fontWeight"><b>8.2.12 tts:fontWeight</b></a></p></li><li><p><a href="#style-attribute-lineHeight"><b>8.2.13 tts:lineHeight</b></a></p></li><li><p><a href="#style-attribute-opacity"><b>8.2.14 tts:opacity</b></a></p></li><li><p><a href="#style-attribute-origin"><b>8.2.15 tts:origin</b></a></p></li><li><p><a href="#style-attribute-overflow"><b>8.2.16 tts:overflow</b></a></p></li><li><p><a href="#style-attribute-padding"><b>8.2.17 tts:padding</b></a></p></li><li><p><a href="#style-attribute-ruby"><b>8.2.18 tts:ruby</b></a></p></li><li><p><a href="#style-attribute-rubyAlign"><b>8.2.19 tts:rubyAlign</b></a></p></li><li><p><a href="#style-attribute-rubyPosition"><b>8.2.20 tts:rubyPosition</b></a></p></li><li><p><a href="#style-attribute-showBackground"><b>8.2.21 tts:showBackground</b></a></p></li><li><p><a href="#style-attribute-textAlign"><b>8.2.22 tts:textAlign</b></a></p></li><li><p><a href="#style-attribute-textDecoration"><b>8.2.23 tts:textDecoration</b></a></p></li><li><p><a href="#style-attribute-textOrientation"><b>8.2.24 tts:textOrientation</b></a></p></li><li><p><a href="#style-attribute-textOutline"><b>8.2.25 tts:textOutline</b></a></p></li><li><p><a href="#style-attribute-unicodeBidi"><b>8.2.26 tts:unicodeBidi</b></a></p></li><li><p><a href="#style-attribute-visibility"><b>8.2.27 tts:visibility</b></a></p></li><li><p><a href="#style-attribute-wrapOption"><b>8.2.28 tts:wrapOption</b></a></p></li><li><p><a href="#style-attribute-writingMode"><b>8.2.29 tts:writingMode</b></a></p></li><li><p><a href="#style-attribute-zIndex"><b>8.2.30 tts:zIndex</b></a></p></li></ul><table border="1" class="ednote" summary="Editorial note: Additional Border Styling Attributes"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Additional Border Styling Attributes</b></td><td align="right" valign="top">2013-08-24</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Consider adding support for <code>tts:borderColor</code>, <code>tts:borderStyle</code>, and <code>tts:borderWidth</code>
in order to provide a means to independently express styling of the four different borders (top, right, bottom, left). As currently specified, i.e., with only the
<code>tts:border</code> attribute, one can only express the four borders using the same color, style, and width.</td></tr></table><p>Unless explicitly permitted by an element type definition, an attribute in the TT Style Namespace should not be specified on an element
unless it either applies to that element or denotes an inheritable style property. If it does not apply to that element
@@ -3517,7 +3527,90 @@
§ 7.31.15, except that individual shorthand values map to writing
mode relative padding values as defined by <a href="#xsl11">[XSL 1.1]</a>,
§ 7.8.31, 7.8.32, 7.8.33, and 7.8.34.</p></div></div><div class="div3">
-<h4><a id="style-attribute-showBackground"></a>8.2.18 tts:showBackground</h4><p>The <code>tts:showBackground</code> attribute is used to specify
+<h4><a id="style-attribute-ruby"></a>8.2.18 tts:ruby</h4><p>The <code>tts:ruby</code> attribute is used to specify the application of ruby
+styling.</p><p>This attribute applies only to <a href="#content-vocabulary-span"><code>span</code></a> elements and is not inheritable, so it should
+not be specified on any other element type. If specified elsewhere, then it must be ignored for
+the purpose of presentation processing.</p><a id="style-property-details-ruby"></a><table class="common"><col width="25%" span="1"><col span="1"><tbody><tr><td><em>Values:</em></td><td>
+<code>none</code> |
+<code>container</code> |
+<code>base</code> |
+<code>baseContainer</code> |
+<code>text</code> |
+<code>textContainer</code> |
+<code>delimiter</code>
+</td></tr><tr><td><em>Initial:</em></td><td><code>none</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#content-vocabulary-span"><code>span</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>no</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><p></p><p>If the value of this attribute is <code>none</code>, then no ruby semantics apply; otherwise, the ruby semantics enumerated by
+<a href="#ruby-semantics-mapping-table"><b>Table 8-1 – Ruby Semantics Mapping</b></a> apply, where the maximal content model defined by <a href="#ruby">[Ruby]</a>, §2.1, applies
+and must be treated as an error if violated.</p><p>If a computed value of the property associated with this attribute is not supported,
+then a <a href="#terms-presentation-processor">presentation processor</a> must use the value <code>none</code>.</p><a id="ruby-semantics-mapping-table"></a><table class="common"><caption>Table 8-1 – Ruby Semantics Mapping</caption><col width="25%" span="1"><col width="25%" span="1"><col width="25%" span="1"><col width="25%" span="1"><col span="1"><tbody><tr><th>Category</th><th>tts:ruby</th><th>Annotation <a href="#ruby">[Ruby]</a></th><th>CSS display <a href="#cssruby">[CSS Ruby]</a></th></tr><tr><td>Ruby Container</td><td><code>container</code></td><td><code>ruby</code></td><td><code>ruby</code></td></tr><tr><td>Ruby Base Content</td><td><code>base</code></td><td><code>rb</code></td><td><code>ruby-base</code></td></tr><tr><td>Ruby Text Content</td><td><code>text</code></td><td><code>rt</code></td><td><code>ruby-text</code></td></tr><tr><td>Ruby Base Container</td><td><code>baseContainer</code></td><td><code>rbc</code></td><td><code>ruby-base-container</code></td></tr><tr><td>Ruby Text Container</td><td><code>textContainer</code></td><td><code>rtc</code></td><td><code>ruby-text-container</code></td></tr><tr><td>Ruby Fallback Delimiter</td><td><code>delimiter</code></td><td><code>rp</code></td><td><code>none</code></td></tr></tbody></table><p>Use of <code>tts:ruby</code> to specify simple ruby annotation is illustrated by the following example.</p><a id="style-attribute-ruby-example-1"></a><table class="example"><caption>Example Fragment – Simple Ruby</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+<span <span class="strong">tts:ruby="container"</span>>
+ <span <span class="strong">tts:ruby="base"</span>>利用許諾</span>
+ <span <span class="strong">tts:ruby="text"</span>>ライセンス</span>
+</span>
+</pre></div>
+</td></tr></tbody></table><p></p><a id="style-attribute-ruby-example-1-images"></a><table class="example-images"><caption>Example Rendition – Simple Ruby</caption><tbody><tr><td><img src="images/ruby_1.png" alt="TTML ruby style property"></td></tr></tbody></table><p>Use of <code>tts:ruby</code> to specify complex ruby annotation is illustrated by the following example.</p><a id="style-attribute-ruby-example-2"></a><table class="example"><caption>Example Fragment – Complex Ruby</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+<span>
+ <span <span class="strong">tts:ruby="container"</span>>
+ <span <span class="strong">tts:ruby="baseContainer"</span>>
+ <span <span class="strong">tts:ruby="base"</span>>東南</span>
+ </span>
+ <span <span class="strong">tts:ruby="textContainer"</span> tts:rubyPosition="before">
+ <span <span class="strong">tts:ruby="text"</span>>とうなん</span>
+ </span>
+ <span <span class="strong">tts:ruby="textContainer"</span> tts:rubyPosition="after">
+ <span <span class="strong">tts:ruby="text"</span>>たつみ</span>
+ </span>
+ </span>
+ <span>の方角</span>
+</span>
+</pre></div>
+</td></tr></tbody></table><p></p><a id="style-attribute-ruby-example-2-images"></a><table class="example-images"><caption>Example Rendition – Complex Ruby</caption><tbody><tr><td><img src="images/ruby_2.png" alt="TTML ruby style property"></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#ruby">[Ruby]</a> and <a href="#cssruby">[CSS Ruby]</a>. See also
+<a href="#jlreq">[JLREQ]</a>, §3.3, for further information.</p></div></div><div class="div3">
+<h4><a id="style-attribute-rubyAlign"></a>8.2.19 tts:rubyAlign</h4><p>The <code>tts:rubyAlign</code> attribute is used to specify the position of ruby text within the inline area generated by the ruby text container annotation.</p><p>This attribute may be specified by any element type that permits use of attributes in the TT Style Namespace; however, this attribute applies
+as a style property only to <a href="#content-vocabulary-span"><code>span</code></a> elements on which the computed value of the
+<code>tts:ruby</code> style property is either <code>textContainer</code> or <code>text</code>.</p><a id="style-property-details-rubyAlign"></a><table class="common"><col width="25%" span="1"><col span="1"><tbody><tr><td><em>Values:</em></td><td>
+<code>start</code> |
+<code>center</code> |
+<code>spaceBetween</code> |
+<code>spaceAround</code>
+</td></tr><tr><td><em>Initial:</em></td><td><code>spaceAround</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<em>see prose (above)</em>
+</td></tr><tr><td><em>Inherited:</em></td><td>yes</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><p></p><p>If the value of this attribute is <code>start</code>, then the start edge of the first glyph area descendant of an inline area generated from a ruby text container
+or ruby text annotation is aligned to the start edge of that inline area.
+If the value is <code>center</code>, then excess whitespace
+is equally distributed before and after the first and last glyphs, respectively.
+If the value is <code>spaceBetween</code>, then excess whitespace
+is equally distributed between each glyph area descendant.
+If the value is <code>spaceAround</code>, then excess whitespace
+is equally distributed before and after each glyph area descendant.</p><p>If a computed value of the property associated with this attribute is not supported,
+then a <a href="#terms-presentation-processor">presentation processor</a> must use the value <code>spaceAround</code>.</p><table border="1" class="ednote" summary="Editorial note: Ruby Align Example"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Ruby Align Example</b></td><td align="right" valign="top">2014-09-20</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Add example and example rendering of tts:rubyAlign.</td></tr></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#cssruby">[CSS Ruby]</a>, §4.3, and the examples and example
+renderings shown there apply.</p></div></div><div class="div3">
+<h4><a id="style-attribute-rubyPosition"></a>8.2.20 tts:rubyPosition</h4><p>The <code>tts:rubyPosition</code> attribute is used to specify the position of ruby text in the block progression dimension
+with respect to its associated ruby base.</p><p>This attribute may be specified by any element type that permits use of attributes in the TT Style Namespace; however, this attribute applies
+as a style property only to <a href="#content-vocabulary-span"><code>span</code></a> elements on which the computed value of the
+<code>tts:ruby</code> style property is either <code>textContainer</code> or <code>text</code>.</p><a id="style-property-details-rubyPosition"></a><table class="common"><col width="25%" span="1"><col span="1"><tbody><tr><td><em>Values:</em></td><td>
+<code>before</code> |
+<code>after</code> |
+<code>interCharacter</code>
+</td></tr><tr><td><em>Initial:</em></td><td><code>before</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<em>see prose (above)</em>
+</td></tr><tr><td><em>Inherited:</em></td><td>yes</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><p></p><p>If the value of this attribute is <code>before</code>, then an inline area generated from a ruby text container or ruby text annotation
+is placed before (prior to) the first edge in the block progression dimension of the inline area generated from an associated ruby base container or ruby base annotation.
+If the value is <code>after</code>, then an inline area generated from a ruby text container or ruby text annotation
+is placed after (subsequent to) the second edge in the block progression dimension of the inline area generated from an associated ruby base container or ruby base
+annotation.</p><p>If the value of this attribute is <code>interCharacter</code>, then an inline area generated from a ruby text container or ruby text annotation is placed
+after the end edge in the inline progression dimension of the inline area generated from an associated ruby base container or ruby base annotation.</p><p>The absolute position of the ruby text container or ruby text annotation is determined
+in accordance to the computed value of the <code>tts:writingMode</code> style property of the region into which the affected content is placed; in particular, the
+mappings defined enumerated by <a href="#rubyPosition-semantics-mapping-table"><b>Table 8-2 – Ruby Position Semantics Mapping by Writing Mode</b></a> apply as further defined by <a href="#cssruby">[CSS Ruby]</a>, §4.1.</p><p>If a computed value of the property associated with this attribute is not supported,
+then a <a href="#terms-presentation-processor">presentation processor</a> must use the value <code>before</code>.</p><a id="rubyPosition-semantics-mapping-table"></a><table class="common"><caption>Table 8-2 – Ruby Position Semantics Mapping by Writing Mode</caption><col width="20%" span="1"><col width="20%" span="1"><col width="20%" span="1"><col width="20%" span="1"><col width="20%" span="1"><col span="1"><tbody><tr><th>tts:rubyPosition</th><th><code>lrtb</code></th><th><code>rltb</code></th><th><code>tbrl</code></th><th><code>tblr</code></th></tr><tr><td><code>before</code></td><td><code>over</code></td><td><code>over</code></td><td><code>right</code></td><td><code>left</code></td></tr><tr><td><code>after</code></td><td><code>under</code></td><td><code>under</code></td><td><code>left</code></td><td><code>right</code></td></tr><tr><td><code>interCharacter</code></td><td><code>right</code></td><td><code>left</code></td><td><code>under</code></td><td><code>under</code></td></tr></tbody></table><p></p><table border="1" class="ednote" summary="Editorial note: Ruby Position Example"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Ruby Position Example</b></td><td align="right" valign="top">2014-09-20</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Add example and example rendering of tts:rubyPosition.</td></tr></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#cssruby">[CSS Ruby]</a>, §4.1, and the examples and example
+renderings shown there apply modulo the mappings defined above.</p></div></div><div class="div3">
+<h4><a id="style-attribute-showBackground"></a>8.2.21 tts:showBackground</h4><p>The <code>tts:showBackground</code> attribute is used to specify
constraints on when the background color of a region is intended to be
presented.</p><p>This attribute may be specified by any
element type
@@ -3558,7 +3651,7 @@
</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
represented by this attribute are based upon that defined by <a href="#smil3">[SMIL 3.0]</a>,
§ 7.4.2.</p></div></div><div class="div3">
-<h4><a id="style-attribute-textAlign"></a>8.2.19 tts:textAlign</h4><p>The <code>tts:textAlign</code> attribute is used to specify a style property that
+<h4><a id="style-attribute-textAlign"></a>8.2.22 tts:textAlign</h4><p>The <code>tts:textAlign</code> attribute is used to specify a style property that
defines how inline areas are aligned within a containing block area in the inline progression
direction.</p><p>This attribute may be specified by any
element type
@@ -3601,7 +3694,7 @@
</td></tr></tbody></table><p></p><a id="style-attribute-textAlign-example-1-images"></a><table class="example-images"><caption>Example Rendition – Text Align</caption><tbody><tr><td><img src="images/textAlign.png" alt="TTML textAlign style property"></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
represented by this attribute are based upon that defined by <a href="#xsl11">[XSL 1.1]</a>,
§ 7.16.9.</p></div></div><div class="div3">
-<h4><a id="style-attribute-textDecoration"></a>8.2.20 tts:textDecoration</h4><p>The <code>tts:textDecoration</code> attribute is used to specify a style property that
+<h4><a id="style-attribute-textDecoration"></a>8.2.23 tts:textDecoration</h4><p>The <code>tts:textDecoration</code> attribute is used to specify a style property that
defines a text decoration effect to apply to glyph areas or other inline
areas that are generated by content flowed into a region.</p><p>This attribute may be specified by any
element type
@@ -3650,7 +3743,7 @@
</td></tr></tbody></table><p></p><a id="style-attribute-textDecoration-example-1-images"></a><table class="example-images"><caption>Example Rendition – Text Decoration</caption><tbody><tr><td><img src="images/textDecoration.png" alt="TTML textDecoration style property"></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
represented by this attribute are based upon that defined by <a href="#xsl11">[XSL 1.1]</a>,
§ 7.17.4.</p></div></div><div class="div3">
-<h4><a id="style-attribute-textOrientation"></a>8.2.21 tts:textOrientation</h4><p>The <code>tts:textOrientation</code> attribute is used to specify a style property that
+<h4><a id="style-attribute-textOrientation"></a>8.2.24 tts:textOrientation</h4><p>The <code>tts:textOrientation</code> attribute is used to specify a style property that
defines a text orientation to apply to glyphs that are selected for glyph areas generated
by content flowed into a region to which a vertical writing mode applies.</p><p>This attribute may be specified by any
element type
@@ -3685,7 +3778,7 @@
example.</p><table border="1" class="ednote" summary="Editorial note: Text Orientation Example"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Text Orientation Example</b></td><td align="right" valign="top">2013-08-24</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Insert example fragment and image of text orientation.</td></tr></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
represented by this attribute are based upon that defined by <a href="#css3-wm">[CSS Writing Modes Level 3]</a>,
§ 5.1.</p></div></div><div class="div3">
-<h4><a id="style-attribute-textOutline"></a>8.2.22 tts:textOutline</h4><p>The <code>tts:textOutline</code> attribute is used to specify a style property that
+<h4><a id="style-attribute-textOutline"></a>8.2.25 tts:textOutline</h4><p>The <code>tts:textOutline</code> attribute is used to specify a style property that
defines a text outline effect to apply to glyphs that are selected for glyph areas generated
by content flowed into a region.</p><p>This attribute may be specified by any
element type
@@ -3734,7 +3827,7 @@
</p>
</pre></div>
</td></tr></tbody></table><p></p><a id="style-attribute-textOutline-example-1-images"></a><table class="example-images"><caption>Example Rendition – Text Outline</caption><tbody><tr><td><img src="images/textOutline.png" alt="textOutline style property"></td></tr></tbody></table></div><div class="div3">
-<h4><a id="style-attribute-unicodeBidi"></a>8.2.23 tts:unicodeBidi</h4><p>The <code>tts:unicodeBidi</code> attribute is used to specify a style property that
+<h4><a id="style-attribute-unicodeBidi"></a>8.2.26 tts:unicodeBidi</h4><p>The <code>tts:unicodeBidi</code> attribute is used to specify a style property that
defines a directional embedding or override according to
the Unicode bidirectional algorithm.</p><p>This attribute may be specified by any
element type
@@ -3773,7 +3866,7 @@
</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
represented by this attribute are based upon that defined by <a href="#xsl11">[XSL 1.1]</a>,
§ 7.29.6.</p></div></div><div class="div3">
-<h4><a id="style-attribute-visibility"></a>8.2.24 tts:visibility</h4><p>The <code>tts:visibility</code> attribute is used to specify a style property that
+<h4><a id="style-attribute-visibility"></a>8.2.27 tts:visibility</h4><p>The <code>tts:visibility</code> attribute is used to specify a style property that
defines whether generated areas are visible or not when rendered on a visual
presentation medium.</p><p>This attribute may be specified by any
element type
@@ -3828,7 +3921,7 @@
</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
represented by this attribute are based upon that defined by <a href="#xsl11">[XSL 1.1]</a>,
§ 7.30.17.</p></div></div><div class="div3">
-<h4><a id="style-attribute-wrapOption"></a>8.2.25 tts:wrapOption</h4><p>The <code>tts:wrapOption</code> attribute is used to specify a style property that
+<h4><a id="style-attribute-wrapOption"></a>8.2.28 tts:wrapOption</h4><p>The <code>tts:wrapOption</code> attribute is used to specify a style property that
defines whether or not automatic line wrapping (breaking) applies within the context of
the affected element.</p><p>This attribute may be specified by any
element type
@@ -3862,7 +3955,7 @@
</td></tr></tbody></table><p></p><a id="style-attribute-wrapOption-example-1-images"></a><table class="example-images"><caption>Example Rendition – Wrap Option</caption><tbody><tr><td><img src="images/wrapOption.png" alt="TTML wrapOption style property"></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
represented by this attribute are based upon that defined by <a href="#xsl11">[XSL 1.1]</a>,
§ 7.16.13.</p></div></div><div class="div3">
-<h4><a id="style-attribute-writingMode"></a>8.2.26 tts:writingMode</h4><p>The <code>tts:writingMode</code> attribute is used to specify a style property that
+<h4><a id="style-attribute-writingMode"></a>8.2.29 tts:writingMode</h4><p>The <code>tts:writingMode</code> attribute is used to specify a style property that
defines the block and inline progression directions to be used for the purpose of
stacking block and inline areas within a region area.</p><p>This attribute may be specified by any
element type
@@ -3913,7 +4006,7 @@
the Latin script.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
represented by this attribute are based upon that defined by <a href="#xsl11">[XSL 1.1]</a>,
§ 7.29.7.</p></div></div><div class="div3">
-<h4><a id="style-attribute-zIndex"></a>8.2.27 tts:zIndex</h4><p>The <code>tts:zIndex</code> attribute is used to specify a style property that
+<h4><a id="style-attribute-zIndex"></a>8.2.30 tts:zIndex</h4><p>The <code>tts:zIndex</code> attribute is used to specify a style property that
defines the front-to-back ordering of region areas in the case that they overlap.</p><p>This attribute may be specified by any
element type
that permits use of attributes in the TT Style Namespace; however, this attribute applies
@@ -4625,7 +4718,7 @@
means of referential style association) always takes place in the
context of a layout or <a href="#terms-content-element">content element</a> which has a presentation
context, and not in the non-presentation, declaration context
-of an <code>animate</code>, <code>set</code>, or referentiable <code>style</code> element.</p></div></div><div class="div4">
+of an <code>animate</code>, <code>set</code>, or referable <code>style</code> element.</p></div></div><div class="div4">
<h5><a id="semantics-style-resolution-process-overall"></a>8.4.4.4 Style Resolution Process</h5><p>The top-level style resolution process is defined as follows: using
a preorder traversal of each element and <em>anonymous span</em>,
<em>E</em>, of an intermediate synchronic document,
@@ -7495,6 +7588,10 @@
<a href="http://www.w3.org/TR/2011/REC-css3-color-20110607/"><cite>CSS Color
Module Level 3</cite></a>, W3C Recommendation, 07 June 2011. (See
<a href="http://www.w3.org/TR/2011/REC-css3-color-20110607/">http://www.w3.org/TR/2011/REC-css3-color-20110607/</a>.)
+</dd><dt class="label"><a id="cssruby"></a>CSS Ruby</dt><dd>Elika Etemad and Koji Ishii,
+<a href="http://dev.w3.org/csswg/css-ruby-1/"><cite>CSS Ruby Layout Module Level 1</cite></a>
+W3C Editor's Draft.
+(See <a href="http://dev.w3.org/csswg/css-ruby-1/">http://dev.w3.org/csswg/css-ruby-1//</a>.)
</dd><dt class="label"><a id="gps"></a>GPS</dt><dd>
<a href="http://tycho.usno.navy.mil/gpsinfo.html"><cite>Global
Positioning System</cite></a>, US Naval Observatory.
@@ -7509,6 +7606,10 @@
<a href="http://www.iso.org/"><cite>Information technology – Document
Schema Definition Language (DSDL) – Part 2: Regular-grammar-based validation – RELAX NG</cite></a>,
International Organization for Standardization (ISO).
+</dd><dt class="label"><a id="ruby"></a>Ruby</dt><dd>Masayasu Ishikawa et al.,
+<a href="http://www.w3.org/TR/2001/REC-ruby-20010531/"><cite>Ruby Annotation</cite></a>
+W3C Recommendation, 31 May 2001.
+(See <a href="http://www.w3.org/TR/2001/REC-ruby-20010531/">http://www.w3.org/TR/2001/REC-ruby-20010531/</a>.)
</dd><dt class="label"><a id="smil3"></a>SMIL 3.0</dt><dd>Dick Bultermann, et al.,
<a href="http://www.w3.org/TR/2008/REC-SMIL3-20081201/"><cite>Synchronized
Multimedia Integration Language (SMIL 3.0)</cite></a>,
@@ -7610,11 +7711,19 @@
</dd><dt class="label"><a id="dcmes"></a>DCMES 1.1</dt><dd>Dublin Core Metadata Initiative,
<a href="http://dublincore.org/documents/dces/"><cite>Dublin Core Metadata Element Set, Version 1.1: Reference Description</cite></a>. (See
<a href="http://dublincore.org/documents/dces/">http://dublincore.org/documents/dces/</a>.)
+</dd><dt class="label"><a id="jlreq"></a>JLREQ</dt><dd>Richard Ishida et al.,
+<a href="http://www.w3.org/TR/2012/NOTE-jlreq-20120403/"><cite>Requirements for Japanese Text Layout</cite></a>
+W3C Working Group Note, 3 April 2012.
+(See <a href="http://www.w3.org/TR/2012/NOTE-jlreq-20120403/">http://www.w3.org/TR/2012/NOTE-jlreq-20120403/</a>.)
</dd><dt class="label"><a id="mpeg7-5"></a>MPEG7-5</dt><dd>
ISO/IEC 15938-5,
<a href="http://www.iso.org/"><cite>Information technology – Multimedia content description
interface – Part 5: Multimedia description schemes</cite></a>,
International Organization for Standardization (ISO).
+</dd><dt class="label"><a id="nsoriginal"></a>NSOriginal</dt><dd>Tim Bray, et al.
+<a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/"><cite>Namespaces
+in XML</cite></a>, W3C Recommendation, 14 January 1999. (See
+<a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/">http://www.w3.org/TR/1999/REC-xml-names-19990114/</a>.)
</dd><dt class="label"><a id="nsstate"></a>NSState</dt><dd>Norman Walsh, Ed.,
<a href="http://www.w3.org/2001/tag/doc/namespaceState-2006-01-09.html"><cite>The Disposition
of Names in an XML Namespace</cite></a>, TAG Finding, 9 January 2006. (See
@@ -7663,7 +7772,7 @@
<h2><a id="derivation"></a>J Vocabulary Derivation (Non-Normative)</h2><p>This appendix provides information about the derivation of TTML
vocabulary, separately describing derivation of elements and
attributes.</p><div class="div2">
-<h3><a id="d3e25550"></a>J.1 Element Derivation</h3><p>The first column of <a href="#element-vocab-derivation-table"><b>Table J-1 – Elements</b></a>
+<h3><a id="d3e26194"></a>J.1 Element Derivation</h3><p>The first column of <a href="#element-vocab-derivation-table"><b>Table J-1 – Elements</b></a>
specifies a TTML element vocabulary item; the second column specifies the
syntactic and/or semantic model on which the vocabulary item is based;
the third column specifies the reference that defines
@@ -7720,7 +7829,7 @@
and <code>@version</code> on the <code>svg:svg</code> element.</p></li><li><p>Conceptually derived from existing <code>tt:layout</code> element,
which is a generic container for layout specifications, but for use
in defining animation specifications that apply to targeted elements.</p></li></ol></div></div><div class="div2">
-<h3><a id="d3e26067"></a>J.2 Attribute Derivation</h3><p>The first column of <a href="#attribute-vocab-derivation-table"><b>Table J-2 – Attributes</b></a>
+<h3><a id="d3e26711"></a>J.2 Attribute Derivation</h3><p>The first column of <a href="#attribute-vocab-derivation-table"><b>Table J-2 – Attributes</b></a>
specifies a TTML attribute vocabulary item; the second column specifies the
syntactic and/or semantic model on which the vocabulary item is based;
the third column specifies the reference that defines
@@ -7812,9 +7921,9 @@
<h2><a id="qa"></a>K QA Framework Compliance (Non-Normative)</h2><p>This appendix specifies the compliance of this specification with the
requirements and guidelines defined by <a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/">QA
Framework Specifications Guidelines</a> <a href="#qaf-sg">[QAF SG]</a>.</p><div class="div2">
-<h3><a id="d3e27060"></a>K.1 Requirements</h3><a id="qa-framework-requirements-table"></a><table class="common"><caption>Table K-1 – QA Framework Requirements Checklist</caption><col width="76%" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><tbody><tr><td><span class="strong">Requirement</span></td><td><span class="strong">YES</span></td><td><span class="strong">NO</span></td><td><span class="strong">N/A</span></td><td><span class="strong">Notes</span></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#include-conformance-clause-principle">Requirement 01: Include a conformance
+<h3><a id="d3e27704"></a>K.1 Requirements</h3><a id="qa-framework-requirements-table"></a><table class="common"><caption>Table K-1 – QA Framework Requirements Checklist</caption><col width="76%" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><tbody><tr><td><span class="strong">Requirement</span></td><td><span class="strong">YES</span></td><td><span class="strong">NO</span></td><td><span class="strong">N/A</span></td><td><span class="strong">Notes</span></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#include-conformance-clause-principle">Requirement 01: Include a conformance
clause</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-scope-principle">Requirement 02: Define the scope.</a></td><td><a href="#intro">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#implement-principle">Requirement 03: Identify who or what will implement the specification.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ref-norm-principle">Requirement 04: Make a list of normative references.</a></td><td><a href="#references">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-terms-principle">Requirement 05: Define the terms used in the normative parts of the specification.</a></td><td><a href="#definitions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conf-label-principle">Requirement 06: Create conformance labels for each part of the conformance model.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#consistent-style-principle">Requirement 07: Use a consistent style for conformance requirements and explain how to distinguish them.</a></td><td><a href="#conventions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#req-opt-conf-principle">Requirement 08: Indicate which conformance requirements are mandatory, which are recommended, and which are optional.</a></td><td><a href="#conventions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdivide-mandatory-principle">Requirement 09: If the technology is subdivided, then indicate which subdivisions are mandatory for conformance.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdiv-constraints-principle">Requirement 10: If the technology is subdivided, then address subdivision constraints.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#likehood-extension-principle">Requirement 11: Address Extensibility.</a></td><td><a href="#doctypes">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#deprecated-feature-principle">Requirement 12: Identify deprecated features.</a></td><td></td><td></td><td>N/A</td><td>1</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#degree-support-principle">Requirement 13: Define how each class of product handles each deprecated feature.</a></td><td></td><td></td><td>N/A</td><td>1</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><ol class="enumar"><li><p>No feature is deprecated by this version of this specification.</p></li></ol></div></div><div class="div2">
-<h3><a id="d3e27224"></a>K.2 Guidelines</h3><a id="qa-framework-guidelines-table"></a><table class="common"><caption>Table K-2 – QA Framework Guidelines Checklist</caption><col width="76%" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><tbody><tr><td><span class="strong">Guideline</span></td><td><span class="strong">YES</span></td><td><span class="strong">NO</span></td><td><span class="strong">N/A</span></td><td><span class="strong">Notes</span></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conformance-model-gp">Good Practice 01: Define the specification's conformance model in the conformance clause.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#norm-informative-gp">Good Practice 02: Specify in the conformance clause how to distinguish normative from informative content.</a></td><td><a href="#conventions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conformance-claim-gp">Good Practice 03: Provide the wording for conformance claims.</a></td><td><a href="#claims">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ics-gp">Good Practice 04: Provide an Implementation Conformance Statement Pro Forma.</a></td><td></td><td>NO</td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ics-claim-gp">Good Practice 05: Require an Implementation Conformance Statement as part of valid conformance claims.</a></td><td><a href="#claims">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#use-example-gp">Good Practice 06: Provide examples, use cases, and graphics.</a></td><td><a href="#example">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#write-sample-gp">Good Practice 07: Write sample code or tests.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ref-define-practice">Good Practice 08: When imposing requirements by normative references, address conformance dependencies.</a></td><td><a href="#references">YES</a></td><td></td><td></td><td>1</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-terms-inline-gp">Good Practice 09: Define unfamiliar terms in-line and consolidate the definitions in a glossary section.</a></td><td><a href="#definitions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#reuse-terms-gp">Good Practice 10: Use terms already defined without changing their definition.</a></td><td><a href="#definitions">YES</a></td><td></td><td></td><td>2</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#formal-language-gp">Good Practice 11: Use formal languages when possible.</a></td><td><a href="#schemas">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#write-assertion-gp">Good Practice 12: Write Test Assertions.</a></td><td></td><td>NO</td><td></td><td>3</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdivide-foster-gp">Good Practice 13: Create subdivisions of the technology when warranted.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#rules-profiles-gp">Good Practice 14: If the technology is profiled, define rules for creating new profiles.</a></td><td><a href="#vocabulary-profiles">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#need-option-gp">Good Practice 15:Use optional features as warranted.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#label-options-gp">Good Practice 16: Clearly identify optional features.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#constraints-gp">Good Practice 17: Indicate any limitations or constraints on optional features.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#extensions-prohibited-gp">Good Practice 18: If extensibility is allowed, define an extension mechanism.</a></td><td><a href="#extension-vocabulary-overview">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#breaking-conformance-gp">Good Practice 19: Warn extension creators to create extensions that do not interfere with conformance.</a></td><td><a href="#extension-vocabulary-overview">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-error-gp">Good Practice 20: Define error-handling for unknown extensions.</a></td><td><a href="#conformance-processor">YES</a></td><td></td><td></td><td>4</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#workaround-gp">Good Practice 21: Explain how to avoid using a deprecated feature.</a></td><td></td><td></td><td>N/A</td><td>5</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#obsolete-gp">Good Practice 22: Identify obsolete features.</a></td><td></td><td></td><td>N/A</td><td>5</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#error-handling-gp">Good Practice 23: Define an error handling mechanism.</a></td><td><a href="#reduced-infoset">YES</a></td><td></td><td></td><td></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><ol class="enumar"><li><p>When making normative references to external specifications,
+<h3><a id="d3e27868"></a>K.2 Guidelines</h3><a id="qa-framework-guidelines-table"></a><table class="common"><caption>Table K-2 – QA Framework Guidelines Checklist</caption><col width="76%" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><tbody><tr><td><span class="strong">Guideline</span></td><td><span class="strong">YES</span></td><td><span class="strong">NO</span></td><td><span class="strong">N/A</span></td><td><span class="strong">Notes</span></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conformance-model-gp">Good Practice 01: Define the specification's conformance model in the conformance clause.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#norm-informative-gp">Good Practice 02: Specify in the conformance clause how to distinguish normative from informative content.</a></td><td><a href="#conventions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conformance-claim-gp">Good Practice 03: Provide the wording for conformance claims.</a></td><td><a href="#claims">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ics-gp">Good Practice 04: Provide an Implementation Conformance Statement Pro Forma.</a></td><td></td><td>NO</td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ics-claim-gp">Good Practice 05: Require an Implementation Conformance Statement as part of valid conformance claims.</a></td><td><a href="#claims">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#use-example-gp">Good Practice 06: Provide examples, use cases, and graphics.</a></td><td><a href="#example">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#write-sample-gp">Good Practice 07: Write sample code or tests.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ref-define-practice">Good Practice 08: When imposing requirements by normative references, address conformance dependencies.</a></td><td><a href="#references">YES</a></td><td></td><td></td><td>1</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-terms-inline-gp">Good Practice 09: Define unfamiliar terms in-line and consolidate the definitions in a glossary section.</a></td><td><a href="#definitions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#reuse-terms-gp">Good Practice 10: Use terms already defined without changing their definition.</a></td><td><a href="#definitions">YES</a></td><td></td><td></td><td>2</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#formal-language-gp">Good Practice 11: Use formal languages when possible.</a></td><td><a href="#schemas">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#write-assertion-gp">Good Practice 12: Write Test Assertions.</a></td><td></td><td>NO</td><td></td><td>3</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdivide-foster-gp">Good Practice 13: Create subdivisions of the technology when warranted.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#rules-profiles-gp">Good Practice 14: If the technology is profiled, define rules for creating new profiles.</a></td><td><a href="#vocabulary-profiles">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#need-option-gp">Good Practice 15:Use optional features as warranted.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#label-options-gp">Good Practice 16: Clearly identify optional features.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#constraints-gp">Good Practice 17: Indicate any limitations or constraints on optional features.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#extensions-prohibited-gp">Good Practice 18: If extensibility is allowed, define an extension mechanism.</a></td><td><a href="#extension-vocabulary-overview">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#breaking-conformance-gp">Good Practice 19: Warn extension creators to create extensions that do not interfere with conformance.</a></td><td><a href="#extension-vocabulary-overview">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-error-gp">Good Practice 20: Define error-handling for unknown extensions.</a></td><td><a href="#conformance-processor">YES</a></td><td></td><td></td><td>4</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#workaround-gp">Good Practice 21: Explain how to avoid using a deprecated feature.</a></td><td></td><td></td><td>N/A</td><td>5</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#obsolete-gp">Good Practice 22: Identify obsolete features.</a></td><td></td><td></td><td>N/A</td><td>5</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#error-handling-gp">Good Practice 23: Define an error handling mechanism.</a></td><td><a href="#reduced-infoset">YES</a></td><td></td><td></td><td></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><ol class="enumar"><li><p>When making normative references to external specifications,
specific clauses or sections are cited.</p></li><li><p>See also <a href="#derivation"><b>J Vocabulary Derivation</b></a>.</p></li><li><p>Test assertions and test suites will be provided prior to entering
Proposed Recommendation (PR) phase.</p></li><li><p>See criterion #3 in <a href="#conformance-processor"><b>3.2 Processor Conformance</b></a> and definition of
TTML <a href="#doctypes">Abstract Document Instance</a>.</p></li><li><p>No feature is deprecated or obsoleted by this version of this specification.</p></li></ol></div></div></div><div class="div1">