Bugzilla – Bug 608
Revamp <address>'s semantics to make more sense given <article>'s semantics.
Last modified: 2009-11-23 17:17:32 CET
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>