[ttml2] regenerate ED
authorGlenn Adams <glenn@skynav.com>
Thu, 02 Oct 2014 15:40:15 -0600
changeset 744 8fc2c71d339f
parent 743 c62837d89619
child 745 9baedffc327e
[ttml2] regenerate ED
ttml2/spec/ttml2.html
--- a/ttml2/spec/ttml2.html	Thu Oct 02 15:39:43 2014 -0600
+++ b/ttml2/spec/ttml2.html	Thu Oct 02 15:40:15 2014 -0600
@@ -76,15 +76,16 @@
 table.example-images-bordered { text-align: center; border: 0px solid black; width: 85%; border-collapse: collapse }
 table.example-images-bordered caption { font-weight: bold; text-align: center; padding-bottom: 0.5em }
 table.example-images-bordered td { border: 1px solid red; text-align: left }
+div.exampleInner { width: 85%; }
 .tbd { background-color: #ffff33; border: 2px solid black; width: 85% }
 .strong { font-weight: bold }
 .deprecated { background-color: #fbaf5c }
 .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/10/02 14:24:15 $<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/10/02 21:39:43 $<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/10/02 14:24:15 $ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
+<h2><a id="w3c-doctype"></a>Editors' copy $Date: 2014/10/02 21:39:43 $ @@ @@@@ @@@@</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>
@@ -205,17 +206,18 @@
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.18 <a href="#style-attribute-padding">tts:padding</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.19 <a href="#style-attribute-ruby">tts:ruby</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.20 <a href="#style-attribute-rubyAlign">tts:rubyAlign</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.21 <a href="#style-attribute-rubyPosition">tts:rubyPosition</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.22 <a href="#style-attribute-showBackground">tts:showBackground</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.23 <a href="#style-attribute-textAlign">tts:textAlign</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.24 <a href="#style-attribute-textDecoration">tts:textDecoration</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.25 <a href="#style-attribute-textOrientation">tts:textOrientation</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.26 <a href="#style-attribute-textOutline">tts:textOutline</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.27 <a href="#style-attribute-unicodeBidi">tts:unicodeBidi</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.28 <a href="#style-attribute-visibility">tts:visibility</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.29 <a href="#style-attribute-wrapOption">tts:wrapOption</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.30 <a href="#style-attribute-writingMode">tts:writingMode</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.31 <a href="#style-attribute-zIndex">tts:zIndex</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.21 <a href="#style-attribute-rubyOffset">tts:rubyOffset</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.22 <a href="#style-attribute-rubyPosition">tts:rubyPosition</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.23 <a href="#style-attribute-showBackground">tts:showBackground</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.24 <a href="#style-attribute-textAlign">tts:textAlign</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.25 <a href="#style-attribute-textDecoration">tts:textDecoration</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.26 <a href="#style-attribute-textOrientation">tts:textOrientation</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.27 <a href="#style-attribute-textOutline">tts:textOutline</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.28 <a href="#style-attribute-unicodeBidi">tts:unicodeBidi</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.29 <a href="#style-attribute-visibility">tts:visibility</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.30 <a href="#style-attribute-wrapOption">tts:wrapOption</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.31 <a href="#style-attribute-writingMode">tts:writingMode</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.32 <a href="#style-attribute-zIndex">tts:zIndex</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;8.3 <a href="#styling-style-value-expressions">Style Value Expressions</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.3.1 <a href="#style-value-alpha">&lt;alpha&gt;</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.3.2 <a href="#style-value-border-color">&lt;border-color&gt;</a><br>
@@ -449,11 +451,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>
-&nbsp;&nbsp;&nbsp;&nbsp;J.1 <a href="#d3e27335">Element Derivation</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;J.2 <a href="#d3e27852">Attribute Derivation</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;J.1 <a href="#d3e27800">Element Derivation</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;J.2 <a href="#d3e28317">Attribute Derivation</a><br>
 K <a href="#qa">QA Framework Compliance</a> (Non-Normative)<br>
-&nbsp;&nbsp;&nbsp;&nbsp;K.1 <a href="#d3e28845">Requirements</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;K.2 <a href="#d3e29009">Guidelines</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;K.1 <a href="#d3e29310">Requirements</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;K.2 <a href="#d3e29474">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>
@@ -1358,6 +1360,7 @@
 <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-rubyOffset">tts:rubyOffset</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>,
@@ -2802,7 +2805,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-fontVariantPosition"><b>8.2.12 tts:fontVariantPosition</b></a></p></li><li><p><a href="#style-attribute-fontWeight"><b>8.2.13 tts:fontWeight</b></a></p></li><li><p><a href="#style-attribute-lineHeight"><b>8.2.14 tts:lineHeight</b></a></p></li><li><p><a href="#style-attribute-opacity"><b>8.2.15 tts:opacity</b></a></p></li><li><p><a href="#style-attribute-origin"><b>8.2.16 tts:origin</b></a></p></li><li><p><a href="#style-attribute-overflow"><b>8.2.17 tts:overflow</b></a></p></li><li><p><a href="#style-attribute-padding"><b>8.2.18 tts:padding</b></a></p></li><li><p><a href="#style-attribute-ruby"><b>8.2.19 tts:ruby</b></a></p></li><li><p><a href="#style-attribute-rubyAlign"><b>8.2.20 tts:rubyAlign</b></a></p></li><li><p><a href="#style-attribute-rubyPosition"><b>8.2.21 tts:rubyPosition</b></a></p></li><li><p><a href="#style-attribute-showBackground"><b>8.2.22 tts:showBackground</b></a></p></li><li><p><a href="#style-attribute-textAlign"><b>8.2.23 tts:textAlign</b></a></p></li><li><p><a href="#style-attribute-textDecoration"><b>8.2.24 tts:textDecoration</b></a></p></li><li><p><a href="#style-attribute-textOrientation"><b>8.2.25 tts:textOrientation</b></a></p></li><li><p><a href="#style-attribute-textOutline"><b>8.2.26 tts:textOutline</b></a></p></li><li><p><a href="#style-attribute-unicodeBidi"><b>8.2.27 tts:unicodeBidi</b></a></p></li><li><p><a href="#style-attribute-visibility"><b>8.2.28 tts:visibility</b></a></p></li><li><p><a href="#style-attribute-wrapOption"><b>8.2.29 tts:wrapOption</b></a></p></li><li><p><a href="#style-attribute-writingMode"><b>8.2.30 tts:writingMode</b></a></p></li><li><p><a href="#style-attribute-zIndex"><b>8.2.31 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-fontVariantPosition"><b>8.2.12 tts:fontVariantPosition</b></a></p></li><li><p><a href="#style-attribute-fontWeight"><b>8.2.13 tts:fontWeight</b></a></p></li><li><p><a href="#style-attribute-lineHeight"><b>8.2.14 tts:lineHeight</b></a></p></li><li><p><a href="#style-attribute-opacity"><b>8.2.15 tts:opacity</b></a></p></li><li><p><a href="#style-attribute-origin"><b>8.2.16 tts:origin</b></a></p></li><li><p><a href="#style-attribute-overflow"><b>8.2.17 tts:overflow</b></a></p></li><li><p><a href="#style-attribute-padding"><b>8.2.18 tts:padding</b></a></p></li><li><p><a href="#style-attribute-ruby"><b>8.2.19 tts:ruby</b></a></p></li><li><p><a href="#style-attribute-rubyAlign"><b>8.2.20 tts:rubyAlign</b></a></p></li><li><p><a href="#style-attribute-rubyOffset"><b>8.2.21 tts:rubyOffset</b></a></p></li><li><p><a href="#style-attribute-rubyPosition"><b>8.2.22 tts:rubyPosition</b></a></p></li><li><p><a href="#style-attribute-showBackground"><b>8.2.23 tts:showBackground</b></a></p></li><li><p><a href="#style-attribute-textAlign"><b>8.2.24 tts:textAlign</b></a></p></li><li><p><a href="#style-attribute-textDecoration"><b>8.2.25 tts:textDecoration</b></a></p></li><li><p><a href="#style-attribute-textOrientation"><b>8.2.26 tts:textOrientation</b></a></p></li><li><p><a href="#style-attribute-textOutline"><b>8.2.27 tts:textOutline</b></a></p></li><li><p><a href="#style-attribute-unicodeBidi"><b>8.2.28 tts:unicodeBidi</b></a></p></li><li><p><a href="#style-attribute-visibility"><b>8.2.29 tts:visibility</b></a></p></li><li><p><a href="#style-attribute-wrapOption"><b>8.2.30 tts:wrapOption</b></a></p></li><li><p><a href="#style-attribute-writingMode"><b>8.2.31 tts:writingMode</b></a></p></li><li><p><a href="#style-attribute-zIndex"><b>8.2.32 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
@@ -3601,9 +3604,8 @@
 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-ruby"></a>8.2.19 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>
+styling.</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 those element types indicated in the following table.</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> |
@@ -3616,7 +3618,54 @@
 </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>
+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>When using <code>tts:ruby</code>, the following nesting constraints apply:</p><ul><li><p>if the computed value of <code>tts:ruby</code> is <code>container</code>, then the
+computed value of <code>tts:ruby</code> of all ancestor elements is <code>none</code>;</p></li><li><p>if the computed value of <code>tts:ruby</code> is <code>container</code>, then the
+computed value of <code>tts:ruby</code> of its first child element is <code>baseContainer</code>
+or <code>base</code>;</p></li><li><p>if the computed value of <code>tts:ruby</code> is <code>baseContainer</code>, then the
+computed value of <code>tts:ruby</code> of its parent element is <code>container</code>;</p></li><li><p>if the computed value of <code>tts:ruby</code> is <code>baseContainer</code>, then the
+computed value of <code>tts:ruby</code> of its first child element is <code>base</code>;</p></li><li><p>if the computed value of <code>tts:ruby</code> is <code>baseContainer</code>, then its
+preceding sibling is <code>null</code> (i.e., no preceding sibling);</p></li><li><p>if the computed value of <code>tts:ruby</code> is <code>textContainer</code>, then the
+computed value of <code>tts:ruby</code> of its parent element is <code>container</code>;</p></li><li><p>if the computed value of <code>tts:ruby</code> is <code>textContainer</code>, then the
+computed value of <code>tts:ruby</code> of its first child element is <code>text</code>;</p></li><li><p>if the computed value of <code>tts:ruby</code> is <code>textContainer</code>, then the
+computed value of <code>tts:ruby</code> of its preceding sibling is <code>baseContainer</code> or
+<code>textContainer</code>;</p></li><li><p>if the computed value of <code>tts:ruby</code> is <code>textContainer</code>, then the
+computed value of <code>tts:ruby</code> of no more than one sibling is <code>textContainer</code>;</p></li><li><p>if the computed value of <code>tts:ruby</code> is <code>base</code>, then the
+computed value of <code>tts:ruby</code> of its parent element is either <code>container</code> or
+<code>baseContainer</code>;</p></li><li><p>if the computed value of <code>tts:ruby</code> is <code>base</code>, then its
+preceding sibling is either <code>null</code> (i.e., no preceding sibling) or the
+computed value of <code>tts:ruby</code> of its preceding sibling is <code>base</code>;</p></li><li><p>if the computed value of <code>tts:ruby</code> is <code>base</code> and the
+computed value of <code>tts:ruby</code> of its parent element is <code>container</code>,
+then the computed value of <code>tts:ruby</code> of no sibling is <code>base</code>;</p></li><li><p>if the computed value of <code>tts:ruby</code> is <code>base</code>, then the
+computed value of <code>tts:ruby</code> of no descendant element is not <code>none</code>;</p></li><li><p>if the computed value of <code>tts:ruby</code> is <code>text</code>, then the
+computed value of <code>tts:ruby</code> of its parent element is either <code>container</code> or
+<code>textContainer</code>;</p></li><li><p>if the computed value of <code>tts:ruby</code> is <code>text</code>, then the
+computed value of <code>tts:ruby</code> of its preceding sibling is <code>base</code>,
+<code>text</code>, or <code>delimiter</code>;</p></li><li><p>if the computed value of <code>tts:ruby</code> is <code>text</code> and the
+computed value of <code>tts:ruby</code> of its parent element is <code>container</code>,
+then the computed value of <code>tts:ruby</code> of no sibling is <code>text</code>;</p></li><li><p>if the computed value of <code>tts:ruby</code> is <code>text</code>, then the
+computed value of <code>tts:ruby</code> of no descendant element is not <code>none</code>;</p></li><li><p>if the computed value of <code>tts:ruby</code> is <code>delimiter</code>, then the
+computed value of <code>tts:ruby</code> of its parent element is <code>container</code>;</p></li><li><p>if the computed value of <code>tts:ruby</code> is <code>delimiter</code>, then the
+computed value of <code>tts:ruby</code> of its preceding sibling is <code>base</code> or
+<code>text</code>;</p></li><li><p>if the computed value of <code>tts:ruby</code> is <code>delimiter</code>, then the
+computed value of <code>tts:ruby</code> of exactly one sibling is <code>delimiter</code>;</p></li><li><p>if the computed value of <code>tts:ruby</code> is <code>delimiter</code>, then the
+computed value of <code>tts:ruby</code> of no descendant element is not <code>none</code>;</p></li></ul><div class="note"><p class="prefix"><b>Note:</b></p><p>The above listed constraints are intended to be interpreted as specifying the following nesting model:</p><div class="exampleInner"><pre>
+container
+  : baseContainer textContainer textContainer?
+  | base text
+  | base delimiter text delimiter
+
+baseContainer
+  : base+
+
+textContainer
+  : text+
+
+base | text | delimiter
+  : ( #PCDATA | { span - tts:ruby } )*
+</pre></div><p>This model corresponds to the maximal content model for the <code>ruby</code> element defined by <a href="#ruby">[Ruby]</a>, §2.1:</p><div class="exampleInner"><pre>
+((rb, (rt | (rp, rt, rp))) | (rbc, rtc, rtc?))
+</pre></div></div><p>A validating processor must treat a violation of any of the above constraints as an error.</p><p>For the purpose of presentation processing, the violation of any of these constraints should result in fallback (inline)
+presentation of ruby text annotations, where fallback annotation presentation is considered to be implementation dependent.</p><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>
 &lt;span <span class="strong">tts:ruby="container"</span>&gt;
   &lt;span <span class="strong">tts:ruby="base"</span>&gt;利用許諾&lt;/span&gt;
@@ -3643,15 +3692,14 @@
 </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.20 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>
+<h4><a id="style-attribute-rubyAlign"></a>8.2.20 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 those element types indicated in the following table.</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>
+<a href="#content-vocabulary-span"><code>span</code></a> only if the computed value of <a href="#style-attribute-ruby">tts:ruby</a> is <code>container</code>
 </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
@@ -3663,14 +3711,23 @@
 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.21 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>
+<h4><a id="style-attribute-rubyOffset"></a>8.2.21 tts:rubyOffset</h4><p>The <code>tts:rubyOffset</code> attribute is used to specify the offset (distance) of ruby text with respect to its associated ruby base
+in the block progression dimension.</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 those element types indicated in the following table.</p><a id="style-property-details-rubyOffset"></a><table class="common"><col width="25%" span="1"><col span="1"><tbody><tr><td><em>Values:</em></td><td>
+<a href="#style-value-length">&lt;length&gt;</a>
+</td></tr><tr><td><em>Initial:</em></td><td><code>0px</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#content-vocabulary-span"><code>span</code></a> only if the computed value of <a href="#style-attribute-ruby">tts:ruby</a> is <code>container</code>
+</td></tr><tr><td><em>Inherited:</em></td><td>yes</td></tr><tr><td><em>Percentages:</em></td><td>relative to this element's font size</td></tr><tr><td><em>Animatable:</em></td><td>continuous</td></tr></tbody></table><p></p><p>If specified, the value of <code>tts:rubyOffset</code> expresses the offset (distance) between padding edge <em>E<sub>1</sub></em> of the inline area
+generated by a ruby text container (explicit or implied) and padding edge <em>E<sub>2</sub></em>  of the inline area generated by a ruby base container (explicit or implied), where
+<em>E<sub>1</sub></em> and <em>E<sub>2</sub></em> are perpendicular to the block progression direction and are (or would be) adjacent in the absence of
+such an offset.</p><p>Negative length expressions are permitted.</p><table border="1" class="ednote" summary="Editorial note: Ruby Offset Example"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Ruby Offset Example</b></td><td align="right" valign="top">2014-10-02</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Add example and example rendering of tts:rubyOffset.</td></tr></table></div><div class="div3">
+<h4><a id="style-attribute-rubyPosition"></a>8.2.22 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 those element types indicated in the following table.</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>
 </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>
+<a href="#content-vocabulary-span"><code>span</code></a> only if the computed value of <a href="#style-attribute-ruby">tts:ruby</a> is <code>container</code>
 </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
@@ -3681,7 +3738,7 @@
 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></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.22 tts:showBackground</h4><p>The <code>tts:showBackground</code> attribute is used to specify
+<h4><a id="style-attribute-showBackground"></a>8.2.23 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
@@ -3722,7 +3779,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.23 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.24 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
@@ -3765,7 +3822,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.24 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.25 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
@@ -3814,7 +3871,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.25 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.26 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
@@ -3849,7 +3906,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.26 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.27 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
@@ -3898,7 +3955,7 @@
 &lt;/p&gt;
 </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.27 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.28 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
@@ -3937,7 +3994,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.28 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.29 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
@@ -3992,7 +4049,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.29 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.30 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
@@ -4026,7 +4083,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.30 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.31 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
@@ -4077,7 +4134,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.31 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.32 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
@@ -7999,7 +8056,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="d3e27335"></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="d3e27800"></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
@@ -8056,7 +8113,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="d3e27852"></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="d3e28317"></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
@@ -8148,9 +8205,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>&nbsp;<a href="#qaf-sg">[QAF SG]</a>.</p><div class="div2">
-<h3><a id="d3e28845"></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="d3e29310"></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="d3e29009"></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="d3e29474"></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">