HTML5 Tracker

Diff (omit for latest revision)
Filter

Short URL: http://html5.org/r/5158

SVNBugCommentTime (UTC)
51589829[Gecko] [Internet Explorer] [Opera] [Webkit] Make the implied </p> magic not cross <button> boundaries since doing that breaks a(n invalid) Ubuntu download page. Rename the 'phrasing' category to 'ordinary' since I keep forgetting that 'phrasing' is not an explicit list but is in fact an open-ended list. Merged the 'special' and 'scoping' categories since nothing distinguished them.2010-07-14 18:13
Index: source
===================================================================
--- source	(revision 5157)
+++ source	(revision 5158)
@@ -89286,39 +89286,35 @@
 
    <dt><dfn>Special</dfn></dt>
    <dd><p>The following HTML elements have varying levels of special
-   parsing rules: <code>address</code>, <code>area</code>,
-   <code>article</code>, <code>aside</code>, <code>base</code>,
-   <code>basefont</code>, <code>bgsound</code>,
+   parsing rules: <code>address</code>, <code>applet</code>,
+   <code>area</code>, <code>article</code>, <code>aside</code>,
+   <code>base</code>, <code>basefont</code>, <code>bgsound</code>,
    <code>blockquote</code>, <code>body</code>, <code>br</code>,
-   <code>button</code>, <code>center</code>, <code>col</code>,
-   <code>colgroup</code>, <code>command</code>, <!--v2DDATAGRID
-   <code>datagrid</code>-->, <code>dd</code>, <code>details</code>,
-   <code>dir</code>, <code>div</code>, <code>dl</code>,
-   <code>dt</code>, <code>embed</code>, <code>fieldset</code>,
-   <code>figure</code>, <code>footer</code>, <code>form</code>,
-   <code>frame</code>, <code>frameset</code>, <code>h1</code>,
-   <code>h2</code>, <code>h3</code>, <code>h4</code>, <code>h5</code>,
-   <code>h6</code>, <code>head</code>, <code>header</code>,
-   <code>hgroup</code>, <code>hr</code>, <code>iframe</code>, <!--
+   <code>button</code>, <code>button</code>, <code>caption</code>,
+   <code>center</code>, <code>col</code>, <code>colgroup</code>,
+   <code>command</code>, <!--v2DDATAGRID <code>datagrid</code>,-->
+   <code>dd</code>, <code>details</code>, <code>dir</code>,
+   <code>div</code>, <code>dl</code>, <code>dt</code>,
+   <code>embed</code>, <code>fieldset</code>, <code>figure</code>,
+   <code>footer</code>, <code>form</code>, <code>frame</code>,
+   <code>frameset</code>, <code>h1</code>, <code>h2</code>,
+   <code>h3</code>, <code>h4</code>, <code>h5</code>, <code>h6</code>,
+   <code>head</code>, <code>header</code>, <code>hgroup</code>,
+   <code>hr</code>, <code>html</code>, <code>iframe</code>, <!--
    <code>image</code>, (commented out because this isn't an element
    that can end up on the stack, so it doesn't matter) -->
    <code>img</code>, <code>input</code>, <code>isindex</code>,
    <code>li</code>, <code>link</code>, <code>listing</code>,
-   <code>menu</code>, <code>meta</code>, <code>nav</code>,
-   <code>noembed</code>, <code>noframes</code>, <code>noscript</code>,
-   <code>ol</code>, <code>p</code>, <code>param</code>,
-   <code>plaintext</code>, <code>pre</code>, <code>script</code>,
-   <code>section</code>, <code>select</code>, <code>style</code>,
-   <code>tbody</code>, <code>textarea</code>, <code>tfoot</code>,
-   <code>thead</code>, <code>title</code>, <code>tr</code>,
-   <code>ul</code>, <code>wbr</code>, and <code>xmp</code>.</p></dd>
-
-   <dt><dfn>Scoping</dfn></dt>
-   <dd><p>The following HTML elements introduce new <span title="has
-   an element in scope">scopes</span> for various parts of the
-   parsing: <code>applet</code>, <code>caption</code>,
-   <code>html</code>, <code>marquee</code>, <code>object</code>,
-   <code>table</code>, <code>td</code>, <code>th</code>, and SVG's
+   <code>marquee</code>, <code>menu</code>, <code>meta</code>,
+   <code>nav</code>, <code>noembed</code>, <code>noframes</code>,
+   <code>noscript</code>, <code>object</code>, <code>ol</code>,
+   <code>p</code>, <code>param</code>, <code>plaintext</code>,
+   <code>pre</code>, <code>script</code>, <code>section</code>,
+   <code>select</code>, <code>style</code>, <code>table</code>,
+   <code>tbody</code>, <code>td</code>, <code>textarea</code>,
+   <code>tfoot</code>, <code>th</code>, <code>thead</code>,
+   <code>title</code>, <code>tr</code>, <code>ul</code>,
+   <code>wbr</code>, <code>xmp</code>, and SVG's
    <code>foreignObject</code>.</p></dd>
 
    <dt><dfn>Formatting</dfn></dt>
@@ -89330,7 +89326,7 @@
    <code>strike</code>, <code>strong</code>, <code>tt</code>, and
    <code>u</code>.</p></dd>
 
-   <dt><dfn>Phrasing</dfn></dt>
+   <dt><dfn>Ordinary</dfn></dt>
    <dd><p>All other elements found while parsing an HTML
    document.</p></dd>
 
@@ -89393,11 +89389,22 @@
   </ul>
 
   <p>The <span>stack of open elements</span> is said to <dfn
-  title="has an element in table scope">have an element in <em>table
-  scope</em></dfn> when it <span>has an element in the specific
+  title="has an element in button scope">have an element in button
+  scope</dfn> when it <span>has an element in the specific
   scope</span> consisting of the following element types:</p>
 
   <ul class="brief">
+   <li>All the element types listed above for the <i>has an element
+   in scope</i> algorithm.</li>
+   <li><code>button</code> in the HTML namespace</li>
+  </ul>
+
+  <p>The <span>stack of open elements</span> is said to <dfn
+  title="has an element in table scope">have an element in table
+  scope</dfn> when it <span>has an element in the specific
+  scope</span> consisting of the following element types:</p>
+
+  <ul class="brief">
    <li><code>html</code> in the HTML namespace</li> <!-- (This can only happen if the <var title="">node</var> is the topmost node of the <span>stack of open elements</span>, and prevents the next step from being invoked if there are no more elements in the stack.) -->
    <li><code>table</code> in the HTML namespace</li>
   </ul>
@@ -93258,10 +93265,10 @@
     DOM nonsense, and thus should actually afford better compatibility
     when implemented by the other browsers. -->
 
-    <p>If the <span>stack of open elements</span> <span title="has
-    an element in scope">has a <code>p</code> element in
-    scope</span>, then act as if an end tag with the tag name
-    "p" had been seen.</p>
+    <p>If the <span>stack of open elements</span> <span title="has an
+    element in button scope">has a <code>p</code> element in button
+    scope</span>, then act as if an end tag with the tag name "p" had
+    been seen.</p>
 
     <p><span>Insert an HTML element</span> for the token.</p>
 
@@ -93273,7 +93280,7 @@
    <dd>
 
     <p>If the <span>stack of open elements</span> <span title="has
-    an element in scope">has a <code>p</code> element in
+    an element in button scope">has a <code>p</code> element in button
     scope</span>, then act as if an end tag with the tag name
     "p" had been seen.</p>
 
@@ -93292,7 +93299,7 @@
    <dd>
 
     <p>If the <span>stack of open elements</span> <span title="has
-    an element in scope">has a <code>p</code> element in
+    an element in button scope">has a <code>p</code> element in button
     scope</span>, then act as if an end tag with the tag name
     "p" had been seen.</p>
 
@@ -93321,7 +93328,7 @@
     <p>Otherwise:</p>
 
     <p>If the <span>stack of open elements</span> <span title="has
-    an element in scope">has a <code>p</code> element in
+    an element in button scope">has a <code>p</code> element in button
     scope</span>, then act as if an end tag with the tag name
     "p" had been seen.</p>
 
@@ -93350,7 +93357,7 @@
 
      <li><p>If <var title="">node</var> is not in the
      <span>formatting</span> category, and is not in the
-     <span>phrasing</span> category, and is not an
+     <span>ordinary</span> category, and is not an
      <code>address</code>, <code>div</code>, or <code>p</code>
      element, then jump to the last step.</p></li> <!-- an element
      <foo> is in this list if the following markup:
@@ -93370,7 +93377,7 @@
       <p>This is the last step.</p>
 
       <p>If the <span>stack of open elements</span> <span title="has
-      an element in scope">has a <code>p</code> element in
+      an element in button scope">has a <code>p</code> element in button
       scope</span>, then act as if an end tag with the tag name
       "p" had been seen.</p>
 
@@ -93403,7 +93410,7 @@
 
      <li><p>If <var title="">node</var> is not in the
      <span>formatting</span> category, and is not in the
-     <span>phrasing</span> category, and is not an
+     <span>ordinary</span> category, and is not an
      <code>address</code>, <code>div</code>, or <code>p</code>
      element, then jump to the last step.</p></li> <!-- an element
      <foo> is in this list if the following markup:
@@ -93423,7 +93430,7 @@
       <p>This is the last step.</p>
 
       <p>If the <span>stack of open elements</span> <span title="has
-      an element in scope">has a <code>p</code> element in
+      an element in button scope">has a <code>p</code> element in button
       scope</span>, then act as if an end tag with the tag name
       "p" had been seen.</p>
 
@@ -93441,7 +93448,7 @@
    <dd>
 
     <p>If the <span>stack of open elements</span> <span title="has
-    an element in scope">has a <code>p</code> element in
+    an element in button scope">has a <code>p</code> element in button
     scope</span>, then act as if an end tag with the tag name
     "p" had been seen.</p>
 
@@ -93548,10 +93555,10 @@
    <dd>
 
     <p>If the <span>stack of open elements</span> does not <span
-    title="has an element in scope">have an element in scope</span>
-    with the same tag name as that of the token, then this is a
-    <span>parse error</span>; act as if a start tag with the tag name
-    "p" had been seen, then reprocess the current token.</p>
+    title="has an element in button scope">have an element in sbutton
+    cope</span> with the same tag name as that of the token, then this
+    is a <span>parse error</span>; act as if a start tag with the tag
+    name "p" had been seen, then reprocess the current token.</p>
 
     <p>Otherwise, run these steps:</p>
 
@@ -93786,7 +93793,7 @@
      topmost node in the <span>stack of open elements</span> that
      is lower in the stack than the <var title="">formatting
      element</var>, and is not an element in the
-     <span>phrasing</span> or <span>formatting</span>
+     <span>ordinary</span> or <span>formatting</span>
      categories. There might not be one.</p></li>
 
      <li><p>If there is no <var title="">furthest block</var>,
@@ -93959,12 +93966,12 @@
 
     <p>If the <code>Document</code> is <em>not</em> set to
     <span>quirks mode</span>, and the <span>stack of open
-    elements</span> <span title="has an element in scope">has a
-    <code>p</code> element in scope</span>, then act as if an end tag
-    with the tag name "p" had been seen.</p> <!-- i hate myself (this
-    quirk was basically caused by acid2; if i'd realised we could
-    change the specs when i wrote acid2, we could have avoided having
-    any parsing-mode quirks) -Hixie -->
+    elements</span> <span title="has an element in button scope">has a
+    <code>p</code> element in button scope</span>, then act as if an
+    end tag with the tag name "p" had been seen.</p> <!-- i hate
+    myself (this quirk was basically caused by acid2; if i'd realised
+    we could change the specs when i wrote acid2, we could have
+    avoided having any parsing-mode quirks) -Hixie -->
 
     <p><span>Insert an HTML element</span> for the token.</p>
 
@@ -94010,7 +94017,7 @@
    <dd>
 
     <p>If the <span>stack of open elements</span> <span title="has
-    an element in scope">has a <code>p</code> element in
+    an element in button scope">has a <code>p</code> element in button
     scope</span>, then act as if an end tag with the tag name
     "p" had been seen.</p>
 
@@ -94131,7 +94138,7 @@
    <dd>
 
     <p>If the <span>stack of open elements</span> <span title="has
-    an element in scope">has a <code>p</code> element in
+    an element in button scope">has a <code>p</code> element in button
     scope</span>, then act as if an end tag with the tag name
     "p" had been seen.</p>
 
@@ -94339,7 +94346,7 @@
 
     <p><span>Insert an HTML element</span> for the token.</p>
 
-    <p class="note">This element will be a <span>phrasing</span>
+    <p class="note">This element will be a <span>ordinary</span>
     element.</p>
 
    </dd>
@@ -94374,7 +94381,7 @@
      </li>
 
      <li><p>Otherwise, if <var title="">node</var> is in neither the
-     <span>formatting</span> category nor the <span>phrasing</span>
+     <span>formatting</span> category nor the <span>ordinary</span>
      category, then this is a <span>parse error</span>; ignore the
      token, and abort these steps.</p></li>
 

|