[ttml2] define initial element type, root style inheritance, rework SSS(E) processing (issues 207, 277, 281)
authorGlenn Adams <glenn@skynav.com>
Sun, 14 Sep 2014 15:28:35 +0200
changeset 698 cc79aa829687
parent 697 dff9fc930069
child 699 49971bded368
[ttml2] define initial element type, root style inheritance, rework SSS(E) processing (issues 207, 277, 281)
ttml2/spec/rnc/schema.zip
ttml2/spec/rnc/ttml2-document.rnc
ttml2/spec/rnc/ttml2-styling.rnc
ttml2/spec/ttml2-changes.html
ttml2/spec/ttml2.html
ttml2/spec/ttml2.xml
ttml2/spec/xsd/schema.zip
ttml2/spec/xsd/ttml2-document.xsd
ttml2/spec/xsd/ttml2-styling.xsd
Binary file ttml2/spec/rnc/schema.zip has changed
--- a/ttml2/spec/rnc/ttml2-document.rnc	Wed Sep 10 14:54:38 2014 -0700
+++ b/ttml2/spec/rnc/ttml2-document.rnc	Sun Sep 14 15:28:35 2014 +0200
@@ -12,7 +12,7 @@
 TTAF.tt.attlist &=
   TTAF.Core.required.attrib.class,
   TTAF.Parameter.attrib.class,
-  TTAF.extent.attrib
+  TTAF.Styled.attrib.class
 
 TTAF.tt.content =
   (TTAF.head?, TTAF.body?)
--- a/ttml2/spec/rnc/ttml2-styling.rnc	Wed Sep 10 14:54:38 2014 -0700
+++ b/ttml2/spec/rnc/ttml2-styling.rnc	Sun Sep 14 15:28:35 2014 +0200
@@ -19,6 +19,7 @@
 TTAF.styling.content.extra = empty
 TTAF.styling.content =
   (TTAF.Metadata.class*,
+   TTAF.styling.initial*,
    TTAF.styling.defs.class*,
    TTAF.styling.content.extra*)
 
@@ -40,6 +41,24 @@
   (TTAF.Metadata.class*,
    TTAF.styling.style.content.extra*)
 
+# initial - initial declaration
+TTAF.styling.initial =
+  element initial {
+    TTAF.styling.initial.attlist,
+    TTAF.styling.initial.content
+  }
+
+TTAF.styling.initial.attlist =
+  TTAF.Core.attrib.class,
+  TTAF.style.attrib,
+  (TTAF.Styling.attrib.class |
+   TTAF.Styling.ForeignExtension.attrib+ )
+
+TTAF.styling.initial.content.extra = empty
+TTAF.styling.initial.content =
+  (TTAF.Metadata.class*,
+   TTAF.styling.initial.content.extra*)
+
 # style definitions class
 TTAF.styling.defs.extra = empty
 TTAF.styling.defs.class = 
--- a/ttml2/spec/ttml2-changes.html	Wed Sep 10 14:54:38 2014 -0700
+++ b/ttml2/spec/ttml2-changes.html	Sun Sep 14 15:28:35 2014 +0200
@@ -113,6 +113,10 @@
 * In 6.2.10, deprecate 'ttp:profile' parameter attribute, replacing it with
   'ttp:processorProfiles' parameter attribute.
 
+* In 7.1.1, add {any attribute in TT Style Namespace} to definition of 'tt'
+  element in order to support a common ancestor of 'region' elements from
+  which styles may be inherited.
+
 * In 7.1.2, add new 'animation' container element as optional child of 'head'
   element.
 
@@ -142,12 +146,18 @@
 
 * In 7.1.7, add 'animate' attribute to 'br' element.
 
-* In 8.1.2, add Metadata.class children to 'style' element.
+* Insert new subsection 8.1.2, defining  'initial' element type used to
+  redefine initial value of style property(ies).
+
+* In 8.1.3, add Metadata.class children to 'style' element.
 
 * In 8.2, add 'tts:border' styling attribute.
 
 * In 8.2, add 'tts:textOrientation' styling attribute.
 
+* In 8.2 prologue, add proscription against specifying non-applicable,,
+  non-inheritable style attributes on stylable elements.
+
 * In 8.2.1, add 'set' element to enumeration of element types to which 'style'
   attribute applies.
 
@@ -184,12 +194,18 @@
 * In 8.3, add &lt;border-color&gt;, &lt;border-style&gt;, and &lt;border-width&gt;
   value expressions.
 
+* Add section 8.4.2.3 defining root style inheritance.
+
 * In 8.3.12, add 'vw', 'vh', 'vmin', and 'vmax' units of measure in order to
   express lengths as a percentage of the root container region (as viewport).
 
 * In 8.4.4, add semantics for determining specified style set and computed
   style set for 'set' element.
 
+* In 8.4.4.2, rework SSS(E) processing algorithm to properly account for
+  inheritable and non-inheritable properties, use of specified initial
+  value overrides, and root style inheritance.
+
 * In 9.1.2, require out-of-line region to specify 'xml:id' attribute.
 
 * In 9.3.1, qualify default region in terms of out-of-line region(s).
@@ -218,6 +234,9 @@
 * In 11.3 (new), add new sub-section defining animation specific value
   expressions.
 
+* In Appendix B, update referenced schemas to reflect new/changed vocabulary
+  definitions.
+
 * In Appendix C, remove contents for mediate type registration, since
   registration has (will have) already occurred (by the time TTML2 goes to
   FPWD).
@@ -274,6 +293,9 @@
 
 * In 8.2, add note about the use of non-applicable style attributes.
 
+* In 8.4.4.4, rework [filter] step to explicitly enumerate element types
+  not filtered.
+
 * In 9.2.1, add 'br' element to list of elements on which region attribute may
   be specified.
 
--- a/ttml2/spec/ttml2.html	Wed Sep 10 14:54:38 2014 -0700
+++ b/ttml2/spec/ttml2.html	Sun Sep 14 15:28:35 2014 +0200
@@ -82,9 +82,9 @@
 .obsoleted { background-color: #f26d7d }
 .reqattr { font-weight: bold }
 .optattr { font-style: italic }
-</style><link rel="stylesheet" type="text/css" href="https://www.w3.org/StyleSheets/TR/W3C-ED.css"></head><body>Last Modified: $Date: 2014/08/07 16:46:04 $<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$<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/08/07 16:46:04 $ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
+<h2><a id="w3c-doctype"></a>Editors' copy $Date$ @@ @@@@ @@@@</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>
@@ -180,7 +180,8 @@
 8 <a href="#styling">Styling</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;8.1 <a href="#styling-element-vocabulary">Styling Element Vocabulary</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.1.1 <a href="#styling-vocabulary-styling">styling</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.1.2 <a href="#styling-vocabulary-style">style</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.1.2 <a href="#styling-vocabulary-initial">initial</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.1.3 <a href="#styling-vocabulary-style">style</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;8.2 <a href="#styling-attribute-vocabulary">Styling Attribute Vocabulary</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.1 <a href="#style-attribute-style">style</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.2.2 <a href="#style-attribute-backgroundColor">tts:backgroundColor</a><br>
@@ -234,6 +235,7 @@
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.4.2 <a href="#semantics-style-inheritance">Style Inheritance</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.4.2.1 <a href="#semantics-style-inheritance-content">Content Style Inheritance</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.4.2.2 <a href="#semantics-style-inheritance-region">Region Style Inheritance</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.4.2.3 <a href="#semantics-style-inheritance-root">Root Style Inheritance</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.4.3 <a href="#semantics-style-resolution-value-categories">Style Resolution Value Categories</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.4.3.1 <a href="#semantics-style-resolved-value-category-specified">Specified Values</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.4.3.2 <a href="#semantics-style-resolved-value-category-computed">Computed Values</a><br>
@@ -433,11 +435,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="#d3e25233">Element Derivation</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;J.2 <a href="#d3e25750">Attribute Derivation</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;J.1 <a href="#d3e25497">Element Derivation</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;J.2 <a href="#d3e26014">Attribute Derivation</a><br>
 K <a href="#qa">QA Framework Compliance</a> (Non-Normative)<br>
-&nbsp;&nbsp;&nbsp;&nbsp;K.1 <a href="#d3e26743">Requirements</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;K.2 <a href="#d3e26907">Guidelines</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;K.1 <a href="#d3e27007">Requirements</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;K.2 <a href="#d3e27171">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>
@@ -1231,6 +1233,7 @@
 Styling
 </td><td>
 <a href="#styling-vocabulary-styling">styling</a>,
+<a href="#styling-vocabulary-initial">initial</a>,
 <a href="#styling-vocabulary-style">style</a>
 </td></tr></tbody></table><p></p><p>Element vocabulary groups that are used in defining content models
 for TTML element types are enumerated in <a href="#element-vocab-group-table"><b>Table 5-4 – Element Vocabulary Groups</b></a>.</p><a id="element-vocab-group-table"></a><table class="common"><caption>Table 5-4 – Element Vocabulary Groups</caption><col width="25%" span="1"><col span="1"><tbody><tr><th>Group</th><th>Elements</th></tr><tr><td>
@@ -2324,6 +2327,7 @@
   <a href="#content-attribute-lang"><span class="reqattr">xml:lang</span></a> = string
   <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>) : default
   {<em>any attribute in TT Parameter namespace</em>}
+  {<em>any attribute in TT Style namespace</em>}
   {<em>any attribute not in default or any TT namespace</em>}&gt;
   <em>Content:</em> <a href="#document-structure-vocabulary-head">head</a>?, <a href="#document-structure-vocabulary-body">body</a>?
 &lt;/tt&gt;
@@ -2342,7 +2346,9 @@
 without specifying its resolution, then this may be accomplished by using metadata specified
 in an external namespace, such as <code>m708:aspectRatio</code> as defined in <a href="#smpte2052">[SMPTE 2052-11]</a>, §5.4.4.
 This would permit, for example, the interchange of information that reflects the
-the semantics of <a href="#cea708e">[CEA-708-E]</a> , §4.5 “Caption Service Metadata”, “ASPECT RATIO”.</p></div><p>An <code>xml:lang</code> attribute must be specified on the <code>tt</code> element.
+the semantics of <a href="#cea708e">[CEA-708-E]</a> , §4.5 “Caption Service Metadata”, “ASPECT RATIO”.</p></div><p>Except for the <code>tts:extent</code> attribute described above, an attribute in the TT Style Namespace should not be specified on the <code>tt</code> element
+unless it denotes an inheritable style property, and, if specified, must be ignored for the purpose of non-validation processing. In the case of validation
+processing, such usage should be reported as a warning, or, if strict validation is performed, as an error.</p><p>An <code>xml:lang</code> attribute must be specified on the <code>tt</code> element.
 If the attribute value is empty, it signifies that there is no default language that applies
 to the text contained within the <a href="#terms-document-instance">document instance</a>.</p><p>If no <code>xml:space</code> attribute is specified upon the <code>tt</code> element, then it must
 be considered as if the attribute had been specified with a value of <code>default</code>.</p></div><div class="div3">
@@ -2650,24 +2656,49 @@
 <code>&lt;?xml-stylesheet ... ?&gt;</code> processing instruction is defined
 by this specification.</p><div class="div2">
 <h3><a id="styling-element-vocabulary"></a>8.1 Styling Element Vocabulary</h3><p>The following elements specify the structure and principal styling aspects of a
-<a href="#terms-document-instance">document instance</a>:</p><ul><li><p><a href="#styling-vocabulary-styling"><b>8.1.1 styling</b></a></p></li><li><p><a href="#styling-vocabulary-style"><b>8.1.2 style</b></a></p></li></ul><div class="div3">
+<a href="#terms-document-instance">document instance</a>:</p><ul><li><p><a href="#styling-vocabulary-styling"><b>8.1.1 styling</b></a></p></li><li><p><a href="#styling-vocabulary-initial"><b>8.1.2 initial</b></a></p></li><li><p><a href="#styling-vocabulary-style"><b>8.1.3 style</b></a></p></li></ul><div class="div3">
 <h4><a id="styling-vocabulary-styling"></a>8.1.1 styling</h4><p>The <code>styling</code> element is a container element used to group
 styling matter, including metadata that applies to styling matter.</p><p>The <code>styling</code> element accepts as its children zero or more
-elements in the <code>Metadata.class</code> element group, followed by
-zero or more <code>style</code> elements.</p><a id="elt-syntax-styling"></a><table class="syntax"><caption>XML Representation – Element Information Item: styling</caption><tbody><tr><td>
+elements in the <code>Metadata.class</code> element group,
+followed by zero or more <code>initial</code> elements,
+followed by zero or more <code>style</code> elements.</p><a id="elt-syntax-styling"></a><table class="syntax"><caption>XML Representation – Element Information Item: styling</caption><tbody><tr><td>
 <div class="exampleInner"><pre>
 &lt;styling
   <a href="#content-attribute-id">xml:id</a> = ID
   <a href="#content-attribute-lang">xml:lang</a> = string
   <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
   {<em>any attribute not in default or any TT namespace</em>}&gt;
-  <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href="#styling-vocabulary-style">style</a>*
+  <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href="#styling-vocabulary-initial">initial</a>*, <a href="#styling-vocabulary-style">style</a>*
 &lt;/styling&gt;
 </pre></div>
 </td></tr></tbody></table><p>To the extent that time semantics apply to the content of the
 <code>styling</code> element, the implied time interval of this element is
 defined to be coterminous with the <a href="#terms-root-temporal-extent">root temporal extent</a>.</p></div><div class="div3">
-<h4><a id="styling-vocabulary-style"></a>8.1.2 style</h4><p>The <code>style</code> element is used to define
+<h4><a id="styling-vocabulary-initial"></a>8.1.2 initial</h4><p>The <code>initial</code> element is used to modify the initial value of one or more style properties, i.e, to specify use of different value(s) than
+the specification defined initial value(s).</p><p>The <code>initial</code> element accepts as its children zero or more <code>metadata</code> elements.</p><a id="elt-syntax-initial"></a><table class="syntax"><caption>XML Representation – Element Information Item: initial</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;initial
+  <a href="#content-attribute-id">xml:id</a> = ID
+  <a href="#content-attribute-lang">xml:lang</a> = string
+  <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+  {<em>any attribute in TT Style namespace</em>}
+  {<em>any attribute not in default or any TT namespace</em>}&gt;
+  <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*
+&lt;/initial&gt;
+</pre></div>
+</td></tr></tbody></table><p>The <code>initial</code> element is illustrated by the following example, wherein
+the initial value of the <code>tts:color</code> property is defined to be <code>yellow</code>.</p><a id="style-vocabulary-initial-example-1"></a><table class="example"><caption>Example Fragment – <code>initial</code></caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+...
+&lt;head&gt;
+  &lt;styling&gt;
+    <span class="strong">&lt;initial tts:color="yellow"/&gt;</span>
+  &lt;styling&gt;
+&lt;head&gt;
+...
+</pre></div>
+</td></tr></tbody></table></div><div class="div3">
+<h4><a id="styling-vocabulary-style"></a>8.1.3 style</h4><p>The <code>style</code> element is used to define
 a set of style specifications expressed as a
 specified style set in accordance with
 <a href="#semantics-style-resolution-processing-sss"><b>8.4.4.2 Specified Style Set Processing</b></a>.</p><p>The <code>style</code> element accepts as its children zero or more <code>metadata</code> elements.</p><a id="elt-syntax-style"></a><table class="syntax"><caption>XML Representation – Element Information Item: style</caption><tbody><tr><td>
@@ -2694,13 +2725,18 @@
 for use with style definition elements, certain layout elements, and <a href="#terms-content-element">content elements</a>
 that support inline style specifications:</p><ul><li><p><a href="#style-attribute-backgroundColor"><b>8.2.2 tts:backgroundColor</b></a></p></li><li><p><a href="#style-attribute-border"><b>8.2.3 tts:border</b></a></p></li><li><p><a href="#style-attribute-color"><b>8.2.4 tts:color</b></a></p></li><li><p><a href="#style-attribute-direction"><b>8.2.5 tts:direction</b></a></p></li><li><p><a href="#style-attribute-display"><b>8.2.6 tts:display</b></a></p></li><li><p><a href="#style-attribute-displayAlign"><b>8.2.7 tts:displayAlign</b></a></p></li><li><p><a href="#style-attribute-extent"><b>8.2.8 tts:extent</b></a></p></li><li><p><a href="#style-attribute-fontFamily"><b>8.2.9 tts:fontFamily</b></a></p></li><li><p><a href="#style-attribute-fontSize"><b>8.2.10 tts:fontSize</b></a></p></li><li><p><a href="#style-attribute-fontStyle"><b>8.2.11 tts:fontStyle</b></a></p></li><li><p><a href="#style-attribute-fontWeight"><b>8.2.12 tts:fontWeight</b></a></p></li><li><p><a href="#style-attribute-lineHeight"><b>8.2.13 tts:lineHeight</b></a></p></li><li><p><a href="#style-attribute-opacity"><b>8.2.14 tts:opacity</b></a></p></li><li><p><a href="#style-attribute-origin"><b>8.2.15 tts:origin</b></a></p></li><li><p><a href="#style-attribute-overflow"><b>8.2.16 tts:overflow</b></a></p></li><li><p><a href="#style-attribute-padding"><b>8.2.17 tts:padding</b></a></p></li><li><p><a href="#style-attribute-showBackground"><b>8.2.18 tts:showBackground</b></a></p></li><li><p><a href="#style-attribute-textAlign"><b>8.2.19 tts:textAlign</b></a></p></li><li><p><a href="#style-attribute-textDecoration"><b>8.2.20 tts:textDecoration</b></a></p></li><li><p><a href="#style-attribute-textOrientation"><b>8.2.21 tts:textOrientation</b></a></p></li><li><p><a href="#style-attribute-textOutline"><b>8.2.22 tts:textOutline</b></a></p></li><li><p><a href="#style-attribute-unicodeBidi"><b>8.2.23 tts:unicodeBidi</b></a></p></li><li><p><a href="#style-attribute-visibility"><b>8.2.24 tts:visibility</b></a></p></li><li><p><a href="#style-attribute-wrapOption"><b>8.2.25 tts:wrapOption</b></a></p></li><li><p><a href="#style-attribute-writingMode"><b>8.2.26 tts:writingMode</b></a></p></li><li><p><a href="#style-attribute-zIndex"><b>8.2.27 tts:zIndex</b></a></p></li></ul><table border="1" class="ednote" summary="Editorial note: Additional Border Styling Attributes"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Additional Border Styling Attributes</b></td><td align="right" valign="top">2013-08-24</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Consider adding support for <code>tts:borderColor</code>, <code>tts:borderStyle</code>, and <code>tts:borderWidth</code>
 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 stated otherwise, linear white-space (LWSP) must
+<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
+and does not denote an inheritable style property, then it must be ignored for the purpose of non-validation processing.
+In the case of validation processing, such usage should be reported as a warning, or, if strict validation is performed,
+as an error.</p><p>Unless explicitly stated otherwise, linear white-space (LWSP) must
 appear between adjacent non-terminal components of a value of a TT
 Style property value unless some other delimiter is permitted and used.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This specification makes use of <em>lowerCamelCased</em> local
 names for style attributes that
 are based upon like-named properties defined by <a href="#xsl11">[XSL 1.1]</a>.
 This convention is likewise extended to token values of such
-properties.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>A style property may be expressed as a specified attribute on any
+properties.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>An inheritable style property may be expressed as a specified attribute on the
+root <a href="#document-structure-vocabulary-tt"><code>tt</code></a> element or on a
 <a href="#terms-content-element">content element</a> type
 independently of whether the property applies to that
 element type. This capability permits the expression of an inheritable
@@ -4323,9 +4359,7 @@
 specified style set of each content and
 layout element.</p><p>Styles are further propagated to content matter
 using:
-</p><ul><li><p><a href="#semantics-style-inheritance-content">content style inheritance</a></p></li><li><p><a href="#semantics-style-inheritance-content">region style inheritance</a></p></li></ul><table border="1" class="ednote" summary="Editorial note: Layout Style Inheritance"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Layout Style Inheritance</b></td><td align="right" valign="top">2013-09-05</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Regions should be able to inherit styles from a common ancestor in order to prevent
-having to full populate region styles. <a href="https://www.w3.org/AudioVideo/TT/tracker/issues/277">Issue 277</a> proposes
-inheritance from the layout element.</td></tr></table><p>For the purpose of determining inherited styles, the element hierarchy of
+</p><ul><li><p><a href="#semantics-style-inheritance-content">content style inheritance</a></p></li><li><p><a href="#semantics-style-inheritance-content">region style inheritance</a></p></li><li><p><a href="#semantics-style-inheritance-content">root style inheritance</a></p></li></ul><p>For the purpose of determining inherited styles, the element hierarchy of
 an intermediate synchronic document form of a <a href="#terms-document-instance">document instance</a> must be used, where
 such intermediate forms are defined by <a href="#semantics-region-layout-step-1"><b>9.3.3 Intermediate Synchronic Document Construction</b></a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The intermediate synchronic document form is utilized rather than
 the original form in order to facilitate region inheritance
@@ -4334,11 +4368,10 @@
 within an intermediate synchronic document
 if a style property is not associated with a <a href="#terms-content-element">content element</a> (or
 an anonymous span) and the style property is designated as
-inheritable.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The <code>tt</code> element is not a <a href="#terms-content-element">content element</a>;
-consequently, the <code>body</code> element is the outermost element from which content style inheritance occurs.</p></div><p>If a style property is determined to require inheritance, then the inherited value must
+inheritable.</p><p>If a style property is determined to require inheritance, then the inherited value must
 be the value of the same named style property in the computed
 style set of the
-element's immediate ancestor element
+element's nearest ancestor element that defines the property
 within the applicable intermediate synchronic document.</p><a id="style-inheritance-example-2"></a><table class="example"><caption>Example – Content Style Inheritance</caption><tbody><tr><td>
 <div class="exampleInner"><pre>
 &lt;p <span class="strong">tts:fontFamily="monospaceSansSerif"</span>&gt;
@@ -4355,14 +4388,10 @@
 specified
 style
 set of the <code>span</code> element.</p></div></div><div class="div4">
-<h5><a id="semantics-style-inheritance-region"></a>8.4.2.2 Region Style Inheritance</h5><p>Style properties are inherited from a <a href="#layout-vocabulary-region">region</a> element in the following case:</p><ol class="enumar"><li><p>if a style property <em>P</em> is not associated with
+<h5><a id="semantics-style-inheritance-region"></a>8.4.2.2 Region Style Inheritance</h5><p>Style properties are inherited from a <a href="#layout-vocabulary-region">region</a> element in the following case:</p><ol class="enumar"><li><p>if an inheritable style property <em>P</em> is not associated with
 a <a href="#terms-content-element">content element</a>
-or an anonymous span <em>E</em> and the style
-property is designated as inheritable, and</p></li><li><p>if that
-style property <em>P</em> is in the computed style
-set of region
-<em>R</em>,
-and</p></li><li><p>if that element <em>E</em> is flowed into (presented within) region
+or an anonymous span <em>E</em>, and</p></li><li><p>if that style property <em>P</em> is in the computed style
+set of region <em>R</em>, and</p></li><li><p>if that element <em>E</em> is flowed into (presented within) region
 <em>R</em>.</p></li></ol><a id="style-inheritance-example-3"></a><table class="example"><caption>Example – Region Style Inheritance</caption><tbody><tr><td>
 <div class="exampleInner"><pre>
 &lt;region <span class="strong">xml:id="r1"</span>&gt;
@@ -4375,7 +4404,26 @@
 </td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>In the above example, the anonymous span that encloses the character
 items <code>Yellow Monospace</code> effectively inherits the <code>tts:color</code>
 and <code>tts:fontFamily</code> styles specified on the <code>region</code>
-element into which the <code>p</code> element is flowed (presented).</p></div></div></div><div class="div3">
+element into which the <code>p</code> element is flowed (presented).</p></div></div><div class="div4">
+<h5><a id="semantics-style-inheritance-root"></a>8.4.2.3 Root Style Inheritance</h5><p>Style properties are inherited from the root <a href="#document-structure-vocabulary-tt">tt</a> element in the following case:</p><ol class="enumar"><li><p>if an inheritable style property <em>P</em> is not associated with
+a <a href="#layout-vocabular-region"><code>region</code></a> element, and</p></li><li><p>if that
+style property <em>P</em> is in the computed style
+set of the root <a href="#document-structure-vocabulary-tt">tt</a> element.</p></li></ol><div class="note"><p class="prefix"><b>Note:</b></p><p>Root style inheritance provides a mechanism by means of which <code>region</code> elements
+can inherit a common style rather than repeating the specification of the style on each
+<code>region</code> element.</p></div><a id="style-inheritance-example-4"></a><table class="example"><caption>Example – Root Style Inheritance</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;tt <span class="strong">tts:color="yellow"</span>&gt;
+...
+&lt;region xml:id="r1" <span class="strong">tts:fontFamily="monospaceSerif"</span>/&gt;
+...
+&lt;p region="r1"&gt;Yellow Monospace&lt;/p&gt;
+...
+&lt;/tt&gt;
+</pre></div>
+</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>In the above example, the <code>region</code> element inherits the
+<code>tts:color</code> style specified on the <code>tt</code> element, which,
+along with the <code>tts:fontFamily</code> style specified on the <code>region</code>
+element, are inherited by <code>p</code> element when selected into the region.</p></div></div></div><div class="div3">
 <h4><a id="semantics-style-resolution-value-categories"></a>8.4.3 Style Resolution Value Categories</h4><p>During style resolution, layout, and presentation processing,
 three categories of style property values are distinguished as
 follows:</p><ul><li><p><a href="#semantics-style-resolved-value-category-specified">specified values</a></p></li><li><p><a href="#semantics-style-resolved-value-category-computed">computed values</a></p></li><li><p><a href="#semantics-style-resolved-value-category-actual">actual values</a></p></li></ul><div class="div4">
@@ -4521,23 +4569,28 @@
 <code>set</code>, then for each
 immediate animation (<code>set</code>) element child <em>A</em> of element <em>E</em>,
 merge the specified style set of <em>A</em>,
-<em>SSS(A)</em>, into the specified style set of <em>E</em>, <em>SSS(E)</em>;</p></li><li><p><span class="strong">[implicit inheritance]</span> if the
-element type of <em>E</em> is not the animation element type <code>set</code>
-or the styling element type <code>style</code>,
-then for each inheritable style property
-<em>P<sub>INH</sub></em> in the set of style properties defined
+<em>SSS(A)</em>, into the specified style set of <em>E</em>, <em>SSS(E)</em>;</p></li><li><p><span class="strong">[implicit inheritance and initial value fallback]</span> if the
+element type of <em>E</em> is not animation element type <code>animate</code> or <code>set</code>
+and is not styling element type <code>style</code>,
+then for each style property
+<em>P</em> in the set of style properties defined
 above in <a href="#styling-attribute-vocabulary"><b>8.2 Styling Attribute Vocabulary</b></a>, perform the
-following ordered sub-steps:</p><ol class="enumla"><li><p>if <em>P<sub>INH</sub></em> is present in the specified
+following ordered sub-steps:</p><ol class="enumla"><li><p>if <em>P</em> is present in the specified
 style set of <em>E</em>, <em>SSS(E)</em>, then continue to the
-next inheritable style property;</p></li><li><p>if the element type of <em>E</em> is the layout element
-type <code>region</code>, then set <em>P′</em> to the initial value of
+next style property;</p></li><li><p>if <em>P</em> is defined to be inheritable and <em>E</em> is
+not the <a href="#document-structure-vocabulary-tt"><code>tt</code></a> element, then perform the following:</p><ul><li><p>if <em>E</em> is not a
+<a href="#styling-vocabulary-style"><code>style</code></a>,
+<a href="#animation-vocabulary-animate"><code>animate</code></a>, or
+<a href="#animation-vocabulary-set"><code>set</code></a> element,
+then set <em>P′</em> to the result of
+looking up the value of <em>P</em> in the computed style set of
+the nearest ancestor element of <em>E</em>, <em>NEAREST-ANCESTOR(E)</em>, such that
+<em>CSS(NEAREST-ANCESTOR(E))</em> contains a definition of <em>P</em>;</p></li></ul></li><li><p>otherwise (<em>P</em> is not inheritable or <em>E</em> is
+the <a href="#document-structure-vocabulary-tt"><code>tt</code></a> element), perform the following:</p><ul><li><p>set <em>P′</em> to the initial value of
 property <em>P</em>, where the initial value of a property is
-determined according to the specific property definition found above
-in <a href="#styling-attribute-vocabulary"><b>8.2 Styling Attribute Vocabulary</b></a>;</p></li><li><p>if the element type of <em>E</em> is a <a href="#terms-content-element">content element</a>
-type or anonymous span, then set <em>P′</em> to the result of
-looking up the value of <em>P</em> in the computed style set of
-the immediate ancestor element of <em>E</em>, i.e.,
-<em>CSS(PARENT(E))</em>;</p></li><li><p>if the value of <em>P′</em> is not undefined, then merge
+determined as follows:</p><ol class="enumlr"><li><p>if an <a href="#styling-vocabulary-initial"><code>initial</code></a>
+element defines the initial value for <em>P</em>, then use that value;</p></li><li><p>otherwise, use the initial value specified by the property definition of <em>P</em> found above
+in <a href="#styling-attribute-vocabulary"><b>8.2 Styling Attribute Vocabulary</b></a>;</p></li></ol></li></ul></li><li><p>if the value of <em>P′</em> is not undefined, then merge
 <em>P′</em> into the specified style set of <em>E</em>,
 <em>SSS(E)</em>.</p></li></ol></li></ol></div><div class="div4">
 <h5><a id="semantics-style-resolution-processing-css"></a>8.4.4.3 Computed Style Set Processing</h5><p>The computed style set <em>CSS</em> of an element or
@@ -4549,31 +4602,27 @@
 <a href="#semantics-style-resolution-processing-sss"><b>8.4.4.2 Specified Style Set Processing</b></a>;</p></li><li><p><span class="strong">[initialization]</span>
 initialize <em>CSS(E)</em> to a (deep) copy of
 <em>SSS(E)</em>;</p></li><li><p><span class="strong">[filter]</span> if
-<em>E</em> is a <code>set</code> or <code>style</code> element, then return
+<em>E</em> is an <code>animate</code>, <code>set</code>, or <code>style</code> element, then return
 <em>CSS(E)</em> as the resulting computed style set without
 further resolution; otherwise, continue with the next rule;</p></li><li><p><span class="strong">[relative value resolution]</span> for each
 style property <em>P</em> in <em>CSS(E)</em>, where the value
 type of <em>P</em> is relative, perform the following ordered
 sub-steps:</p><ol class="enumla"><li><p>replace the relative value of <em>P</em> with an
 equivalent, non-relative (computed) value;</p></li><li><p>set the category of <em>P</em> to "computed";</p></li></ol></li></ol><div class="note"><p class="prefix"><b>Note:</b></p><p>As a result of the filtering rule above, the computed style set of
-a <code>set</code> or <code>style</code> element includes only specified values, in which case
+an <code>animate</code>, <code>set</code>, or <code>style</code> element includes only specified values, in which case
 relative value expressions remain relative; consequently, the
 resolution of relative value expressions (that may be assigned by
 means of referential style association) always takes place in the
 context of a layout or <a href="#terms-content-element">content element</a> which has a presentation
 context, and not in the non-presentation, declaration context
-of a <code>set</code> element or a referentiable <code>style</code> element.</p></div></div><div class="div4">
+of an <code>animate</code>, <code>set</code>, or referentiable <code>style</code> element.</p></div></div><div class="div4">
 <h5><a id="semantics-style-resolution-process-overall"></a>8.4.4.4 Style Resolution Process</h5><p>The top-level style resolution process is defined as follows: using
-a preorder traversal of each element and anonymous span,
+a preorder traversal of each element and <em>anonymous span</em>,
 <em>E</em>, of an intermediate synchronic document,
 <em>DOC<sub>inter</sub></em>, perform the following ordered
-sub-steps:</p><ol class="enumar"><li><p><span class="strong">[filter]</span> if the element type
-of <em>E</em> is not the styling element type <code>style</code>, is
-not the layout element type <code>region</code>, is not the animation
-element type <code>set</code>, and is not one of the
-<a href="#terms-content-element">content element</a> types <code>body</code>, <code>div</code>, <code>p</code>,
-<code>span</code>, <code>br</code>, or anonymous span, then continue to the
-next element in the preorder traversal;</p></li><li><p> <span class="strong">[resolve computed styles]</span>
+sub-steps:</p><ol class="enumar"><li><p><span class="strong">[filter]</span> if <em>E</em>
+is not one of the following, then continue to the next element in the preorder traversal, i.e.,
+do not perform the subsequent step below on <em>E</em>:</p><ul><li><p><a href="#document-structure-vocabulary-tt"><code>tt</code></a></p></li><li><p><a href="#styling-vocabulary-style"><code>style</code></a></p></li><li><p><a href="#layout-vocabulary-region"><code>region</code></a></p></li><li><p><a href="#document-structure-vocabulary-body"><code>body</code></a></p></li><li><p><a href="#content-vocabulary-body"><code>div</code></a></p></li><li><p><a href="#content-vocabulary-body"><code>p</code></a></p></li><li><p><a href="#content-vocabulary-body"><code>span</code></a></p></li><li><p><a href="#content-vocabulary-body"><code>br</code></a></p></li><li><p><a href="#animation-vocabulary-animate"><code>animate</code></a></p></li><li><p><a href="#animation-vocabulary-set"><code>set</code></a></p></li><li><p><em>anonymous span</em></p></li></ul></li><li><p> <span class="strong">[resolve computed styles]</span>
 determine (obtain) the computed style set <em>CSS</em> of
 <em>E</em>, namely, <em>CSS(E)</em>, in accordance with
 <a href="#semantics-style-resolution-processing-css"><b>8.4.4.3 Computed Style Set Processing</b></a>.</p></li></ol></div></div></div></div><div class="div1">
@@ -5721,7 +5770,7 @@
 <h3><a id="metadata-element-vocabulary"></a>12.1 Metadata Element Vocabulary</h3><p>The <a href="#metadata-vocabulary-metadata"><b>12.1.1 metadata</b></a> element serves as
 a generic container element for grouping metadata information.</p><p>In addition, the following elements, all defined in the TT Metadata Namespace,
 provide standard representations for metadata that is expected to be commonly
-used in a <a href="#terms-document-instance">document instancea</a>:
+used in a <a href="#terms-document-instance">document instance</a>:
 </p><ul><li><p><a href="#metadata-vocabulary-title"><b>12.1.2 ttm:title</b></a></p></li><li><p><a href="#metadata-vocabulary-desc"><b>12.1.3 ttm:desc</b></a></p></li><li><p><a href="#metadata-vocabulary-copyright"><b>12.1.4 ttm:copyright</b></a></p></li><li><p><a href="#metadata-vocabulary-agent"><b>12.1.5 ttm:agent</b></a></p></li><li><p><a href="#metadata-vocabulary-name"><b>12.1.6 ttm:name</b></a></p></li><li><p><a href="#metadata-vocabulary-actor"><b>12.1.7 ttm:actor</b></a></p></li></ul><div class="div3">
 <h4><a id="metadata-vocabulary-metadata"></a>12.1.1 metadata</h4><p>The <code>metadata</code> element functions as a generic container for metadata
 information.</p><p>Metadata information may be expressed with a <code>metadata</code> element by specifying
@@ -7604,7 +7653,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="d3e25233"></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="d3e25497"></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
@@ -7661,7 +7710,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="d3e25750"></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="d3e26014"></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
@@ -7753,9 +7802,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="d3e26743"></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="d3e27007"></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="d3e26907"></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="d3e27171"></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">
--- a/ttml2/spec/ttml2.xml	Wed Sep 10 14:54:38 2014 -0700
+++ b/ttml2/spec/ttml2.xml	Sun Sep 14 15:28:35 2014 +0200
@@ -2267,6 +2267,7 @@
 </td>
 <td>
 <loc href="#styling-vocabulary-styling">styling</loc>,
+<loc href="#styling-vocabulary-initial">initial</loc>,
 <loc href="#styling-vocabulary-style">style</loc>
 </td>
 </tr>
@@ -4326,6 +4327,7 @@
   <loc href="#content-attribute-lang"><phrase role="reqattr">xml:lang</phrase></loc> = string
   <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>) : default
   {<emph>any attribute in TT Parameter namespace</emph>}
+  {<emph>any attribute in TT Style namespace</emph>}
   {<emph>any attribute not in default or any TT namespace</emph>}&gt;
   <emph>Content:</emph> <loc href="#document-structure-vocabulary-head">head</loc>?, <loc href="#document-structure-vocabulary-body">body</loc>?
 &lt;/tt&gt;
@@ -4360,6 +4362,9 @@
 This would permit, for example, the interchange of information that reflects the
 the semantics of <bibref ref="cea708e"/> , &sect;4.5 “Caption Service Metadata”, “ASPECT RATIO”.</p>
 </note>
+<p>Except for the <att>tts:extent</att> attribute described above, an attribute in the TT Style Namespace should not be specified on the <el>tt</el> element
+unless it denotes an inheritable style property, and, if specified, must be ignored for the purpose of non-validation processing. In the case of validation
+processing, such usage should be reported as a warning, or, if strict validation is performed, as an error.</p>
 <p>An <att>xml:lang</att> attribute must be specified on the <el>tt</el> element.
 If the attribute value is empty, it signifies that there is no default language that applies
 to the text contained within the <loc href="#terms-document-instance">document instance</loc>.</p>
@@ -4884,6 +4889,7 @@
 <loc href="#terms-document-instance">document instance</loc>:</p>
 <ulist>
 <item><p><specref ref="styling-vocabulary-styling"/></p></item>
+<item><p><specref ref="styling-vocabulary-initial"/></p></item>
 <item><p><specref ref="styling-vocabulary-style"/></p></item>
 </ulist>
 <div3 id="styling-vocabulary-styling">
@@ -4891,8 +4897,9 @@
 <p>The <el>styling</el> element is a container element used to group
 styling matter, including metadata that applies to styling matter.</p>
 <p>The <el>styling</el> element accepts as its children zero or more
-elements in the <code>Metadata.class</code> element group, followed by
-zero or more <el>style</el> elements.</p>
+elements in the <code>Metadata.class</code> element group,
+followed by zero or more <el>initial</el> elements,
+followed by zero or more <el>style</el> elements.</p>
 <table id="elt-syntax-styling" role="syntax">
 <caption>XML Representation &ndash; Element Information Item: styling</caption>
 <tbody>
@@ -4904,7 +4911,7 @@
   <loc href="#content-attribute-lang">xml:lang</loc> = string
   <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
   {<emph>any attribute not in default or any TT namespace</emph>}&gt;
-  <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*, <loc href="#styling-vocabulary-style">style</loc>*
+  <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*, <loc href="#styling-vocabulary-initial">initial</loc>*, <loc href="#styling-vocabulary-style">style</loc>*
 &lt;/styling&gt;
 </eg>
 </td>
@@ -4915,6 +4922,51 @@
 <el>styling</el> element, the implied time interval of this element is
 defined to be coterminous with the <loc href="#terms-root-temporal-extent">root temporal extent</loc>.</p>
 </div3>
+<div3 id="styling-vocabulary-initial">
+<head>initial</head>
+<p>The <el>initial</el> element is used to modify the initial value of one or more style properties, i.e, to specify use of different value(s) than
+the specification defined initial value(s).</p>
+<p>The <el>initial</el> element accepts as its children zero or more <el>metadata</el> elements.</p>
+<table id="elt-syntax-initial" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: initial</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;initial
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang">xml:lang</loc> = string
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+  {<emph>any attribute in TT Style namespace</emph>}
+  {<emph>any attribute not in default or any TT namespace</emph>}&gt;
+  <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*
+&lt;/initial&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The <el>initial</el> element is illustrated by the following example, wherein
+the initial value of the <att>tts:color</att> property is defined to be <code>yellow</code>.</p>
+<table id="style-vocabulary-initial-example-1" role="example">
+<caption>Example Fragment &ndash; <el>initial</el></caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+...
+&lt;head&gt;
+  &lt;styling&gt;
+    <phrase role="strong">&lt;initial tts:color="yellow"/&gt;</phrase>
+  &lt;styling&gt;
+&lt;head&gt;
+...
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+</div3>
 <div3 id="styling-vocabulary-style">
 <head>style</head>
 <p>The <el>style</el> element is used to define
@@ -4998,6 +5050,11 @@
 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.</edtext>
 </ednote>
+<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
+and does not denote an inheritable style property, then it must be ignored for the purpose of non-validation processing.
+In the case of validation processing, such usage should be reported as a warning, or, if strict validation is performed,
+as an error.</p>
 <p>Unless explicitly stated otherwise, linear white-space (LWSP) must
 appear between adjacent non-terminal components of a value of a TT
 Style property value unless some other delimiter is permitted and used.</p>
@@ -5009,7 +5066,8 @@
 properties.</p>
 </note>
 <note role="clarification">
-<p>A style property may be expressed as a specified attribute on any
+<p>An inheritable style property may be expressed as a specified attribute on the
+root <loc href="#document-structure-vocabulary-tt"><el>tt</el></loc> element or on a
 <loc href="#terms-content-element">content element</loc> type
 independently of whether the property applies to that
 element type. This capability permits the expression of an inheritable
@@ -8590,14 +8648,8 @@
 <ulist>
 <item><p><loc href="#semantics-style-inheritance-content">content style inheritance</loc></p></item>
 <item><p><loc href="#semantics-style-inheritance-content">region style inheritance</loc></p></item>
-</ulist>
-<ednote>
-<name>Layout Style Inheritance</name>
-<date>2013-09-05</date>
-<edtext>Regions should be able to inherit styles from a common ancestor in order to prevent
-having to full populate region styles. <loc href="https://www.w3.org/AudioVideo/TT/tracker/issues/277">Issue 277</loc> proposes
-inheritance from the layout element.</edtext>
-</ednote>
+<item><p><loc href="#semantics-style-inheritance-content">root style inheritance</loc></p></item>
+</ulist>
 <p>For the purpose of determining inherited styles, the element hierarchy of
 an intermediate synchronic document form of a <loc href="#terms-document-instance">document instance</loc> must be used, where
 such intermediate forms are defined by <specref ref="semantics-region-layout-step-1"/>.</p>
@@ -8613,14 +8665,10 @@
 if a style property is not associated with a <loc href="#terms-content-element">content element</loc> (or
 an anonymous span) and the style property is designated as
 inheritable.</p>
-<note role="clarification">
-<p>The <el>tt</el> element is not a <loc href="#terms-content-element">content element</loc>;
-consequently, the <el>body</el> element is the outermost element from which content style inheritance occurs.</p>
-</note>
 <p>If a style property is determined to require inheritance, then the inherited value must
 be the value of the same named style property in the computed
 style set of the
-element's immediate ancestor element
+element's nearest ancestor element that defines the property
 within the applicable intermediate synchronic document.</p>
 <table id="style-inheritance-example-2" role="example">
 <caption>Example &ndash; Content Style Inheritance</caption>
@@ -8653,14 +8701,11 @@
 <head>Region Style Inheritance</head>
 <p>Style properties are inherited from a <loc href="#layout-vocabulary-region">region</loc> element in the following case:</p>
 <olist>
-<item><p>if a style property <emph>P</emph> is not associated with
+<item><p>if an inheritable style property <emph>P</emph> is not associated with
 a <loc href="#terms-content-element">content element</loc>
-or an anonymous span <emph>E</emph> and the style
-property is designated as inheritable, and</p></item> <item><p>if that
-style property <emph>P</emph> is in the computed style
-set of region
-<emph>R</emph>,
-and</p></item>
+or an anonymous span <emph>E</emph>, and</p></item>
+<item><p>if that style property <emph>P</emph> is in the computed style
+set of region <emph>R</emph>, and</p></item>
 <item><p>if that element <emph>E</emph> is flowed into (presented within) region
 <emph>R</emph>.</p></item>
 </olist>
@@ -8688,6 +8733,46 @@
 element into which the <el>p</el> element is flowed (presented).</p>
 </note>
 </div4>
+<div4 id="semantics-style-inheritance-root">
+<head>Root Style Inheritance</head>
+<p>Style properties are inherited from the root <loc href="#document-structure-vocabulary-tt">tt</loc> element in the following case:</p>
+<olist>
+<item><p>if an inheritable style property <emph>P</emph> is not associated with
+a <loc href="#layout-vocabular-region"><el>region</el></loc> element, and</p></item>
+<item><p>if that
+style property <emph>P</emph> is in the computed style
+set of the root <loc href="#document-structure-vocabulary-tt">tt</loc> element.</p></item>
+</olist>
+<note role="motivation">
+<p>Root style inheritance provides a mechanism by means of which <el>region</el> elements
+can inherit a common style rather than repeating the specification of the style on each
+<el>region</el> element.</p>
+</note>
+<table id="style-inheritance-example-4" role="example">
+<caption>Example &ndash; Root Style Inheritance</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;tt <phrase role="strong">tts:color="yellow"</phrase>&gt;
+...
+&lt;region xml:id="r1" <phrase role="strong">tts:fontFamily="monospaceSerif"</phrase>/&gt;
+...
+&lt;p region="r1"&gt;Yellow Monospace&lt;/p&gt;
+...
+&lt;/tt&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>In the above example, the <el>region</el> element inherits the
+<att>tts:color</att> style specified on the <el>tt</el> element, which,
+along with the <att>tts:fontFamily</att> style specified on the <el>region</el>
+element, are inherited by <el>p</el> element when selected into the region.</p>
+</note>
+</div4>
 </div3>
 <div3 id="semantics-style-resolution-value-categories">
 <head>Style Resolution Value Categories</head>
@@ -8936,30 +9021,56 @@
 merge the specified style set of <emph>A</emph>,
 <emph>SSS(A)</emph>, into the specified style set of <emph>E</emph>, <emph>SSS(E)</emph>;</p></item>
 <item>
-<p><phrase role="strong">[implicit inheritance]</phrase> if the
-element type of <emph>E</emph> is not the animation element type <el>set</el>
-or the styling element type <el>style</el>,
-then for each inheritable style property
-<emph>P<sub>INH</sub></emph> in the set of style properties defined
+<p><phrase role="strong">[implicit inheritance and initial value fallback]</phrase> if the
+element type of <emph>E</emph> is not animation element type <el>animate</el> or <el>set</el>
+and is not styling element type <el>style</el>,
+then for each style property
+<emph>P</emph> in the set of style properties defined
 above in <specref ref="styling-attribute-vocabulary"/>, perform the
 following ordered sub-steps:</p>
 <olist>
-<item><p>if <emph>P<sub>INH</sub></emph> is present in the specified
+<item>
+<p>if <emph>P</emph> is present in the specified
 style set of <emph>E</emph>, <emph>SSS(E)</emph>, then continue to the
-next inheritable style property;</p></item>
-<item><p>if the element type of <emph>E</emph> is the layout element
-type <el>region</el>, then set <emph>P&prime;</emph> to the initial value of
+next style property;</p>
+</item>
+<item>
+<p>if <emph>P</emph> is defined to be inheritable and <emph>E</emph> is
+not the <loc href="#document-structure-vocabulary-tt"><el>tt</el></loc> element, then perform the following:</p>
+<ulist>
+<item>
+<p>if <emph>E</emph> is not a
+<loc href="#styling-vocabulary-style"><el>style</el></loc>,
+<loc href="#animation-vocabulary-animate"><el>animate</el></loc>, or
+<loc href="#animation-vocabulary-set"><el>set</el></loc> element,
+then set <emph>P&prime;</emph> to the result of
+looking up the value of <emph>P</emph> in the computed style set of
+the nearest ancestor element of <emph>E</emph>, <emph>NEAREST-ANCESTOR(E)</emph>, such that
+<emph>CSS(NEAREST-ANCESTOR(E))</emph> contains a definition of <emph>P</emph>;</p>
+</item>
+</ulist>
+</item>
+<item>
+<p>otherwise (<emph>P</emph> is not inheritable or <emph>E</emph> is
+the <loc href="#document-structure-vocabulary-tt"><el>tt</el></loc> element), perform the following:</p>
+<ulist>
+<item><p>set <emph>P&prime;</emph> to the initial value of
 property <emph>P</emph>, where the initial value of a property is
-determined according to the specific property definition found above
+determined as follows:</p>
+<olist>
+<item><p>if an <loc href="#styling-vocabulary-initial"><el>initial</el></loc>
+element defines the initial value for <emph>P</emph>, then use that value;</p></item>
+<item><p>otherwise, use the initial value specified by the property definition of <emph>P</emph> found above
 in <specref ref="styling-attribute-vocabulary"/>;</p></item>
-<item><p>if the element type of <emph>E</emph> is a <loc href="#terms-content-element">content element</loc>
-type or anonymous span, then set <emph>P&prime;</emph> to the result of
-looking up the value of <emph>P</emph> in the computed style set of
-the immediate ancestor element of <emph>E</emph>, i.e.,
-<emph>CSS(PARENT(E))</emph>;</p></item>
-<item><p>if the value of <emph>P&prime;</emph> is not undefined, then merge
+</olist>
+</item>
+</ulist>
+</item>
+<item>
+<p>if the value of <emph>P&prime;</emph> is not undefined, then merge
 <emph>P&prime;</emph> into the specified style set of <emph>E</emph>,
-<emph>SSS(E)</emph>.</p></item>
+<emph>SSS(E)</emph>.</p>
+</item>
 </olist>
 </item>
 </olist>
@@ -8980,7 +9091,7 @@
 initialize <emph>CSS(E)</emph> to a (deep) copy of
 <emph>SSS(E)</emph>;</p></item>
 <item><p><phrase role="strong">[filter]</phrase> if
-<emph>E</emph> is a <el>set</el> or <el>style</el> element, then return
+<emph>E</emph> is an <el>animate</el>, <el>set</el>, or <el>style</el> element, then return
 <emph>CSS(E)</emph> as the resulting computed style set without
 further resolution; otherwise, continue with the next rule;</p></item>
 <item>
@@ -8997,30 +9108,40 @@
 </olist>
 <note role="explanation">
 <p>As a result of the filtering rule above, the computed style set of
-a <el>set</el> or <el>style</el> element includes only specified values, in which case
+an <el>animate</el>, <el>set</el>, or <el>style</el> element includes only specified values, in which case
 relative value expressions remain relative; consequently, the
 resolution of relative value expressions (that may be assigned by
 means of referential style association) always takes place in the
 context of a layout or <loc href="#terms-content-element">content element</loc> which has a presentation
 context, and not in the non-presentation, declaration context
-of a <el>set</el> element or a referentiable <el>style</el> element.</p>
+of an <el>animate</el>, <el>set</el>, or referentiable <el>style</el> element.</p>
 </note>
 </div4>
 <div4 id="semantics-style-resolution-process-overall">
 <head>Style Resolution Process</head>
 <p>The top-level style resolution process is defined as follows: using
-a preorder traversal of each element and anonymous span,
+a preorder traversal of each element and <emph>anonymous span</emph>,
 <emph>E</emph>, of an intermediate synchronic document,
 <emph>DOC<sub>inter</sub></emph>, perform the following ordered
 sub-steps:</p>
 <olist>
-<item><p><phrase role="strong">[filter]</phrase> if the element type
-of <emph>E</emph> is not the styling element type <el>style</el>, is
-not the layout element type <el>region</el>, is not the animation
-element type <el>set</el>, and is not one of the
-<loc href="#terms-content-element">content element</loc> types <el>body</el>, <el>div</el>, <el>p</el>,
-<el>span</el>, <el>br</el>, or anonymous span, then continue to the
-next element in the preorder traversal;</p></item>
+<item><p><phrase role="strong">[filter]</phrase> if <emph>E</emph>
+is not one of the following, then continue to the next element in the preorder traversal, i.e.,
+do not perform the subsequent step below on <emph>E</emph>:</p>
+<ulist>
+<item><p><loc href="#document-structure-vocabulary-tt"><el>tt</el></loc></p></item>
+<item><p><loc href="#styling-vocabulary-style"><el>style</el></loc></p></item>
+<item><p><loc href="#layout-vocabulary-region"><el>region</el></loc></p></item>
+<item><p><loc href="#document-structure-vocabulary-body"><el>body</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-body"><el>div</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-body"><el>p</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-body"><el>span</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-body"><el>br</el></loc></p></item>
+<item><p><loc href="#animation-vocabulary-animate"><el>animate</el></loc></p></item>
+<item><p><loc href="#animation-vocabulary-set"><el>set</el></loc></p></item>
+<item><p><emph>anonymous span</emph></p></item>
+</ulist>
+</item>
 <item><p> <phrase role="strong">[resolve computed styles]</phrase>
 determine (obtain) the computed style set <emph>CSS</emph> of
 <emph>E</emph>, namely, <emph>CSS(E)</emph>, in accordance with
@@ -10821,7 +10942,7 @@
 a generic container element for grouping metadata information.</p>
 <p>In addition, the following elements, all defined in the TT Metadata Namespace,
 provide standard representations for metadata that is expected to be commonly
-used in a <loc href="#terms-document-instance">document instancea</loc>:
+used in a <loc href="#terms-document-instance">document instance</loc>:
 </p>
 <ulist>
 <item><p><specref ref="metadata-vocabulary-title"/></p></item>
Binary file ttml2/spec/xsd/schema.zip has changed
--- a/ttml2/spec/xsd/ttml2-document.xsd	Wed Sep 10 14:54:38 2014 -0700
+++ b/ttml2/spec/xsd/ttml2-document.xsd	Sun Sep 14 15:28:35 2014 +0200
@@ -18,7 +18,7 @@
   <xs:attributeGroup name="tt.attlist">
     <xs:attributeGroup ref="tt:Core.required.attrib.class"/>
     <xs:attributeGroup ref="ttp:Parameter.attrib.class"/>
-    <xs:attribute ref="tts:extent"/>
+    <xs:attributeGroup ref="tt:Styled.attrib.class"/>
   </xs:attributeGroup>
   <xs:complexType name="tt.eltype">
     <xs:sequence>
--- a/ttml2/spec/xsd/ttml2-styling.xsd	Wed Sep 10 14:54:38 2014 -0700
+++ b/ttml2/spec/xsd/ttml2-styling.xsd	Sun Sep 14 15:28:35 2014 +0200
@@ -21,9 +21,14 @@
     <xs:attributeGroup ref="tt:Core.attrib.class"/>
     <xs:attributeGroup ref="tt:Styled.attrib.class"/>
   </xs:attributeGroup>
+  <xs:attributeGroup name="initial.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class"/>
+    <xs:attributeGroup ref="tt:Styled.attrib.class"/>
+  </xs:attributeGroup>
   <xs:complexType name="styling.eltype">
     <xs:sequence>
       <xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element ref="tt:initial" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element ref="tt:style" minOccurs="0" maxOccurs="unbounded"/>
     </xs:sequence>
     <xs:attributeGroup ref="tt:styling.attlist"/>
@@ -34,6 +39,13 @@
     </xs:sequence>
     <xs:attributeGroup ref="tt:style.attlist"/>
   </xs:complexType>
+  <xs:complexType name="initial.eltype">
+    <xs:sequence>
+      <xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="tt:initial.attlist"/>
+  </xs:complexType>
   <xs:element name="styling" type="tt:styling.eltype"/>
   <xs:element name="style" type="tt:style.eltype"/>
+  <xs:element name="initial" type="tt:initial.eltype"/>
 </xs:schema>