[html5] r1258 - /
whatwg at whatwg.org
whatwg at whatwg.org
Tue Feb 26 18:53:10 PST 2008
Author: ianh
Date: 2008-02-26 18:53:09 -0800 (Tue, 26 Feb 2008)
New Revision: 1258
Modified:
index
source
Log:
[at] (0) Make the 'Determining which heading and section applies to a particular node' subsection redundant; fix up some cross-reference issues that were caused by the recent outline algorithm rewrite.
Modified: index
===================================================================
--- index 2008-02-27 02:38:37 UTC (rev 1257)
+++ index 2008-02-27 02:53:09 UTC (rev 1258)
@@ -462,12 +462,8 @@
<li><a href="#outlines"><span class=secno>3.8.10.1. </span>Creating
an outline</a>
- <li><a href="#associatedSection"><span class=secno>3.8.10.2.
- </span>Determining which heading and section applies to a
- particular node</a>
-
- <li><a href="#distinguishing"><span class=secno>3.8.10.3.
- </span>Distinguishing site-wide headers from page headers</a>
+ <li><a href="#distinguishing"><span class=secno>3.8.10.2.
+ </span>Distinguishing site-wide headings from page headings</a>
</ul>
</ul>
@@ -2032,8 +2028,8 @@
conformance should act in accordance to the semantics of the documents
that they process.</p>
- <p class=example>A tool that generates <span title="sections and
- headings">document outlines</span> but increases the nesting level for
+ <p class=example>A tool that generates <a href="#outline"
+ title=outline>document outlines</a> but increases the nesting level for
each paragraph and does not increase the nesting level for each section
would not be conforming.</p>
@@ -8871,16 +8867,19 @@
<h5 id=outlines><span class=secno>3.8.10.1. </span>Creating an outline</h5>
- <p>This section defines an algorithm for creating an outline for a
- <span>sectioning content element or a <a href="#sectioning1">sectioning
- root</a> element. It is defined in terms of a walk over the nodes of a DOM
- tree, in tree order, with each node being visited when it is
- <i>entered</i> and when it is <i>exited</i> during the walk.</span>
+ <p>This section defines an algorithm for creating an <dfn
+ id=outline>outline</dfn> for a <span>sectioning content element or a <a
+ href="#sectioning1">sectioning root</a> element. It is defined in terms of
+ a walk over the nodes of a DOM tree, in tree order, with each node being
+ visited when it is <i>entered</i> and when it is <i>exited</i> during the
+ walk.</span>
<p>The outline for a <span>sectioning content element or a <a
href="#sectioning1">sectioning root</a> element consists of a list of one
or more potentially nested sections. Each section can have zero or one
- heading associated with it.</span>
+ heading associated with it. The algorithm for the outline also associates
+ each node in the DOM tree with a particular section and potentially a
+ heading.</span>
<p>The algorithm that must be followed during a walk of a DOM subtree
rooted at a <a href="#sectioning0">sectioning content</a> element or a <a
@@ -9019,9 +9018,10 @@
<p>Do nothing.
</dl>
- <p>In addition, whenever you exit a node, after doing the steps above, if
- <var title="">current section</var> is not null, associate the node with
- the section <var title="">current section</var>.</p>
+ <p id=associatedSection>In addition, whenever you exit a node, after
+ doing the steps above, if <var title="">current section</var> is not
+ null, associate the node with the section <var title="">current
+ section</var>.</p>
<li>
<p>If the <var title="">current outlinee</var> is null, then there was no
@@ -9034,6 +9034,10 @@
above with <var title="">current outlinee</var> as their section.
<li>
+ <p>Associate all nodes with the heading of the section which which they
+ are associated, if any.
+
+ <li>
<p>If <var title="">current outlinee</var> is <a href="#the-body0">the
<code>body</code> element</a>, then the outline created for that element
is the outline of the entire document.
@@ -9086,269 +9090,41 @@
}</pre>
</div>
- <h5 id=associatedSection><span class=secno>3.8.10.2. </span>Determining
- which heading and section applies to a particular node</h5>
+ <h5 id=distinguishing><span class=secno>3.8.10.2. </span>Distinguishing
+ site-wide headings from page headings</h5>
- <p class=big-issue>This section will be rewritten at some point. The
- algorithm likely won't change, but its description will be dramatically
- simplified.
+ <p>Given the <a href="#outline">outline</a> of a document, but ignoring any
+ sections created for <code><a href="#nav">nav</a></code> and <code><a
+ href="#aside">aside</a></code> elements, and any of their descendants, if
+ the only root of the tree is <a href="#the-body0">the <code>body</code>
+ element</a>'s section, and it has only a single subsection which is
+ created by an <code><a href="#article">article</a></code> element, then
+ the heading of <a href="#the-body0">the <code>body</code> element</a>
+ should be assumed to be a site-wide heading, and the heading of the
+ <code><a href="#article">article</a></code> element should be assumed to
+ be the page's heading.
- <p>Given a particular node, user agents must use the following algorithm,
- <em>in the given order</em>, to determine which heading and section the
- node is most closely associated with. The processing of this algorithm
- must stop as soon as the associated section and heading are established
- (even if they are established to be nothing).
-
- <ol>
- <li>If the node has an ancestor that is a <code><a
- href="#header">header</a></code> element, then the associated heading is
- the most distant such ancestor. The associated section is that <code><a
- href="#header">header</a></code>'s associated section (i.e. repeat this
- algorithm for that <code><a href="#header">header</a></code>).
-
- <li>If the node has an ancestor that is an <code><a
- href="#h1">h1</a></code>-<code><a href="#h6">h6</a></code> element, then
- the associated heading is the most distant such ancestor. The associated
- section is that heading's section (i.e. repeat this algorithm for that
- heading element).
-
- <li>If the node is an <code><a href="#h1">h1</a></code>-<code><a
- href="#h6">h6</a></code> element or a <code><a
- href="#header">header</a></code> element, then the associated heading is
- the element itself. The UA must then generate the <a
- href="#outlines">hypothetical section tree</a> described in the previous
- section, rooted at the nearest section ancestor (or the <a
- href="#root-element">root element</a> if there is no such ancestor). If
- the parent of the heading in that hypothetical tree is an element in the
- real document tree, then that element is the associated section.
- Otherwise, there is no associated section element.
-
- <li>If the node is an element of <a href="#sectioning0">sectioning
- content</a>, then the associated section is itself. The UA must then
- generate the <a href="#outlines">hypothetical section tree</a> described
- in the previous section, rooted at the section itself. If the section
- element, in that hypothetical tree, has a child element that is an
- <code><a href="#h1">h1</a></code>-<code><a href="#h6">h6</a></code>
- element or a <code><a href="#header">header</a></code> element, then that
- element is the associated heading. Otherwise, there is no associated
- heading element.
-
- <li>If the node is a <code><a href="#footer">footer</a></code> or <code><a
- href="#address">address</a></code> element, then the associated section
- is the nearest ancestor element of <a href="#sectioning0">sectioning
- content</a>, if there is one. The node's associated heading is the same
- as that element of <a href="#sectioning0">sectioning content</a>'s
- associated heading (i.e. repeat this algorithm for that element of <a
- href="#sectioning0">sectioning content</a>). If there is no ancestor
- element of <a href="#sectioning0">sectioning content</a>, the element has
- no associated section nor an associated heading.
-
- <li>Otherwise, the node is just a normal node, and the document has to be
- examined more closely to determine its section and heading. Create a view
- rooted at the nearest ancestor element of <a
- href="#sectioning0">sectioning content</a> (or the <a
- href="#root-element">root element</a> if there is none) that has just
- <code><a href="#h1">h1</a></code>-<code><a href="#h6">h6</a></code>
- elements, <code><a href="#header">header</a></code> elements, the node
- itself, and elements of <a href="#sectioning0">sectioning content</a>
- other than <code><a href="#blockquote">blockquote</a></code> elements.
- (Descendants of any of the nodes in this view can be ignored, as can any
- node later in the tree than the node in question, as the algorithm below
- merely walks backwards up this view.)
-
- <li>Let <var title="">n</var> be an iterator for this view, initialised at
- the node in question.
-
- <li>Let <var title="">c</var> be the current best candidate heading,
- initially null, and initially not used. It is used when top-level heading
- candidates are to be searched for (see below).
-
- <li>Repeat these steps (which effectively goes backwards through the
- node's previous siblings) until an answer is found:
- <ol>
- <li>If <var title="">n</var> points to a node with no previous sibling,
- and <var title="">c</var> is null, then return the node's parent node
- as the answer. If the node has no parent node, return null as the
- answer.
-
- <li>Otherwise, if <var title="">n</var> points to a node with no
- previous sibling, return <var title="">c</var> as the answer.
-
- <li>Adjust <var title="">n</var> so that it points to the previous
- sibling of the current position.
-
- <li>If <var title="">n</var> is pointing at an <code><a
- href="#h1">h1</a></code> or <code><a href="#header">header</a></code>
- element, then return that element as the answer.
-
- <li>If <var title="">n</var> is pointing at an <code><a
- href="#h2">h2</a></code>-<code><a href="#h6">h6</a></code> element, and
- heading candidates are not being searched for, then return that element
- as the answer.
-
- <li>Otherwise, if <var title="">n</var> is pointing at an <code><a
- href="#h2">h2</a></code>-<code><a href="#h6">h6</a></code> element, and
- either <var title="">c</var> is still null, or <var title="">c</var> is
- a heading of lower <a href="#rank">rank</a> than this one, then set
- <var title="">c</var> to be this element, and continue going backwards
- through the previous siblings.
-
- <li>If <var title="">n</var> is pointing at an element of <a
- href="#sectioning0">sectioning content</a>, then from this point on
- top-level heading candidates are being searched for. (Specifically, we
- are looking for the nearest top-level header for the current section.)
- Continue going backwards through the previous siblings.
- </ol>
-
- <li>If the answer from the previous step (the loop) is null, which can
- only happen if the node has no preceeding headings and is not contained
- in an element of <a href="#sectioning0">sectioning content</a>, then
- there is no associated heading and no associated section.
-
- <li>Otherwise, if the answer from the earlier loop step is an element of
- <a href="#sectioning0">sectioning content</a>, then the associated
- section is that element and the associated heading is that element of <a
- href="#sectioning0">sectioning content</a>'s associated heading (i.e.
- repeat this algorithm for that section).
-
- <li>Otherwise, if the answer from that same earlier step is an <code><a
- href="#h1">h1</a></code>-<code><a href="#h6">h6</a></code> element or a
- <code><a href="#header">header</a></code> element, then the associated
- heading is that element and the associated section is that heading
- element's associated section (i.e. repeat this algorithm for that
- heading).
- </ol>
-
- <p class=note>Not all nodes have an associated header or section. For
- example, if a section is implied, as when multiple headers are found in
- one element of <a href="#sectioning0">sectioning content</a>, then a node
- in that section has an anonymous associated section (its section is not
- represented by a real element), and the algorithm above does not associate
- that node with any particular element of <a href="#sectioning0">sectioning
- content</a>.
-
- <div class=example>
- <p>For the following fragment:</p>
-
- <pre><body>
- <h1>X</h1>
- <h2>X</h2>
- <blockquote>
- <h3>X</h3>
- </blockquote>
- <p id="a">X</p>
- <h4>Text Node A</h4>
- <section>
- <h5>X</h5>
- </section>
- <p>Text Node B</p>
-</body></pre>
-
- <p>The associations are as follows (not all associations are shown):</p>
-
- <table>
- <thead>
- <tr>
- <th>Node
-
- <th>Associated heading
-
- <th>Associated section
-
- <tbody>
- <tr>
- <td><code><body></code>
-
- <td><code><h1></code>
-
- <td><code><body></code>
-
- <tr>
- <td><code><h1></code>
-
- <td><code><h1></code>
-
- <td><code><body></code>
-
- <tr>
- <td><code><h2></code>
-
- <td><code><h2></code>
-
- <td>None.
-
- <tr>
- <td><code><blockquote></code>
-
- <td><code><h2></code>
-
- <td>None.
-
- <tr>
- <td><code><h3></code>
-
- <td><code><h3></code>
-
- <td><code><blockquote></code>
-
- <tr>
- <td><code><p id="a"></code>
-
- <td><code><h2></code>
-
- <td>None.
-
- <tr>
- <td><code>Text Node A</code>
-
- <td><code><h4></code>
-
- <td>None.
-
- <tr>
- <td><code>Text Node B</code>
-
- <td><code><h1></code>
-
- <td><code><body></code>
- </table>
- </div>
-
- <h5 id=distinguishing><span class=secno>3.8.10.3. </span>Distinguishing
- site-wide headers from page headers</h5>
-
- <p>Given the <a href="#outlines">hypothetical section tree</a>, but
- ignoring any sections created for <code><a href="#nav">nav</a></code> and
- <code><a href="#aside">aside</a></code> elements, and any of their
- descendants, if the root of the tree is <a href="#the-body0">the
- <code>body</code> element</a>'s section, and it has only a single
- subsection which is created by an <code><a
- href="#article">article</a></code> element, then the header of <a
- href="#the-body0">the <code>body</code> element</a> should be assumed to
- be a site-wide header, and the header of the <code><a
- href="#article">article</a></code> element should be assumed to be the
- page's header.
-
<p>If a page starts with a heading that is common to the whole site, the
document must be authored such that, in the document's <a
- href="#outlines">hypothetical section tree</a>, ignoring any sections
- created for <code><a href="#nav">nav</a></code> and <code><a
- href="#aside">aside</a></code> elements and any of their descendants, the
- root of the tree is <a href="#the-body0">the <code>body</code>
- element</a>'s section, its heading is the site-wide heading, <a
- href="#the-body0">the <code>body</code> element</a> has just one
- subsection, that subsection is created by an <code><a
- href="#article">article</a></code> element, and that <code><a
- href="#article">article</a></code>'s header is the page heading.
+ href="#outline">outline</a>, ignoring any sections created for <code><a
+ href="#nav">nav</a></code> and <code><a href="#aside">aside</a></code>
+ elements and any of their descendants, the tree has only one root section,
+ <a href="#the-body0">the <code>body</code> element</a>'s section, its
+ heading is the site-wide heading, <a href="#the-body0">the
+ <code>body</code> element</a> has just one subsection, that subsection is
+ created by an <code><a href="#article">article</a></code> element, and
+ that <code><a href="#article">article</a></code>'s heading is the page
+ heading.
<p>If a page does not contain a site-wide heading, then the page must be
- authored such that, in the document's <a href="#outlines">hypothetical
- section tree</a>, ignoring any sections created for <code><a
- href="#nav">nav</a></code> and <code><a href="#aside">aside</a></code>
- elements and any of their descendants, either <a href="#the-body0">the
- <code>body</code> element</a> has no subsections, or it has more than one
- subsection, or it has a single subsection but that subsection is not
- created by an <code><a href="#article">article</a></code> element.
+ authored such that, in the document's <a href="#outline">outline</a>,
+ ignoring any sections created for <code><a href="#nav">nav</a></code> and
+ <code><a href="#aside">aside</a></code> elements and any of their
+ descendants, either <a href="#the-body0">the <code>body</code> element</a>
+ has no subsections, or it has more than one subsection, or it has a single
+ subsection but that subsection is not created by an <code><a
+ href="#article">article</a></code> element, or there is more than one
+ section at the root of the outline.
<p class=note>Conceptually, a site is thus a document with many articles
— when those articles are split into many pages, the heading of the
Modified: source
===================================================================
--- source 2008-02-27 02:38:37 UTC (rev 1257)
+++ source 2008-02-27 02:53:09 UTC (rev 1258)
@@ -381,10 +381,10 @@
them for conformance should act in accordance to the semantics of
the documents that they process.</p>
- <p class="example">A tool that generates <span title="sections and
- headings">document outlines</span> but increases the nesting level
- for each paragraph and does not increase the nesting level for
- each section would not be conforming.</p>
+ <p class="example">A tool that generates <span
+ title="outline">document outlines</span> but increases the nesting
+ level for each paragraph and does not increase the nesting level
+ for each section would not be conforming.</p>
</dd>
@@ -7195,16 +7195,19 @@
<h5 id="outlines">Creating an outline</h5>
- <p>This section defines an algorithm for creating an outline for a
- <span>sectioning content</code> element or a <span>sectioning
- root</span> element. It is defined in terms of a walk over the nodes
- of a DOM tree, in tree order, with each node being visited when it
- is <i>entered</i> and when it is <i>exited</i> during the walk.</p>
+ <p>This section defines an algorithm for creating an
+ <dfn>outline</dfn> for a <span>sectioning content</code> element or
+ a <span>sectioning root</span> element. It is defined in terms of a
+ walk over the nodes of a DOM tree, in tree order, with each node
+ being visited when it is <i>entered</i> and when it is <i>exited</i>
+ during the walk.</p>
<p>The outline for a <span>sectioning content</code> element or a
<span>sectioning root</span> element consists of a list of one or
more potentially nested sections. Each section can have zero or one
- heading associated with it.</p>
+ heading associated with it. The algorithm for the outline also
+ associates each node in the DOM tree with a particular section and
+ potentially a heading.</p>
<p>The algorithm that must be followed during a walk of a DOM
subtree rooted at a <span>sectioning content</span> element or a
@@ -7364,10 +7367,10 @@
</dl>
- <p>In addition, whenever you exit a node, after doing the steps
- above, if <var title="">current section</var> is not null,
- associate the node with the section <var title="">current
- section</var>.</p>
+ <p id="associatedSection">In addition, whenever you exit a node,
+ after doing the steps above, if <var title="">current
+ section</var> is not null, associate the node with the section
+ <var title="">current section</var>.</p>
</li>
@@ -7380,6 +7383,9 @@
the steps above with <var title="">current outlinee</var> as their
section.</p></li>
+ <li><p>Associate all nodes with the heading of the section which
+ which they are associated, if any.</p></li>
+
<li><p>If <var title="">current outlinee</var> is <span>the
<code>body</code> element</span>, then the outline created for that
element is the outline of the entire document.</p></li>
@@ -7436,222 +7442,37 @@
</div>
+ <h5>Distinguishing site-wide headings from page headings</h5>
- <h5 id="associatedSection">Determining which heading and section
- applies to a particular node</h5>
+ <p>Given the <span>outline</span> of a document, but ignoring any
+ sections created for <code>nav</code> and <code>aside</code>
+ elements, and any of their descendants, if the only root of the tree
+ is <span>the <code>body</code> element</span>'s section, and it has
+ only a single subsection which is created by an <code>article</code>
+ element, then the heading of <span>the <code>body</code>
+ element</span> should be assumed to be a site-wide heading, and the
+ heading of the <code>article</code> element should be assumed to be
+ the page's heading.</p>
- <p class="big-issue">This section will be rewritten at some
- point. The algorithm likely won't change, but its description will
- be dramatically simplified.</p>
-
- <p>Given a particular node, user agents must use the following
- algorithm, <em>in the given order</em>, to determine which heading
- and section the node is most closely associated with. The processing
- of this algorithm must stop as soon as the associated section and
- heading are established (even if they are established to be
- nothing).</p>
-
- <ol>
-
- <li>If the node has an ancestor that is a <code>header</code>
- element, then the associated heading is the most distant such
- ancestor. The associated section is that <code>header</code>'s
- associated section (i.e. repeat this algorithm for that
- <code>header</code>).</li>
-
- <li>If the node has an ancestor that is an
- <code>h1</code>-<code>h6</code> element, then the associated
- heading is the most distant such ancestor. The associated section
- is that heading's section (i.e. repeat this algorithm for that
- heading element).</li>
-
- <li>If the node is an <code>h1</code>-<code>h6</code> element or a
- <code>header</code> element, then the associated heading is the
- element itself. The UA must then generate the <a
- href="#outlines">hypothetical section tree</a> described in the
- previous section, rooted at the nearest section ancestor (or the
- <span>root element</span> if there is no such ancestor). If the
- parent of the heading in that hypothetical tree is an element in
- the real document tree, then that element is the associated
- section. Otherwise, there is no associated section element.</li>
-
- <li>If the node is an element of <span>sectioning content</span>,
- then the associated section is itself. The UA must then generate
- the <a href="#outlines">hypothetical section tree</a> described in
- the previous section, rooted at the section itself. If the section
- element, in that hypothetical tree, has a child element that is an
- <code>h1</code>-<code>h6</code> element or a <code>header</code>
- element, then that element is the associated heading. Otherwise,
- there is no associated heading element.</li>
-
- <li>If the node is a <code>footer</code> or <code>address</code>
- element, then the associated section is the nearest ancestor
- element of <span>sectioning content</span>, if there is one. The
- node's associated heading is the same as that element of
- <span>sectioning content</span>'s associated heading (i.e. repeat
- this algorithm for that element of <span>sectioning
- content</span>). If there is no ancestor element of
- <span>sectioning content</span>, the element has no associated
- section nor an associated heading.</li>
-
- <li>Otherwise, the node is just a normal node, and the document has
- to be examined more closely to determine its section and heading.
- Create a view rooted at the nearest ancestor element of
- <span>sectioning content</span> (or the <span>root element</span>
- if there is none) that has just <code>h1</code>-<code>h6</code>
- elements, <code>header</code> elements, the node itself, and
- elements of <span>sectioning content</span> other than
- <code>blockquote</code> elements. (Descendants of any of the nodes
- in this view can be ignored, as can any node later in the tree than
- the node in question, as the algorithm below merely walks backwards
- up this view.)</li>
-
- <li>Let <var title="">n</var> be an iterator for this view,
- initialised at the node in question.</li>
-
- <li>Let <var title="">c</var> be the current best candidate
- heading, initially null, and initially not used. It is used when
- top-level heading candidates are to be searched for (see
- below).</li>
-
- <li>Repeat these steps (which effectively goes backwards through
- the node's previous siblings) until an answer is found:
-
- <ol>
-
- <li>If <var title="">n</var> points to a node with no previous
- sibling, and <var title="">c</var> is null, then return the
- node's parent node as the answer. If the node has no parent node,
- return null as the answer.</li>
-
- <li>Otherwise, if <var title="">n</var> points to a node with no
- previous sibling, return <var title="">c</var> as the
- answer.</li>
-
- <li>Adjust <var title="">n</var> so that it points to the
- previous sibling of the current position.</li>
-
- <li>If <var title="">n</var> is pointing at an <code>h1</code> or
- <code>header</code> element, then return that element as the
- answer.</li>
-
- <li>If <var title="">n</var> is pointing at an
- <code>h2</code>-<code>h6</code> element, and heading candidates
- are not being searched for, then return that element as the
- answer.</li>
-
- <li>Otherwise, if <var title="">n</var> is pointing at an
- <code>h2</code>-<code>h6</code> element, and either <var
- title="">c</var> is still null, or <var title="">c</var> is a
- heading of lower <span>rank</span> than this one, then set <var
- title="">c</var> to be this element, and continue going backwards
- through the previous siblings.</li>
-
- <li>If <var title="">n</var> is pointing at an element of
- <span>sectioning content</span>, then from this point on
- top-level heading candidates are being searched
- for. (Specifically, we are looking for the nearest top-level
- header for the current section.) Continue going backwards through
- the previous siblings.</li>
-
- </ol>
-
- </li>
-
- <li>If the answer from the previous step (the loop) is null, which
- can only happen if the node has no preceeding headings and is not
- contained in an element of <span>sectioning content</span>, then
- there is no associated heading and no associated section.</li>
-
- <li>Otherwise, if the answer from the earlier loop step is an
- element of <span>sectioning content</span>, then the associated
- section is that element and the associated heading is that element
- of <span>sectioning content</span>'s associated heading
- (i.e. repeat this algorithm for that section).</li>
-
- <li>Otherwise, if the answer from that same earlier step is an
- <code>h1</code>-<code>h6</code> element or a <code>header</code>
- element, then the associated heading is that element and the
- associated section is that heading element's associated section
- (i.e. repeat this algorithm for that heading).</li>
-
- </ol>
-
- <p class="note">Not all nodes have an associated header or section.
- For example, if a section is implied, as when multiple headers are
- found in one element of <span>sectioning content</span>, then a node
- in that section has an anonymous associated section (its section is
- not represented by a real element), and the algorithm above does not
- associate that node with any particular element of <span>sectioning
- content</span>.</p>
-
- <div class="example">
- <p>For the following fragment:</p>
- <pre><body>
- <h1>X</h1>
- <h2>X</h2>
- <blockquote>
- <h3>X</h3>
- </blockquote>
- <p id="a">X</p>
- <h4>Text Node A</h4>
- <section>
- <h5>X</h5>
- </section>
- <p>Text Node B</p>
-</body></pre>
- <p>The associations are as follows (not all associations are shown):</p>
- <table>
- <thead>
- <tr>
- <th>Node</th> <th>Associated heading</th> <th>Associated section</th>
- </tr>
- </thead>
- <tbody>
- <tr> <td><code><body></code></td> <td><code><h1></code></td> <td><code><body></code></td> </tr>
- <tr> <td><code><h1></code></td> <td><code><h1></code></td> <td><code><body></code></td> </tr>
- <tr> <td><code><h2></code></td> <td><code><h2></code></td> <td>None.</td> </tr>
- <tr> <td><code><blockquote></code></td> <td><code><h2></code></td> <td>None.</td> </tr>
- <tr> <td><code><h3></code></td> <td><code><h3></code></td> <td><code><blockquote></code></td> </tr>
- <tr> <td><code><p id="a"></code></td> <td><code><h2></code></td> <td>None.</td> </tr>
- <tr> <td><code>Text Node A</code></td> <td><code><h4></code></td> <td>None.</td> </tr>
- <tr> <td><code>Text Node B</code></td> <td><code><h1></code></td> <td><code><body></code></td> </tr>
- </tbody>
- </table>
- </div>
-
-
- <h5>Distinguishing site-wide headers from page headers</h5>
-
- <p>Given the <a href="#outlines">hypothetical section tree</a>, but
- ignoring any sections created for <code>nav</code> and
- <code>aside</code> elements, and any of their descendants, if the
- root of the tree is <span>the <code>body</code> element</span>'s
- section, and it has only a single subsection which is created by an
- <code>article</code> element, then the header of <span>the
- <code>body</code> element</span> should be assumed to be a site-wide
- header, and the header of the <code>article</code> element should be
- assumed to be the page's header.</p>
-
<p>If a page starts with a heading that is common to the whole site,
- the document must be authored such that, in the document's <a
- href="#outlines">hypothetical section tree</a>, ignoring any
- sections created for <code>nav</code> and <code>aside</code>
- elements and any of their descendants, the root of the tree is
- <span>the <code>body</code> element</span>'s section, its heading is
- the site-wide heading, <span>the <code>body</code> element</span>
- has just one subsection, that subsection is created by an
- <code>article</code> element, and that <code>article</code>'s header
- is the page heading.</p>
+ the document must be authored such that, in the document's
+ <span>outline</span>, ignoring any sections created for
+ <code>nav</code> and <code>aside</code> elements and any of their
+ descendants, the tree has only one root section, <span>the
+ <code>body</code> element</span>'s section, its heading is the
+ site-wide heading, <span>the <code>body</code> element</span> has
+ just one subsection, that subsection is created by an
+ <code>article</code> element, and that <code>article</code>'s
+ heading is the page heading.</p>
<p>If a page does not contain a site-wide heading, then the page
- must be authored such that, in the document's <a
- href="#outlines">hypothetical section tree</a>, ignoring any
- sections created for <code>nav</code> and <code>aside</code>
- elements and any of their descendants, either <span>the
- <code>body</code> element</span> has no subsections, or it has more
- than one subsection, or it has a single subsection but that
- subsection is not created by an <code>article</code> element.</p>
+ must be authored such that, in the document's <span>outline</span>,
+ ignoring any sections created for <code>nav</code> and
+ <code>aside</code> elements and any of their descendants, either
+ <span>the <code>body</code> element</span> has no subsections, or it
+ has more than one subsection, or it has a single subsection but that
+ subsection is not created by an <code>article</code> element, or
+ there is more than one section at the root of the outline.</p>
<p class="note">Conceptually, a site is thus a document with many
articles — when those articles are split into many pages, the
More information about the Commit-Watchers
mailing list