NOTE: The current preferred location for bug reports is the GitHub issue tracker.
Bug 608 - Revamp <address>'s semantics to make more sense given <article>'s semantics.
Revamp <address>'s semantics to make more sense given <article>'s semantics.
Status: NEW
Product: Validator.nu
Classification: Unclassified
Component: General
HEAD
All All
: P2 normal
Assigned To: Nobody
http://svn.whatwg.org/webapps/source?...
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-07-14 15:01 CEST by Henri Sivonen
Modified: 2009-11-23 17:17 CET (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Henri Sivonen 2009-07-14 15:01:51 CEST
Index: source
===================================================================
--- source	(revision 3266)
+++ source	(revision 3267)
@@ -12702,10 +12702,10 @@
   </dl>
 
   <p>The <code>address</code> element <span>represents</span> the
-  contact information for the section it <a
-  href="#applyToSection">applies</a> to. If it applies to <span>the
-  body element</span>, then it instead applies to the document as a
-  whole.</p>
+  contact information for its nearest <code>article</code> or
+  <code>body</code> element ancestor. IF that is <span>the body
+  element</span>, then the contact information applies to the document
+  as a whole.</p>
 
   <div class="example">
    <p>For example, a page at the W3C Web site related to HTML might
@@ -12719,8 +12719,9 @@
 
   <p>The <code>address</code> element must not be used to represent
   arbitrary addresses (e.g. postal addresses), unless those addresses
-  are contact information for the section. (The <code>p</code> element
-  is the appropriate element for marking up such addresses.)</p>
+  are in fact the relevant contact information. (The <code>p</code>
+  element is the appropriate element for marking up postal addresses
+  in general.)</p>
 
   <p>The <code>address</code> element must not contain information
   other than contact information.</p>
@@ -12732,19 +12733,65 @@
   </div>
 
   <p>Typically, the <code>address</code> element would be included
-  with other information in a <code>footer</code> element.</p>
+  along with other information in a <code>footer</code> element.</p>
 
   <div class="impl">
 
-  <p>To determine the contact information for a <span>sectioning
-  content</span> element (such as a document's <code>body</code>
-  element, which would give the contact information for the page), UAs
-  must collect all the <code>address</code> elements that <a
-  href="#applyToSection">apply</a> to that <span>sectioning
-  content</span> element and its ancestor <span>sectioning
-  content</span> elements. The contact information is the collection
-  of all the information given by those elements.</p> <!-- XXX
-  exception for nested article elements? -->
+  <p>The contact information for a node <var title="">node</var> is a
+  collection of <code>address</code> elements defined by the first
+  applicable entry from the following list:</p>
+
+  <dl class="switch">
+
+   <dt>If <var title="">node</var> is an <code>article</code> element</dt>
+   <dt>If <var title="">node</var> is a <code>body</code> element</dt>
+
+   <dd>
+
+    <p>The contact information consists of all the
+    <code>address</code> elements that have <var title="">node</var>
+    as an ancestor and do not have another <code>body</code> or
+    <code>article</code> element ancestor that is a descendant of <var
+    title="">node</var>.</p>
+
+   </dd>
+
+   <dt>If <var title="">node</var> has an ancestor element that is a <code>article</code> element</dt>
+   <dt>If <var title="">node</var> has an ancestor element that is a <code>body</code> element</dt>
+
+   <dd>
+
+    <p>The contact information of <var title="">node</var> is the same
+    as the contact information of the nearest <code>article</code> or
+    <code>body</code> element ancestor, whichever is nearest.</p>
+
+   </dd>
+
+   <dt>If <var title="">node</var>'s <code>Document</code> has <span
+   title="the body element">a body element</span></dt>
+
+   <dd>
+
+    <p>The contact information of <var title="">node</var> is the same
+    as the contact information <span>the body element</span> of the
+    <code>Document</code>.</p>
+
+   </dd>
+
+   <dt>Otherwise</dt>
+
+   <dd>
+
+    <p>There is no contact information for <var
+    title="">node</var>.</p>
+
+   </dd>
+
+  </dl>
+
+  <p>User agents may expose the contact information of a node to the
+  user, or use it for other purposes, such as indexing sections based
+  on the sections' contact information.</p>
 
   </div>