HTML Standard Tracker

Filter

File a bug

SVNBugCommentTime (UTC)
1965[Authors] [Conformance Checkers] [Tools] Make <a> elements not define paragraphs, allowing them to straddle paragraphs.2008-07-30 22:27
@@ -6368,36 +6368,40 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0
 
   <h3>Paragraphs</h3>
 
   <p>A <dfn>paragraph</dfn> is typically a block of text with one or more
   sentences that discuss a particular topic, as in typography, but can
   also be used for more general thematic grouping. For instance, an
   address is also a paragraph, as is a part of a form, a byline, or a
   stanza in a poem.</p>
 
   <p>Paragraphs in <span>flow content</span> are defined relative to
-  what the document looks like without the <code>ins</code> and
-  <code>del</code> elements complicating matters. Let <var
-  title="">view</var> be a view of the DOM that replaces all
-  <code>ins</code> and <code>del</code> elements in the document with
-  their contents. Then, in <var title="">view</var>, for each run of
-  <span>phrasing content</span> uninterrupted by other types of
-  content, in an element that accepts content other than
-  <span>phrasing content</span>, let <var title="">first</var> be the
-  first node of the run, and let <var title="">last</var> be the last
-  node of the run. For each run, a paragraph exists in the original
-  DOM from immediately before <var title="">first</var> to immediately
-  after <var title="">last</var>. (Paragraphs can thus span across
-  <code>ins</code> and <code>del</code> elements.)</p>
-
-  <p>A <span>paragraph</span> is also formed by <code>p</code>
-  elements.</p>
+  what the document looks like without the <code>a</code>,
+  <code>ins</code> and <code>del</code> elements complicating matters,
+  since those elements, with their hybrid content models, can straddle
+  paragraph boundaries.</p>
+
+  <p>Let <var title="">view</var> be a view of the DOM that replaces
+  all <code>a</code>, <code>ins</code> and <code>del</code> elements
+  in the document with their contents. Then, in <var
+  title="">view</var>, for each run of <span>phrasing content</span>
+  uninterrupted by other types of content, in an element that accepts
+  content other than <span>phrasing content</span>, let <var
+  title="">first</var> be the first node of the run, and let <var
+  title="">last</var> be the last node of the run. For each run, a
+  paragraph exists in the original DOM from immediately before <var
+  title="">first</var> to immediately after <var
+  title="">last</var>. (Paragraphs can thus span across
+  <code>a</code>, <code>ins</code> and <code>del</code> elements.)</p>
+
+  <p>A <span>paragraph</span> is also formed explicitly by
+  <code>p</code> elements.</p>
 
   <p class="note">The <code>p</code> element can be used to wrap
   individual paragraphs when there would otherwise not be any content
   other than phrasing content to separate the paragraphs from each
   other.</p>
 
   <div class="example">
 
    <p>In the following example, there are two paragraphs in a
    section. There is also a header, which contains phrasing content
@@ -6420,20 +6424,54 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0
 
    <pre>&lt;section>
   &lt;ins>&lt;h1>Example of paragraphs&lt;/h1>
   This is the &lt;em>first&lt;/em> paragraph in&lt;/ins> this example&lt;del>.
   &lt;p>This is the second.&lt;/p>&lt;/del>
   &lt;!-- This is not a paragraph. -->
 &lt;/section></pre>
 
   </div>
 
+  <div class="example">
+
+   <p>In the following example, the link spans half of the first
+   paragraph, all of the header separating the two paragraphs, and
+   half of the second paragraph.</p>
+
+   <pre>&lt;aside>
+ Welcome!
+ &lt;a href="about.html">
+  This is home of...
+  &lt;h1>The Falcons!&lt;/h1>
+  The Lockheed Martin multirole jet fighter aircraft!
+ &lt;/a>
+ This page discusses the F-16 Fighting Falcon's innermost secrets.
+&lt;/aside></pre>
+
+   <p>Here is another way of marking this up, this time showing the
+   paragraphs explicitly, and splitting the one link element into
+   three:</p>
+
+   <pre>&lt;aside>
+ &lt;p>Welcome! &lt;a href="about.html">This is home of...&lt;/a>&lt;/p>
+ &lt;h1>&lt;a href="about.html">The Falcons!&lt;/a>&lt;/h1>
+ &lt;p>&lt;a href="about.html">The Lockheed Martin multirole jet
+ fighter aircraft!&lt;/a> This page discusses the F-16 Fighting
+ Falcon's innermost secrets.&lt;/p>
+&lt;/aside></pre>
+
+  </div>
+
+  <p class="note">Generally, having elements straddle paragraph
+  boundaries is best avoided. Maintaining such markup can be
+  difficult.</p>
+
 
   <h3>APIs in HTML documents</h3>
 
   <p>For <span>HTML documents</span>, and for <span>HTML
   elements</span> in <span>HTML documents</span>, certain APIs defined
   in DOM3 Core become case-insensitive or case-changing, as sometimes
   defined in DOM3 Core, and as summarized or required below. <a
   href="#refsDOM3CORE">[DOM3CORE]</a>.</p>
 
   <p>This does not apply to <span>XML documents</span> or to elements

|