Skip to content
Permalink
Browse files

[act] (0) Make <a> elements not define paragraphs, allowing them to s…

…traddle paragraphs.

git-svn-id: http://svn.whatwg.org/webapps@1965 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information
Hixie committed Jul 30, 2008
1 parent df6ff47 commit 6ec11de502da951cd485ffa321de3894adf524ee
Showing with 97 additions and 25 deletions.
  1. +43 −9 index
  2. +54 −16 source
52 index
@@ -8369,23 +8369,27 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0

<p>Paragraphs in <a href="#flow-content0">flow content</a> are defined
relative to what the document looks like without the <code><a
href="#ins">ins</a></code> and <code><a href="#del">del</a></code>
elements complicating matters. Let <var title="">view</var> be a view of
the DOM that replaces all <code><a href="#ins">ins</a></code> and <code><a
href="#del">del</a></code> elements in the document with their contents.
Then, in <var title="">view</var>, for each run of <a
href="#a">a</a></code>, <code><a href="#ins">ins</a></code> and <code><a
href="#del">del</a></code> elements complicating matters, since those
elements, with their hybrid content models, can straddle paragraph
boundaries.

<p>Let <var title="">view</var> be a view of the DOM that replaces all
<code><a href="#a">a</a></code>, <code><a href="#ins">ins</a></code> and
<code><a href="#del">del</a></code> elements in the document with their
contents. Then, in <var title="">view</var>, for each run of <a
href="#phrasing0">phrasing content</a> uninterrupted by other types of
content, in an element that accepts content other than <a
href="#phrasing0">phrasing content</a>, 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
href="#ins">ins</a></code> and <code><a href="#del">del</a></code>
elements.)
href="#a">a</a></code>, <code><a href="#ins">ins</a></code> and <code><a
href="#del">del</a></code> elements.)

<p>A <a href="#paragraph">paragraph</a> is also formed by <code><a
href="#p">p</a></code> elements.
<p>A <a href="#paragraph">paragraph</a> is also formed explicitly by
<code><a href="#p">p</a></code> elements.

<p class=note>The <code><a href="#p">p</a></code> element can be used to
wrap individual paragraphs when there would otherwise not be any content
@@ -8420,6 +8424,36 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0
&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.

<h3 id=apis-in><span class=secno>3.6 </span>APIs in HTML documents</h3>

<p>For <a href="#html-">HTML documents</a>, and for <a
70 source
@@ -6375,22 +6375,26 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0
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
@@ -6427,6 +6431,40 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0

</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>

0 comments on commit 6ec11de

Please sign in to comment.
You can’t perform that action at this time.