TTML10 2nd Ed (3.2.1, D.2) - add notes explaining {mandatory,optional} semantics, improve language referring to {mandatory,optional} features.
authorGlenn Adams <glenn@skynav.com>
Thu, 18 Oct 2012 13:57:08 +0700
changeset 298 9469958bb36e
parent 297 2a3428cb1241
child 299 45af54c1124e
TTML10 2nd Ed (3.2.1, D.2) - add notes explaining {mandatory,optional} semantics, improve language referring to {mandatory,optional} features.
ttml10/spec/ttaf1-dfxp.html
ttml10/spec/ttaf1-dfxp.xml
--- a/ttml10/spec/ttaf1-dfxp.html	Sat Sep 29 09:44:15 2012 +0800
+++ b/ttml10/spec/ttaf1-dfxp.html	Thu Oct 18 13:57:08 2012 +0700
@@ -70,9 +70,9 @@
 .diff-del  { color: red; text-decoration: line-through; background-color: #99FF99; }
 .diff-chg  { background-color: #99FF99; }
 q.diff-off  {}
-</style><link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-ED.css"/></head><body>Last Modified: $Date: 2012/09/24 03:31:13 $<div id="revisions"/><div class="head">
+</style><link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-ED.css"/></head><body>Last Modified: $Date$<div id="revisions"/><div class="head">
 <h1><a name="title" id="title"/>Timed Text Markup Language (TTML) 1.0 (Second Edition)</h1>
-<h2><a name="w3c-doctype" id="w3c-doctype"/>Editors' copy $Date: 2012/09/24 03:31:13 $ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
+<h2><a name="w3c-doctype" id="w3c-doctype"/>Editors' copy $Date$ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
 <a href="ttaf1-dfxp.html">ttaf1-dfxp.html</a>
 </dd><dt>Latest version:</dt><dd><a href="http://dvcs.w3.org/hg/ttml/raw-file/tip/ttml10/spec/ttaf1-dfxp.html?content-type=text/html;charset=utf-8">http://dvcs.w3.org/hg/ttml/raw-file/tip/ttml10/spec/ttaf1-dfxp.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>
@@ -416,11 +416,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="#d3e17417">Element Derivation</a><br/>
-    J.2 <a href="#d3e17896">Attribute Derivation</a><br/>
+    J.1 <a href="#d3e17452">Element Derivation</a><br/>
+    J.2 <a href="#d3e17931">Attribute Derivation</a><br/>
 K <a href="#qa">QA Framework Compliance</a> (Non-Normative)<br/>
-    K.1 <a href="#d3e18764">Requirements</a><br/>
-    K.2 <a href="#d3e18928">Guidelines</a><br/>
+    K.1 <a href="#d3e18799">Requirements</a><br/>
+    K.2 <a href="#d3e18963">Guidelines</a><br/>
 L <a href="#streaming">Streaming TTML Content</a> (Non-Normative)<br/>
 M <a href="#acknowledgments">Acknowledgments</a> (Non-Normative)<br/>
 </p></div><hr/><div class="body"><div class="div1">
@@ -730,8 +730,15 @@
 processing of a conformant TTML document instance
 unless the processor does not support some required
 (mandatory) feature specified or implied by a TTML content profile
-declared to apply to the document instance.</p></li><li><p>The processor supports all mandatory processing semantics defined by this specification.</p></li><li><p>If the processor supports some optional processing semantics defined by this specification,
-then it does so in a manner consistent with the defined semantics.</p></li></ol></div><div class="div3">
+declared to apply to the document instance.</p></li><li><p>The processor supports all mandatory processing semantics defined by this specification.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The phrase <em>mandatory semantics</em> refers to all explicit use of the conformance
+key phrases <span class="strong">must</span> and <span class="strong">must not</span> as well as any
+declarative statement that can be reasonably inferred from such key phrases. For example, these
+mandatory semantics include support for all features marked as mandatory in <a href="#feature-support"><b>D.2 Feature Support</b></a>.</p></div></li><li><p>If the processor supports some optional processing semantics defined by this specification,
+then it does so in a manner consistent with the defined semantics.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The phrase <em>optional semantics</em> refers to all explicit use of the conformance
+key phrases <span class="strong">should</span>, <span class="strong">should not</span>,
+<span class="strong">may</span>, and <span class="strong">may not</span>,
+as well as any declarative statement that can be reasonably inferred from such key phrases. For example, these
+optional semantics include support for all features marked as optional in <a href="#feature-support"><b>D.2 Feature Support</b></a>.</p></div></li></ol></div><div class="div3">
 <h4><a name="conformance-transformation-processor" id="conformance-transformation-processor"/>3.2.2 Transformation Processor Conformance</h4><p>A TTML processor is a conformant TTML transformation processor if
 the following criteria are satisfied:</p><ol class="enumar"><li><p>The processor satisfies all requirements specified by
 <a href="#conformance-generic-processor"><b>3.2.1 Generic Processor Conformance</b></a>.</p></li><li><p>The processor supports the DFXP Transformation profile as specified
@@ -7780,8 +7787,8 @@
 <h3><a name="feature-support" id="feature-support"/>D.2 Feature Support</h3><p>The following table, <a href="#feature-support-table"><b>Table E-1 – Feature Support</b></a>,
 enumerates every defined feature designation (expressed without the TT
 Feature Namespace), and, for each designated feature, specifies
-whether the feature is mandatory (M) or optional (O) for
-transformation and presentation processors.</p><table summary="HTML Table" id="feature-support-table" class="common"><caption>Table E-1 – Feature Support</caption><col width="60%" span="1"/><col width="20%" span="1"/><col width="20%" span="1"/><tbody><tr><td><span class="strong">Feature</span></td><td><span class="strong">Transformation</span></td><td><span class="strong">Presentation</span></td></tr><tr><td><a href="#feature-animation"><code>#animation</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-backgroundColor"><code>#backgroundColor</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-backgroundColor-block"><code>#backgroundColor-block</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-backgroundColor-inline"><code>#backgroundColor-inline</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-backgroundColor-region"><code>#backgroundColor-region</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-bidi"><code>#bidi</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-cellResolution"><code>#cellResolution</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-clockMode"><code>#clockMode</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-clockMode-gps"><code>#clockMode-gps</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-clockMode-local"><code>#clockMode-local</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-clockMode-utc"><code>#clockMode-utc</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-color"><code>#color</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-content"><code>#content</code></a></td><td>M</td><td>M</td></tr><tr><td><a href="#feature-core"><code>#core</code></a></td><td>M</td><td>M</td></tr><tr><td><a href="#feature-direction"><code>#direction</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-display"><code>#display</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-display-block"><code>#display-block</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-display-inline"><code>#display-inline</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-display-region"><code>#display-region</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-displayAlign"><code>#displayAlign</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-dropMode"><code>#dropMode</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-dropMode-dropNTSC"><code>#dropMode-dropNTSC</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-dropMode-dropPAL"><code>#dropMode-dropPAL</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-dropMode-nonDrop"><code>#dropMode-nonDrop</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-extent"><code>#extent</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-extent-region"><code>#extent-region</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-extent-root"><code>#extent-root</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontFamily"><code>#fontFamily</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontFamily-generic"><code>#fontFamily-generic</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontFamily-non-generic"><code>#fontFamily-non-generic</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontSize"><code>#fontSize</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontSize-anamorphic"><code>#fontSize-anamorphic</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontSize-isomorphic"><code>#fontSize-isomorphic</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontStyle"><code>#fontStyle</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontStyle-italic"><code>#fontStyle-italic</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontStyle-oblique"><code>#fontStyle-oblique</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontWeight"><code>#fontWeight</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontWeight-bold"><code>#fontWeight-bold</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-frameRate"><code>#frameRate</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-frameRateMultiplier"><code>#frameRateMultiplier</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-layout"><code>#layout</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-length"><code>#length</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-length-cell"><code>#length-cell</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-length-em"><code>#length-em</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-length-integer"><code>#length-integer</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-length-negative"><code>#length-negative</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-length-percentage"><code>#length-percentage</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-length-pixel"><code>#length-pixel</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-length-positive"><code>#length-positive</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-length-real"><code>#length-real</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-lineBreak-uax14"><code>#lineBreak-uax14</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-lineHeight"><code>#lineHeight</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-markerMode"><code>#markerMode</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-markerMode-continuous"><code>#markerMode-continuous</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-markerMode-discontinuous"><code>#markerMode-discontinuous</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-metadata"><code>#metadata</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-nested-div"><code>#nested-div</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-nested-span"><code>#nested-span</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-opacity"><code>#opacity</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-origin"><code>#origin</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-overflow"><code>#overflow</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-overflow-visible"><code>#overflow-visible</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-padding"><code>#padding</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-padding-1"><code>#padding-1</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-padding-2"><code>#padding-2</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-padding-3"><code>#padding-3</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-padding-4"><code>#padding-4</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-pixelAspectRatio"><code>#pixelAspectRatio</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-presentation"><code>#presentation</code></a></td><td>O</td><td>M</td></tr><tr><td><a href="#feature-profile"><code>#profile</code></a></td><td>M</td><td>M</td></tr><tr><td><a href="#feature-showBackground"><code>#showBackground</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-structure"><code>#structure</code></a></td><td>M</td><td>M</td></tr><tr><td><a href="#feature-styling"><code>#styling</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-styling-chained"><code>#styling-chained</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-styling-inheritance-content"><code>#styling-inheritance-content</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-styling-inheritance-region"><code>#styling-inheritance-region</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-styling-inline"><code>#styling-inline</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-styling-nested"><code>#styling-nested</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-styling-referential"><code>#styling-referential</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-subFrameRate"><code>#subFrameRate</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-textAlign"><code>#textAlign</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-textAlign-absolute"><code>#textAlign-absolute</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-textAlign-relative"><code>#textAlign-relative</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-textDecoration"><code>#textDecoration</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-textDecoration-over"><code>#textDecoration-over</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-textDecoration-through"><code>#textDecoration-through</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-textDecoration-under"><code>#textDecoration-under</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-textOutline"><code>#textOutline</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-textOutline-blurred"><code>#textOutline-blurred</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-textOutline-unblurred"><code>#textOutline-unblurred</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-tickRate"><code>#tickRate</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-timeBase-clock"><code>#timeBase-clock</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-timeBase-media"><code>#timeBase-media</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-timeBase-smpte"><code>#timeBase-smpte</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-timeContainer"><code>#timeContainer</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-time-clock"><code>#time-clock</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-time-clock-with-frames"><code>#time-clock-with-frames</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-time-offset"><code>#time-offset</code></a></td><td>M</td><td>M</td></tr><tr><td><a href="#feature-time-offset-with-frames"><code>#time-offset-with-frames</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-time-offset-with-ticks"><code>#time-offset-with-ticks</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-timing"><code>#timing</code></a></td><td>M</td><td>M</td></tr><tr><td><a href="#feature-transformation"><code>#transformation</code></a></td><td>M</td><td>O</td></tr><tr><td><a href="#feature-unicodeBidi"><code>#unicodeBidi</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-visibility"><code>#visibility</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-visibility-block"><code>#visibility-block</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-visibility-inline"><code>#visibility-inline</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-visibility-region"><code>#visibility-region</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-wrapOption"><code>#wrapOption</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-writingMode"><code>#writingMode</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-writingMode-vertical"><code>#writingMode-vertical</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-writingMode-horizontal"><code>#writingMode-horizontal</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-writingMode-horizontal-lr"><code>#writingMode-horizontal-lr</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-writingMode-horizontal-rl"><code>#writingMode-horizontal-rl</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-zIndex"><code>#zIndex</code></a></td><td>O</td><td>O</td></tr></tbody></table><p>For the sake of convenience, the following table,
+whether the feature must be implemented, i.e., is mandatory (M), or may be implemented, i.e.,
+is optional (O), for transformation and presentation processors.</p><table summary="HTML Table" id="feature-support-table" class="common"><caption>Table E-1 – Feature Support</caption><col width="60%" span="1"/><col width="20%" span="1"/><col width="20%" span="1"/><tbody><tr><td><span class="strong">Feature</span></td><td><span class="strong">Transformation</span></td><td><span class="strong">Presentation</span></td></tr><tr><td><a href="#feature-animation"><code>#animation</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-backgroundColor"><code>#backgroundColor</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-backgroundColor-block"><code>#backgroundColor-block</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-backgroundColor-inline"><code>#backgroundColor-inline</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-backgroundColor-region"><code>#backgroundColor-region</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-bidi"><code>#bidi</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-cellResolution"><code>#cellResolution</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-clockMode"><code>#clockMode</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-clockMode-gps"><code>#clockMode-gps</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-clockMode-local"><code>#clockMode-local</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-clockMode-utc"><code>#clockMode-utc</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-color"><code>#color</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-content"><code>#content</code></a></td><td>M</td><td>M</td></tr><tr><td><a href="#feature-core"><code>#core</code></a></td><td>M</td><td>M</td></tr><tr><td><a href="#feature-direction"><code>#direction</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-display"><code>#display</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-display-block"><code>#display-block</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-display-inline"><code>#display-inline</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-display-region"><code>#display-region</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-displayAlign"><code>#displayAlign</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-dropMode"><code>#dropMode</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-dropMode-dropNTSC"><code>#dropMode-dropNTSC</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-dropMode-dropPAL"><code>#dropMode-dropPAL</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-dropMode-nonDrop"><code>#dropMode-nonDrop</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-extent"><code>#extent</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-extent-region"><code>#extent-region</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-extent-root"><code>#extent-root</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontFamily"><code>#fontFamily</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontFamily-generic"><code>#fontFamily-generic</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontFamily-non-generic"><code>#fontFamily-non-generic</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontSize"><code>#fontSize</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontSize-anamorphic"><code>#fontSize-anamorphic</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontSize-isomorphic"><code>#fontSize-isomorphic</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontStyle"><code>#fontStyle</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontStyle-italic"><code>#fontStyle-italic</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontStyle-oblique"><code>#fontStyle-oblique</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontWeight"><code>#fontWeight</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-fontWeight-bold"><code>#fontWeight-bold</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-frameRate"><code>#frameRate</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-frameRateMultiplier"><code>#frameRateMultiplier</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-layout"><code>#layout</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-length"><code>#length</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-length-cell"><code>#length-cell</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-length-em"><code>#length-em</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-length-integer"><code>#length-integer</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-length-negative"><code>#length-negative</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-length-percentage"><code>#length-percentage</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-length-pixel"><code>#length-pixel</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-length-positive"><code>#length-positive</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-length-real"><code>#length-real</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-lineBreak-uax14"><code>#lineBreak-uax14</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-lineHeight"><code>#lineHeight</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-markerMode"><code>#markerMode</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-markerMode-continuous"><code>#markerMode-continuous</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-markerMode-discontinuous"><code>#markerMode-discontinuous</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-metadata"><code>#metadata</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-nested-div"><code>#nested-div</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-nested-span"><code>#nested-span</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-opacity"><code>#opacity</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-origin"><code>#origin</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-overflow"><code>#overflow</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-overflow-visible"><code>#overflow-visible</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-padding"><code>#padding</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-padding-1"><code>#padding-1</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-padding-2"><code>#padding-2</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-padding-3"><code>#padding-3</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-padding-4"><code>#padding-4</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-pixelAspectRatio"><code>#pixelAspectRatio</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-presentation"><code>#presentation</code></a></td><td>O</td><td>M</td></tr><tr><td><a href="#feature-profile"><code>#profile</code></a></td><td>M</td><td>M</td></tr><tr><td><a href="#feature-showBackground"><code>#showBackground</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-structure"><code>#structure</code></a></td><td>M</td><td>M</td></tr><tr><td><a href="#feature-styling"><code>#styling</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-styling-chained"><code>#styling-chained</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-styling-inheritance-content"><code>#styling-inheritance-content</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-styling-inheritance-region"><code>#styling-inheritance-region</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-styling-inline"><code>#styling-inline</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-styling-nested"><code>#styling-nested</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-styling-referential"><code>#styling-referential</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-subFrameRate"><code>#subFrameRate</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-textAlign"><code>#textAlign</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-textAlign-absolute"><code>#textAlign-absolute</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-textAlign-relative"><code>#textAlign-relative</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-textDecoration"><code>#textDecoration</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-textDecoration-over"><code>#textDecoration-over</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-textDecoration-through"><code>#textDecoration-through</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-textDecoration-under"><code>#textDecoration-under</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-textOutline"><code>#textOutline</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-textOutline-blurred"><code>#textOutline-blurred</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-textOutline-unblurred"><code>#textOutline-unblurred</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-tickRate"><code>#tickRate</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-timeBase-clock"><code>#timeBase-clock</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-timeBase-media"><code>#timeBase-media</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-timeBase-smpte"><code>#timeBase-smpte</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-timeContainer"><code>#timeContainer</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-time-clock"><code>#time-clock</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-time-clock-with-frames"><code>#time-clock-with-frames</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-time-offset"><code>#time-offset</code></a></td><td>M</td><td>M</td></tr><tr><td><a href="#feature-time-offset-with-frames"><code>#time-offset-with-frames</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-time-offset-with-ticks"><code>#time-offset-with-ticks</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-timing"><code>#timing</code></a></td><td>M</td><td>M</td></tr><tr><td><a href="#feature-transformation"><code>#transformation</code></a></td><td>M</td><td>O</td></tr><tr><td><a href="#feature-unicodeBidi"><code>#unicodeBidi</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-visibility"><code>#visibility</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-visibility-block"><code>#visibility-block</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-visibility-inline"><code>#visibility-inline</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-visibility-region"><code>#visibility-region</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-wrapOption"><code>#wrapOption</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-writingMode"><code>#writingMode</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-writingMode-vertical"><code>#writingMode-vertical</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-writingMode-horizontal"><code>#writingMode-horizontal</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-writingMode-horizontal-lr"><code>#writingMode-horizontal-lr</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-writingMode-horizontal-rl"><code>#writingMode-horizontal-rl</code></a></td><td>O</td><td>O</td></tr><tr><td><a href="#feature-zIndex"><code>#zIndex</code></a></td><td>O</td><td>O</td></tr></tbody></table><p>For the sake of convenience, the following table,
 <a href="#feature-transformation-mandatory-table"><b>Table E-2 – Mandatory Features - Transformation</b></a>, enumerates all
 mandatory features for a TTML Transformation Processor, providing additional
 comments to summarize the context of usage or the nature of the feature.
@@ -8405,7 +8412,7 @@
 <h2><a name="derivation" id="derivation"/>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 name="d3e17417" id="d3e17417"/>J.1 Element Derivation</h3><p>The first column of <a href="#element-vocab-derivation-table"><b>Table K-1 – Elements</b></a>
+<h3><a name="d3e17452" id="d3e17452"/>J.1 Element Derivation</h3><p>The first column of <a href="#element-vocab-derivation-table"><b>Table K-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
@@ -8460,7 +8467,7 @@
 and <code>@requiredFeatures</code> on the <code>svg:svg</code> element,
 but extended to support distinct specification of optionality.</p></li><li><p>Derived from the use of <code>@baseProfile</code>
 and <code>@version</code> on the <code>svg:svg</code> element.</p></li></ol></div></div><div class="div2">
-<h3><a name="d3e17896" id="d3e17896"/>J.2 Attribute Derivation</h3><p>The first column of <a href="#attribute-vocab-derivation-table"><b>Table K-2 – Attributes</b></a>
+<h3><a name="d3e17931" id="d3e17931"/>J.2 Attribute Derivation</h3><p>The first column of <a href="#attribute-vocab-derivation-table"><b>Table K-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
@@ -8532,9 +8539,9 @@
 <h2><a name="qa" id="qa"/>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 name="d3e18764" id="d3e18764"/>K.1 Requirements</h3><table summary="HTML Table" id="qa-framework-requirements-table" class="common"><caption>Table L-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 name="d3e18799" id="d3e18799"/>K.1 Requirements</h3><table summary="HTML Table" id="qa-framework-requirements-table" class="common"><caption>Table L-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/></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/></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/></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/></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/></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/></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/></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/></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/></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/></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/></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>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>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 name="d3e18928" id="d3e18928"/>K.2 Guidelines</h3><table summary="HTML Table" id="qa-framework-guidelines-table" class="common"><caption>Table L-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/></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/></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/></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>NO</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/></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/></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/></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>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/></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>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/></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>NO</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/></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/></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/></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/></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/></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/></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/></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>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>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>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/></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 name="d3e18963" id="d3e18963"/>K.2 Guidelines</h3><table summary="HTML Table" id="qa-framework-guidelines-table" class="common"><caption>Table L-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/></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/></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/></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>NO</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/></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/></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/></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>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/></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>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/></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>NO</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/></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/></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/></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/></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/></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/></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/></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>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>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>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/></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
 <a href="#doctypes">TTML 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">
--- a/ttml10/spec/ttaf1-dfxp.xml	Sat Sep 29 09:44:15 2012 +0800
+++ b/ttml10/spec/ttaf1-dfxp.xml	Thu Oct 18 13:57:08 2012 +0700
@@ -902,10 +902,23 @@
 </item>
 <item>
 <p>The processor supports all mandatory processing semantics defined by this specification.</p>
+<note role="clarification">
+<p>The phrase <emph>mandatory semantics</emph> refers to all explicit use of the conformance
+key phrases <phrase role ="strong">must</phrase> and <phrase role="strong">must not</phrase> as well as any
+declarative statement that can be reasonably inferred from such key phrases. For example, these
+mandatory semantics include support for all features marked as mandatory in <specref ref="feature-support"/>.</p>
+</note>
 </item>
 <item>
 <p>If the processor supports some optional processing semantics defined by this specification,
 then it does so in a manner consistent with the defined semantics.</p>
+<note role="clarification">
+<p>The phrase <emph>optional semantics</emph> refers to all explicit use of the conformance
+key phrases <phrase role ="strong">should</phrase>, <phrase role="strong">should not</phrase>,
+<phrase role ="strong">may</phrase>, and <phrase role="strong">may not</phrase>,
+as well as any declarative statement that can be reasonably inferred from such key phrases. For example, these
+optional semantics include support for all features marked as optional in <specref ref="feature-support"/>.</p>
+</note>
 </item>
 </olist>
 </div3>
@@ -10577,8 +10590,8 @@
 <p>The following table, <specref ref="feature-support-table"/>,
 enumerates every defined feature designation (expressed without the TT
 Feature Namespace), and, for each designated feature, specifies
-whether the feature is mandatory (M) or optional (O) for
-transformation and presentation processors.</p>
+whether the feature must be implemented, i.e., is mandatory (M), or may be implemented, i.e.,
+is optional (O), for transformation and presentation processors.</p>
 <table id="feature-support-table" role="common">
 <caption>Table E-1 &ndash; Feature Support</caption>
 <col width="60%"/>