[html5] r1376 - /

whatwg at whatwg.org whatwg at whatwg.org
Thu Mar 20 16:38:10 PDT 2008


Author: ianh
Date: 2008-03-20 16:38:10 -0700 (Thu, 20 Mar 2008)
New Revision: 1376

Modified:
   index
   source
Log:
[e] (0) Tables: rewrite the table model algorithms to be zero-index-based instead of 1-based; add a bunch of acknowledgements for people who have done research on tables (the fruit of their labour will affect future checkins).

Modified: index
===================================================================
--- index	2008-03-18 22:13:11 UTC (rev 1375)
+++ index	2008-03-20 23:38:10 UTC (rev 1376)
@@ -24,7 +24,7 @@
 
    <h1 id=html-5>HTML 5</h1>
 
-   <h2 class="no-num no-toc" id=working>Working Draft — 18 March 2008</h2>
+   <h2 class="no-num no-toc" id=working>Working Draft — 20 March 2008</h2>
 
    <p>You can take part in this work. <a
     href="http://www.whatwg.org/mailing-list">Join the working group's
@@ -20105,14 +20105,15 @@
    <var title="">y</var>). The grid is finite, and is either empty or has one
    or more slots. If the grid has one or more slots, then the <var
    title="">x</var> coordinates are always in the range
-   <span>1 ≤ <var title="">x</var> ≤ <var
-   title="">x<sub title="">max</sub></var></span>, and the <var
+   <span>0 ≤ <var title="">x</var> < <var
+   title="">x<sub title="">width</sub></var></span>, and the <var
    title="">y</var> coordinates are always in the range
-   <span>1 ≤ <var title="">y</var> ≤ <var
-   title="">y<sub title="">max</sub></var></span>. If one or both of <var
-   title="">x<sub title="">max</sub></var> and <var title="">y<sub
-   title="">max</sub></var> are zero, then the table is empty (has no slots).
-   Tables correspond to <code><a href="#table">table</a></code> elements.
+   <span>0 ≤ <var title="">y</var> < <var
+   title="">y<sub title="">height</sub></var></span>. If one or both of <var
+   title="">x<sub title="">width</sub></var> and <var title="">y<sub
+   title="">height</sub></var> are zero, then the table is empty (has no
+   slots). Tables correspond to <code><a href="#table">table</a></code>
+   elements.
 
   <p>A <dfn id=cell title=concept-cell>cell</dfn> is a set of slots anchored
    at a slot (<var title="">cell<sub title="">x</sub></var>, <var
@@ -20125,32 +20126,32 @@
    title="">x</sub></var>+<var title="">width</var></span> and <span><var
    title="">cell<sub title="">y</sub></var> ≤ <var
    title="">y</var> < <var title="">cell<sub
-   title="">y</sub></var>+<var title="">height</var></span>. Cell can either
+   title="">y</sub></var>+<var title="">height</var></span>. Cells can either
    be <em>data cells</em> or <em>header cells</em>. Data cells correspond to
    <code><a href="#td">td</a></code> elements, and have zero or more
    associated header cells. Header cells correspond to <code><a
    href="#th">th</a></code> elements.
 
   <p>A <dfn id=row0 title=concept-row>row</dfn> is a complete set of slots
-   from <span><var title="">x</var>=1</span> to <span><var
-   title="">x</var>=<var title="">x<sub title="">max</sub></var></span>, for
-   a particular value of <var title="">y</var>. Rows correspond to <code><a
-   href="#tr">tr</a></code> elements.
+   from <span><var title="">x</var>=0</span> to <span><var
+   title="">x</var>=<var title="">x<sub title="">width</sub></var>-1</span>,
+   for a particular value of <var title="">y</var>. Rows correspond to
+   <code><a href="#tr">tr</a></code> elements.
 
   <p>A <dfn id=column title=concept-column>column</dfn> is a complete set of
-   slots from <span><var title="">y</var>=1</span> to <span><var
-   title="">y</var>=<var title="">y<sub title="">max</sub></var></span>, for
-   a particular value of <var title="">x</var>. Columns can correspond to
+   slots from <span><var title="">y</var>=0</span> to <span><var
+   title="">y</var>=<var title="">y<sub title="">height</sub></var>-1</span>,
+   for a particular value of <var title="">x</var>. Columns can correspond to
    <code><a href="#col">col</a></code> elements, but in the absense of
    <code><a href="#col">col</a></code> elements are implied.
 
   <p>A <dfn id=row-group title=concept-row-group>row group</dfn> is a set of
-   <a href="#row0" title=concept-row>rows</a> anchored at a slot (1, <var
+   <a href="#row0" title=concept-row>rows</a> anchored at a slot (0, <var
    title="">group<sub title="">y</sub></var>) with a particular <var
    title="">height</var> such that the row group covers all the slots with
    coordinates (<var title="">x</var>, <var title="">y</var>) where
-   <span>1 ≤ <var title="">x</var> < <var
-   title="">x<sub title="">max</sub></var></span> and <span><var
+   <span>0 ≤ <var title="">x</var> < <var
+   title="">x<sub title="">width</sub></var>-1</span> and <span><var
    title="">group<sub title="">y</sub></var> ≤ <var
    title="">y</var> < <var title="">group<sub
    title="">y</sub></var>+<var title="">height</var></span>. Row groups
@@ -20161,16 +20162,16 @@
 
   <p>A <dfn id=column0 title=concept-column-group>column group</dfn> is a set
    of <a href="#column" title=concept-column>columns</a> anchored at a slot
-   (<var title="">group<sub title="">x</sub></var>, 1) with a particular <var
+   (<var title="">group<sub title="">x</sub></var>, 0) with a particular <var
    title="">width</var> such that the column group covers all the slots with
    coordinates (<var title="">x</var>, <var title="">y</var>) where
    <span><var title="">group<sub title="">x</sub></var> ≤ <var
    title="">x</var> < <var title="">group<sub
    title="">x</sub></var>+<var title="">width</var></span> and
-   <span>1 ≤ <var title="">y</var> < <var
-   title="">y<sub title="">max</sub></var></span>. Column groups correspond
-   to <code><a href="#colgroup">colgroup</a></code> elements. Not every
-   column is necessarily in a column group.
+   <span>0 ≤ <var title="">y</var> < <var
+   title="">y<sub title="">height</sub></var>-1</span>. Column groups
+   correspond to <code><a href="#colgroup">colgroup</a></code> elements. Not
+   every column is necessarily in a column group.
 
   <p><a href="#row-group" title=concept-row-group>Row groups</a> cannot
    overlap each other. Similarly, <a href="#column0"
@@ -20202,29 +20203,30 @@
   <p>To determine which elements correspond to which slots in a <a
    href="#table1" title=concept-table>table</a> associated with a <code><a
    href="#table">table</a></code> element, to determine the dimensions of the
-   table (<var title="">x<sub title="">max</sub></var> and <var
-   title="">y<sub title="">max</sub></var>), and to determine if there are
+   table (<var title="">x<sub title="">width</sub></var> and <var
+   title="">y<sub title="">height</sub></var>), and to determine if there are
    any <a href="#table2" title="table model error">table model errors</a>,
    user agents must use the following algorithm:
 
   <ol>
    <li>
-    <p>Let <var title="">x<sub title="">max</sub></var> be zero.</p>
+    <p>Let <var title="">x<sub title="">width</sub></var> be zero.</p>
 
    <li>
-    <p>Let <var title="">y<sub title="">max</sub></var> be zero.</p>
+    <p>Let <var title="">y<sub title="">height</sub></var> be zero.</p>
 
    <li>
     <p>Let <var title="">the table</var> be the <a href="#table1"
      title=concept-table>table</a> represented by the <code><a
      href="#table">table</a></code> element. The <var title="">x<sub
-     title="">max</sub></var> and <var title="">y<sub
-     title="">max</sub></var> variables give <var title="">the table</var>'s
-     extent. <var title="">The table</var> is initially empty.</p>
+     title="">width</sub></var> and <var title="">y<sub
+     title="">height</sub></var> variables give <var title="">the
+     table</var>'s dimensions. <var title="">The table</var> is initially
+     empty.</p>
 
    <li>
-    <p>If the <code><a href="#table">table</a></code> element has no table
-     children, then return <var title="">the table</var> (which will be
+    <p>If the <code><a href="#table">table</a></code> element has no children
+     elements, then return <var title="">the table</var> (which will be
      empty), and abort these steps.</p>
 
    <li>
@@ -20232,15 +20234,18 @@
      of the <code><a href="#table">table</a></code> element.</p>
 
     <p>If a step in this algorithm ever requires the <var title="">current
-     element</var> to be advanced to the next child of the <code><a
-     href="#table">table</a></code> when there is no such next child, then
-     the algorithm must be aborted at that point and the algorithm must
-     return <var title="">the table</var>.</p>
+     element</var> to be <dfn id=advanced
+     title=concept-table-advance>advanced to the next child of the
+     <code>table</code></dfn> when there is no such next child, then the
+     algorithm must be aborted at that point and the algorithm must return
+     <var title="">the table</var>.</p>
 
    <li>
     <p>While the <var title="">current element</var> is not one of the
-     following elements, advance the <var title="">current element</var> to
-     the next child of the <code><a href="#table">table</a></code>:</p>
+     following elements, <a href="#advanced"
+     title=concept-table-advance>advance</a> the <var title="">current
+     element</var> to the next child of the <code><a
+     href="#table">table</a></code>:</p>
 
     <ul class=brief>
      <li><code><a href="#caption0">caption</a></code>
@@ -20266,9 +20271,10 @@
    <li>
     <p>If the <var title="">current element</var> is a <code><a
      href="#caption0">caption</a></code>, then while the <var
-     title="">current element</var> is not one of the following elements,
-     advance the <var title="">current element</var> to the next child of the
-     <code><a href="#table">table</a></code>:</p>
+     title="">current element</var> is not one of the following elements, <a
+     href="#advanced" title=concept-table-advance>advance</a> the <var
+     title="">current element</var> to the next child of the <code><a
+     href="#table">table</a></code>:</p>
 
     <ul class=brief>
      <li><code><a href="#colgroup">colgroup</a></code>
@@ -20305,7 +20311,8 @@
         <ol>
          <li>
           <p>Let <var title="">x<sub title="">start</sub></var> have the
-           value <span><var title="">x<sub title="">max</sub></var>+1</span>.</p>
+           value of <span><var title="">x<sub
+           title="">width</sub></var></span>.</p>
 
          <li>
           <p>Let the <var title="">current column</var> be the first <code><a
@@ -20328,7 +20335,7 @@
            an error, then let <var title="">span</var> be 1.</p>
 
          <li>
-          <p>Increase <var title="">x<sub title="">max</sub></var> by <var
+          <p>Increase <var title="">x<sub title="">width</sub></var> by <var
            title="">span</var>.</p>
 
          <li>
@@ -20350,12 +20357,12 @@
           <p>Let all the last <a href="#column"
            title=concept-column>columns</a> in <var title="">the table</var>
            from <span>x=<var title="">x<sub title="">start</sub></var></span>
-           to <span>x=<var title="">x<sub title="">max</sub></var></span>
+           to <span>x=<var title="">x<sub title="">width</sub></var>-1</span>
            form a new <a href="#column0" title=concept-column-group>column
            group</a>, anchored at the slot (<var title="">x<sub
-           title="">start</sub></var>, 1), with width <var title="">x<sub
-           title="">max</sub></var>-<var title="">x<sub
-           title="">start</sub></var>-1, corresponding to the <code><a
+           title="">start</sub></var>, 0), with width <span><var
+           title="">x<sub title="">width</sub></var>-<var title="">x<sub
+           title="">start</sub></var></span>, corresponding to the <code><a
            href="#colgroup">colgroup</a></code> element.</p>
         </ol>
 
@@ -20380,28 +20387,31 @@
            title="">span</var> be 1.</p>
 
          <li>
-          <p>Increase <var title="">x<sub title="">max</sub></var> by <var
+          <p>Increase <var title="">x<sub title="">width</sub></var> by <var
            title="">span</var>.</p>
 
          <li>
           <p>Let the last <var title="">span</var> <a href="#column"
            title=concept-column>columns</a> in <var title="">the table</var>
            form a new <a href="#column0" title=concept-column-group>column
-           group</a>, anchored at the slot (<var title="">x<sub
-           title="">max</sub></var>-<var title="">span</var>+1, 1), with
-           width <var title="">span</var>, corresponding to the <code><a
+           group</a>, anchored at the slot (<span><var title="">x<sub
+           title="">width</sub></var>-<var title="">span</var></span>, 0),
+           with width <var title="">span</var>, corresponding to the <code><a
            href="#colgroup">colgroup</a></code> element.</p>
         </ol>
       </dl>
 
      <li>
-      <p>Advance the <var title="">current element</var> to the next child of
-       the <code><a href="#table">table</a></code>.</p>
+      <p><a href="#advanced" title=concept-table-advance>Advance</a> the <var
+       title="">current element</var> to the next child of the <code><a
+       href="#table">table</a></code>.</p>
 
      <li>
       <p>While the <var title="">current element</var> is not one of the
-       following elements, advance the <var title="">current element</var> to
-       the next child of the <code><a href="#table">table</a></code>:</p>
+       following elements, <a href="#advanced"
+       title=concept-table-advance>advance</a> the <var title="">current
+       element</var> to the next child of the <code><a
+       href="#table">table</a></code>:</p>
 
       <ul class=brief>
        <li><code><a href="#colgroup">colgroup</a></code>
@@ -20425,8 +20435,8 @@
     <p>Let <var title="">y<sub title="">current</sub></var> be zero. When the
      algorithm is aborted, if <var title="">y<sub
      title="">current</sub></var> does not equal <var title="">y<sub
-     title="">max</sub></var>, then that is a <a href="#table2">table model
-     error</a>.</p>
+     title="">height</sub></var>, then that is a <a href="#table2">table
+     model error</a>.</p>
 
    <li>
     <p>Let the <var title="">list of downward-growing cells</var> be an empty
@@ -20434,7 +20444,8 @@
 
    <li>
     <p><em>Rows.</em> While the <var title="">current element</var> is not
-     one of the following elements, advance the <var title="">current
+     one of the following elements, <a href="#advanced"
+     title=concept-table-advance>advance</a> the <var title="">current
      element</var> to the next child of the <code><a
      href="#table">table</a></code>:</p>
 
@@ -20459,8 +20470,8 @@
      group</a>.</p>
 
    <li>
-    <p>Let <var title="">y<sub title="">start</sub></var> have the value
-     <span><var title="">y<sub title="">max</sub></var>+1</span>.</p>
+    <p>Let <var title="">y<sub title="">start</sub></var> have the value of
+     <var title="">y<sub title="">height</sub></var>.</p>
 
    <li>
     <p>For each <code><a href="#tr">tr</a></code> element that is a child of
@@ -20469,17 +20480,17 @@
 
    <li> <!-- if we added any rows, make them part of a row group -->
     <p>If <span><var title="">y<sub
-     title="">max</sub></var> ≥ <var title="">y<sub
+     title="">height</sub></var> > <var title="">y<sub
      title="">start</sub></var></span>, then let all the last <a href="#row0"
      title=concept-row>rows</a> in <var title="">the table</var> from
      <span>y=<var title="">y<sub title="">start</sub></var></span> to
-     <span>y=<var title="">y<sub title="">max</sub></var></span> form a new
-     <a href="#row-group" title=concept-row-group>row group</a>, anchored at
-     the slot with coordinate (1, <var title="">y<sub
-     title="">start</sub></var>), with height <var title="">y<sub
-     title="">max</sub></var>-<var title="">y<sub
-     title="">start</sub></var>+1, corresponding to the <var title="">current
-     element</var>.</p>
+     <span>y=<var title="">y<sub title="">height</sub></var>-1</span> form a
+     new <a href="#row-group" title=concept-row-group>row group</a>, anchored
+     at the slot with coordinate (0, <var title="">y<sub
+     title="">start</sub></var>), with height <span><var title="">y<sub
+     title="">height</sub></var>-<var title="">y<sub
+     title="">start</sub></var></span>, corresponding to the <var
+     title="">current element</var>.</p>
 
    <li>
     <p>Run the <a href="#algorithm">algorithm for ending a row group</a>
@@ -20496,20 +20507,20 @@
   <ol>
    <li>
     <p>If <var title="">y<sub title="">current</sub></var> is less than <var
-     title="">y<sub title="">max</sub></var>, then this is a <a
+     title="">y<sub title="">height</sub></var>, then this is a <a
      href="#table2">table model error</a>.</p>
 
    <li>
     <p>While <var title="">y<sub title="">current</sub></var> is less than
-     <var title="">y<sub title="">max</sub></var>, follow these steps:</p>
+     <var title="">y<sub title="">height</sub></var>, follow these steps:</p>
 
     <ol>
      <li>
-      <p>Increase <var title="">y<sub title="">current</sub></var> by 1.</p>
-
-     <li>
       <p>Run the <a href="#algorithm1">algorithm for growing downward-growing
        cells</a>.</p>
+
+     <li>
+      <p>Increase <var title="">y<sub title="">current</sub></var> by 1.</p>
     </ol>
 
    <li>
@@ -20522,41 +20533,37 @@
 
   <ol>
    <li>
-    <p>Increase <var title="">y<sub title="">current</sub></var> by 1.</p>
-    <!-- ymax is increased below once we know cell dimensions -->
+    <p>If <var title="">y<sub title="">height</sub></var> is equal to <var
+     title="">y<sub title="">current</sub></var>, then increase <var
+     title="">y<sub title="">height</sub></var> by 1. (<var title="">y<sub
+     title="">current</sub></var> is never <em>greater</em> than <var
+     title="">y<sub title="">height</sub></var>.)</p>
 
    <li>
-    <p>Run the <a href="#algorithm1">algorithm for growing downward-growing
-     cells</a>.</p>
+    <p>Let <var title="">x<sub title="">current</sub></var> be 0.</p>
 
    <li>
-    <p>Let <var title="">x<sub title="">current</sub></var> be 1.</p>
-    <!-- xmax is increased below once we know cell dimensions -->
-
-   <li>
-    <p>If the <code><a href="#tr">tr</a></code> element being processed
-     contains no <code><a href="#td">td</a></code> or <code><a
-     href="#th">th</a></code> elements, then abort this set of steps and
-     return to the algorithm above.</p>
-
-   <li>
     <p>Let <var title="">current cell</var> be the first <code><a
      href="#td">td</a></code> or <code><a href="#th">th</a></code> element in
      the <code><a href="#tr">tr</a></code> element being processed.</p>
 
    <li>
+    <p>Run the <a href="#algorithm1">algorithm for growing downward-growing
+     cells</a>.</p>
+
+   <li>
     <p><em>Cells.</em> While <var title="">x<sub title="">current</sub></var>
-     is less than or equal to <var title="">x<sub title="">max</sub></var>
-     and the slot with coordinate (<var title="">x<sub
-     title="">current</sub></var>, <var title="">y<sub
-     title="">current</sub></var>) already has a cell assigned to it,
-     increase <var title="">x<sub title="">current</sub></var> by 1.</p>
+     is less than <var title="">x<sub title="">width</sub></var> and the slot
+     with coordinate (<var title="">x<sub title="">current</sub></var>, <var
+     title="">y<sub title="">current</sub></var>) already has a cell assigned
+     to it, increase <var title="">x<sub title="">current</sub></var> by 1.</p>
 
    <li>
-    <p>If <var title="">x<sub title="">current</sub></var> is greater than
-     <var title="">x<sub title="">max</sub></var>, increase <var
-     title="">x<sub title="">max</sub></var> by 1 (which will make them
-     equal).</p>
+    <p>If <var title="">x<sub title="">current</sub></var> is equal to <var
+     title="">x<sub title="">width</sub></var>, increase <var title="">x<sub
+     title="">width</sub></var> by 1. (<var title="">x<sub
+     title="">current</sub></var> is never <em>greater</em> than <var
+     title="">x<sub title="">width</sub></var>.)</p>
 
    <li>
     <p>If the <var title="">current cell</var> has a <code
@@ -20583,17 +20590,19 @@
 
    <li>
     <p>If <span><var title="">x<sub
-     title="">max</sub></var> < <var title="">x<sub
-     title="">current</sub></var>+<var title="">colspan</var>-1</span>, then
-     let <var title="">x<sub title="">max</sub></var> be <var title="">x<sub
-     title="">current</sub></var>+<var title="">colspan</var>-1.</p>
+     title="">width</sub></var> < <var title="">x<sub
+     title="">current</sub></var>+<var title="">colspan</var></span>, then
+     let <var title="">x<sub title="">width</sub></var> be <span><var
+     title="">x<sub title="">current</sub></var>+<var
+     title="">colspan</var></span>.</p>
 
    <li>
     <p>If <span><var title="">y<sub
-     title="">max</sub></var> < <var title="">y<sub
-     title="">current</sub></var>+<var title="">rowspan</var>-1</span>, then
-     let <var title="">y<sub title="">max</sub></var> be <var title="">y<sub
-     title="">current</sub></var>+<var title="">rowspan</var>-1.</p>
+     title="">height</sub></var> < <var title="">y<sub
+     title="">current</sub></var>+<var title="">rowspan</var></span>, then
+     let <var title="">y<sub title="">height</sub></var> be <span><var
+     title="">y<sub title="">current</sub></var>+<var
+     title="">rowspan</var></span>.</p>
 
    <li>
     <p>Let the slots with coordinates (<var title="">x</var>, <var
@@ -20638,7 +20647,8 @@
     <p>If <var title="">current cell</var> is the last <code><a
      href="#td">td</a></code> or <code><a href="#th">th</a></code> element in
      the <code><a href="#tr">tr</a></code> element being processed, then
-     abort this set of steps and return to the algorithm above.</p>
+     increase <var title="">y<sub title="">current</sub></var> by 1, abort
+     this set of steps, and return to the algorithm above.</p>
 
    <li>
     <p>Let <var title="">current cell</var> be the next <code><a
@@ -20649,33 +20659,18 @@
     <p>Return to step 5 (cells).</p>
   </ol>
 
-  <p>The <dfn id=algorithm1>algorithm for growing downward-growing
-   cells</dfn>, used when adding a new row, is as follows:
+  <p>When the algorithms above require the user agent to run the <dfn
+   id=algorithm1>algorithm for growing downward-growing cells</dfn>, the user
+   agent must, for each {<var title="">cell</var>, <var title="">cell<sub
+   title="">x</sub></var>, <var title="">width</var>} tuple in the <var
+   title="">list of downward-growing cells</var>, if any, extend the <a
+   href="#cell" title=concept-cell>cell</a> <var title="">cell</var> so that
+   it also covers the slots with coordinates (<var title="">x</var>, <var
+   title="">y<sub title="">current</sub></var>), where <span><var
+   title="">cell<sub title="">x</sub></var> ≤ <var
+   title="">x</var> < <var title="">cell<sub
+   title="">x</sub></var>+<var title="">width</var></span>.
 
-  <ol>
-   <li>
-    <p>If the <var title="">list of downward-growing cells</var> is empty, do
-     nothing. Abort these steps; return to the step that invoked this
-     algorithm.</p>
-
-   <li>
-    <p>Otherwise, if <var title="">y<sub title="">max</sub></var> is less
-     than <var title="">y<sub title="">current</sub></var>, then increase
-     <var title="">y<sub title="">max</sub></var> by 1 (this will make it
-     equal to <var title="">y<sub title="">current</sub></var>).</p>
-
-   <li>
-    <p>For each {<var title="">cell</var>, <var title="">cell<sub
-     title="">x</sub></var>, <var title="">width</var>} tuple in the <var
-     title="">list of downward-growing cells</var>, extend the <a
-     href="#cell" title=concept-cell>cell</a> <var title="">cell</var> so
-     that it also covers the slots with coordinates (<var title="">x</var>,
-     <var title="">y<sub title="">current</sub></var>), where <span><var
-     title="">cell<sub title="">x</sub></var> ≤ <var
-     title="">x</var> < <var title="">cell<sub
-     title="">x</sub></var>+<var title="">width</var>-1</span>.</p>
-  </ol>
-
   <p>If, after establishing which elements correspond to which slots, there
    exists a <a href="#column" title=concept-column>column</a> in the <a
    href="#table1" title=concept-table>table</a> containing only <span
@@ -20723,7 +20718,7 @@
          title="">data<sub title="">y</sub></var>) where <span><var
          title="">header<sub title="">x</sub></var> < <var
          title="">data<sub title="">x</sub></var> ≤ <var
-         title="">x<sub title="">max</sub></var></span> and <span><var
+         title="">x<sub title="">width</sub></var></span> and <span><var
          title="">data<sub title="">y</sub></var> = <var
          title="">header<sub title="">y</sub></var></span>, except for any
          data cells corresponding to <code><a href="#td">td</a></code>
@@ -20741,9 +20736,9 @@
          title="">header<sub title="">x</sub></var></span> and <span><var
          title="">header<sub title="">y</sub></var> < <var
          title="">data<sub title="">y</sub></var> ≤ <var
-         title="">y<sub title="">max</sub></var></span>, except for any data
-         cells corresponding to <code><a href="#td">td</a></code> elements
-         that have a <code title=attr-td-headers><a
+         title="">y<sub title="">height</sub></var></span>, except for any
+         data cells corresponding to <code><a href="#td">td</a></code>
+         elements that have a <code title=attr-td-headers><a
          href="#headers">headers</a></code> attribute specified.</p>
 
        <dt>If it is in the <em title=attr-th-scope-rowgroup><a
@@ -20762,7 +20757,7 @@
          title="">data<sub title="">y</sub></var>) where <span><var
          title="">header<sub title="">x</sub></var> ≤ <var
          title="">data<sub title="">x</sub></var> ≤ <var
-         title="">x<sub title="">max</sub></var></span> and <span><var
+         title="">x<sub title="">width</sub></var></span> and <span><var
          title="">header<sub title="">y</sub></var> ≤ <var
          title="">data<sub title="">y</sub></var> < <var
          title="">group<sub title="">y</sub></var>+<var
@@ -20791,7 +20786,7 @@
          title="">width</var></span> and <span><var title="">header<sub
          title="">y</sub></var> ≤ <var title="">data<sub
          title="">y</sub></var> ≤ <var title="">y<sub
-         title="">max</sub></var></span>, except for any data cells
+         title="">height</sub></var></span>, except for any data cells
          corresponding to <code><a href="#td">td</a></code> elements that
          have a <code title=attr-td-headers><a
          href="#headers">headers</a></code> attribute specified.</p>
@@ -20814,9 +20809,9 @@
          title="">header<sub title="">x</sub></var></span> and <span><var
          title="">header<sub title="">y</sub></var> < <var
          title="">data<sub title="">y</sub></var> ≤ <var
-         title="">y<sub title="">max</sub></var></span>, except for any data
-         cells corresponding to <code><a href="#td">td</a></code> elements
-         that have a <code title=attr-td-headers><a
+         title="">y<sub title="">height</sub></var></span>, except for any
+         data cells corresponding to <code><a href="#td">td</a></code>
+         elements that have a <code title=attr-td-headers><a
          href="#headers">headers</a></code> attribute specified.</p>
 
         <p>Otherwise, the header cell is in the first column of the table;
@@ -20825,7 +20820,7 @@
          title="">data<sub title="">y</sub></var>) where <span><var
          title="">header<sub title="">x</sub></var> < <var
          title="">data<sub title="">x</sub></var> ≤ <var
-         title="">x<sub title="">max</sub></var></span> and <span><var
+         title="">x<sub title="">width</sub></var></span> and <span><var
          title="">data<sub title="">y</sub></var> = <var
          title="">header<sub title="">y</sub></var></span>, except for any
          data cells corresponding to <code><a href="#td">td</a></code>
@@ -47162,18 +47157,19 @@
   <h2 class=no-num id=acknowledgements>Acknowledgements</h2>
 
   <p>Thanks to Aankhen, Aaron Boodman, Aaron Leventhal, Adam Roben, Addison
-   Phillips, Adrian Sutton, Agustín Fernández, Alexey
-   Feldgendler, Andrew Gove, Andrew Sidwell, Anne van Kesteren, Anthony
-   Hickson, Antti Koivisto, Arphen Lin, Asbjørn Ulsberg, Ben Godfrey,
-   Ben Meadowcroft, Benjamin Hawkes-Lewis, Bert Bos, Billy Wong, Bjoern
-   Hoehrmann, Boris Zbarsky, Brad Fults, Brad Neuberg, Brady Eidson, Brendan
-   Eich, Brett Wilson, Brian Campbell, Brian Smith, Cameron McCormack, Carlos
+   Phillips, Adrian Sutton, Agustín Fernández, Alastair
+   Campbell, Alexey Feldgendler, Andrew Gove, Andrew Sidwell, Anne van
+   Kesteren, Anthony Hickson, Antti Koivisto, Arphen Lin, Asbjørn
+   Ulsberg, Aurelien Levy, Ben Godfrey, Ben Meadowcroft, Ben Millard,
+   Benjamin Hawkes-Lewis, Bert Bos, Billy Wong, Bjoern Hoehrmann, Boris
+   Zbarsky, Brad Fults, Brad Neuberg, Brady Eidson, Brendan Eich, Brett
+   Wilson, Brian Campbell, Brian Smith, Cameron McCormack, Carlos
    Perelló Marín, Chao Cai, &#xc724;&#xc11d;&#xcc2c; (Channy
    Yun), Charl van Niekerk, Charles Iliya Krempeaux, Charles McCathieNevile,
    Christian Biesinger, Christian Johansen, Chriswa, Collin Jackson, Daniel
    Brumbaugh Keeney, Daniel Glazman, Daniel Peng, Daniel Spång, Darin
-   Alder, Darin Fisher, Dave Singer, Dave Townsend<!-- Mossop on
-  moz irc -->,
+   Alder, Darin Fisher, Dave Singer, Dave Townsend<!-- Mossop on moz
+  irc -->,
    David Baron, David Flanagan, David Håsäther, David Hyatt, Derek
    Featherstone, DeWitt Clinton, Dimitri Glazkov, dolphinling, Doron
    Rosenberg, Doug Kramer, Eira Monstad, Elliotte Harold, Erik Arvidsson,
@@ -47182,31 +47178,34 @@
    Mason, Hugh Winkler, Ignacio Javier, Ivo Emanuel Gonçalves, J.
    King, James Graham, James M Snell, James Perrett, Jan-Klaas Kollhof, Jason
    White, Jasper Bryant-Greene, Jeff Cutsinger, Jeff Walden, Jens Bannmann,
-   Jens Fendler, Jeroen van der Meer, Jim Meehan, Joel Spolsky, John Boyer,
-   John Bussjaeger, John Harding, Johnny Stenback, Jon Perlow, Jonathan
-   Worent, Jorgen Horstink, Josh Levenberg, Joshua Randall, Jukka K. Korpela,
-   Kai Hendry, <!-- Keryx Web, = Lars Gunther --> Kornel Lesinski,
+   Jens Fendler, Jeroen van der Meer, Jim Meehan, Joe Clark, Joel Spolsky,
+   John Boyer, John Bussjaeger, John Harding, Johnny Stenback, Jon Perlow,
+   Jonathan Worent, Jorgen Horstink, Josh Levenberg, Joshua Randall, Jukka K.
+   Korpela, Kai Hendry, <!-- Keryx Web, = Lars
+  Gunther --> Kornel Lesinski,
    &#x9ed2;&#x6fa4;&#x525b;&#x5fd7; (KUROSAWA Takeshi), Kristof Zelechovski,
-   Lachlan Hunt, Larry Page, Lars Gunther, Laurens Holst, Leif Halvard Silli,
-   Lenny Domnitser, Léonard Bouchet, Leons Petrazickis,
-   Logan<!-- on moz irc -->, Loune, Maciej Stachowiak, Malcolm Rowe, Mark
-   Nottingham, Mark Rowe<!--bdash-->, Mark Schenk, Martijn Wargers, Martin
-   Atkins, Martin Dürst, Martin Honnen, Mathieu Henri, Matthew
-   Mastracci, Matthew Raymond, Matthew Thomas, Mattias Waldau, Max
-   Romantschuk, Michael 'Ratt' Iannarelli, Michael A. Nachbaur, Michael A.
-   Puls II<!--Shadow2531-->, Michael Gratton, Michael Powers, Michel Fortin,
-   Michiel van der Blonk, Mihai &#x015E;ucan<!-- from ROBO Design -->, Mike
-   Brown, Mike Dierken<!-- S. Mike Dierken -->, Mike Dixon, Mike Schinkel,
-   Mike Shaver, Mike Smith, Mikko Rantalainen, Neil Deakin, Olav Junker
-   Kjær, Oliver Hunt, Peter Kasting, Philip Taylor, Rachid Finge, Rajas
-   Moonka, Ralf Stoltze, Ralph Giles, Raphael Champeimont, Rimantas
-   Liubertas, Robert O'Callahan, Robert Sayre, Roman Ivanov, S. Mike Dierken,
-   Sam Ruby, Sam Weinig, Scott Hess, Sean Knapp, Shaun Inman, Silvia
-   Pfeiffer, Simon Pieters, Stefan Haustein, Stephen Ma, Steve Runyon, Steven
-   Garrity, Stewart Brodie, Stuart Parmenter, Tantek Çelik, Thomas
-   Broyer, Thomas O'Connor, Tim Altman, Tyler Close, Vladimir
-   Vuki&#x0107;evi&#x0107;, Wakaba, William Swanson, and Øistein E.
-   Andersen, for their useful and substantial comments.
+   Lachlan Hunt, Larry Page, Lars Gunther, Laura L. Carlson, Laura Wisewell,
+   Laurens Holst, Leif Halvard Silli, Lenny Domnitser, Léonard
+   Bouchet, Leons Petrazickis, Logan<!-- on moz irc -->, Loune, Maciej
+   Stachowiak, Malcolm Rowe, Mark Nottingham, Mark Rowe<!--bdash-->, Mark
+   Schenk, Martijn Wargers, Martin Atkins, Martin Dürst, Martin Honnen,
+   Mathieu Henri, Matthew Mastracci, Matthew Raymond, Matthew Thomas, Mattias
+   Waldau, Max Romantschuk, Michael 'Ratt' Iannarelli, Michael A. Nachbaur,
+   Michael A. Puls II<!--Shadow2531-->, Michael Gratton, Michael Powers,
+   Michel Fortin, Michiel van der Blonk, Mihai
+   &#x015E;ucan<!-- from ROBO Design -->, Mike Brown, Mike Dierken<!--
+  S. Mike Dierken -->,
+   Mike Dixon, Mike Schinkel, Mike Shaver, Mike Smith, Mikko Rantalainen,
+   Neil Deakin, Olav Junker Kjær, Oliver Hunt, Peter Kasting, Philip
+   Taylor, Rachid Finge, Rajas Moonka, Ralf Stoltze, Ralph Giles, Raphael
+   Champeimont, Rimantas Liubertas, Robert O'Callahan, Robert Sayre, Roman
+   Ivanov, S. Mike Dierken, Sam Ruby, Sam Weinig, Scott Hess, Sean Knapp,
+   Shaun Inman, Silvia Pfeiffer, Simon Pieters, Stefan Haustein, Stephen Ma,
+   Steve Faulkner, Steve Runyon, Steven Garrity, Stewart Brodie, Stuart
+   Parmenter, Tantek Çelik, Terrence Wood, Thomas Broyer, Thomas
+   O'Connor, Tim Altman, Tyler Close, Vladimir Vuki&#x0107;evi&#x0107;,
+   Wakaba, William Swanson, and Øistein E. Andersen, for their useful
+   and substantial comments.
 
   <p>Thanks also to everyone who has ever posted about HTML5 to their blogs,
    public mailing lists, or forums, including the <a

Modified: source
===================================================================
--- source	2008-03-18 22:13:11 UTC (rev 1375)
+++ source	2008-03-20 23:38:10 UTC (rev 1376)
@@ -17596,15 +17596,15 @@
   title="">x</var>, <var title="">y</var>). The grid is finite, and is
   either empty or has one or more slots. If the grid has one or more
   slots, then the <var title="">x</var> coordinates are always in the
-  range <span>1 ≤ <var
-  title="">x</var> ≤ <var title="">x<sub
-  title="">max</sub></var></span>, and the <var title="">y</var>
-  coordinates are always in the range <span>1 ≤ <var
-  title="">y</var> ≤ <var title="">y<sub
-  title="">max</sub></var></span>. If one or both of <var
-  title="">x<sub title="">max</sub></var> and <var title="">y<sub
-  title="">max</sub></var> are zero, then the table is empty (has no
-  slots). Tables correspond to <code>table</code> elements.</p>
+  range <span>0 ≤ <var
+  title="">x</var> < <var title="">x<sub
+  title="">width</sub></var></span>, and the <var title="">y</var>
+  coordinates are always in the range <span>0 ≤ <var
+  title="">y</var> < <var title="">y<sub
+  title="">height</sub></var></span>. If one or both of <var
+  title="">x<sub title="">width</sub></var> and <var title="">y<sub
+  title="">height</sub></var> are zero, then the table is empty (has
+  no slots). Tables correspond to <code>table</code> elements.</p>
 
   <p>A <dfn title="concept-cell">cell</dfn> is a set of slots anchored
   at a slot (<var title="">cell<sub title="">x</sub></var>, <var
@@ -17618,35 +17618,35 @@
   <span><var title="">cell<sub
   title="">y</sub></var> ≤ <var
   title="">y</var> < <var title="">cell<sub
-  title="">y</sub></var>+<var title="">height</var></span>. Cell can
+  title="">y</sub></var>+<var title="">height</var></span>. Cells can
   either be <em>data cells</em> or <em>header cells</em>. Data cells
   correspond to <code>td</code> elements, and have zero or more
   associated header cells. Header cells correspond to <code>th</code>
   elements.</p>
 
   <p>A <dfn title="concept-row">row</dfn> is a complete set of slots
-  from <span><var title="">x</var>=1</span> to <span><var
+  from <span><var title="">x</var>=0</span> to <span><var
   title="">x</var>=<var title="">x<sub
-  title="">max</sub></var></span>, for a particular value of <var
+  title="">width</sub></var>-1</span>, for a particular value of <var
   title="">y</var>. Rows correspond to <code>tr</code> elements.</p>
 
   <p>A <dfn title="concept-column">column</dfn> is a complete set of
-  slots from <span><var title="">y</var>=1</span> to <span><var
+  slots from <span><var title="">y</var>=0</span> to <span><var
   title="">y</var>=<var title="">y<sub
-  title="">max</sub></var></span>, for a particular value of <var
+  title="">height</sub></var>-1</span>, for a particular value of <var
   title="">x</var>. Columns can correspond to <code>col</code>
   elements, but in the absense of <code>col</code> elements are
   implied.</p>
 
   <p>A <dfn title="concept-row-group">row group</dfn> is a set of
-  <span title="concept-row">rows</span> anchored at a slot (1, <var
+  <span title="concept-row">rows</span> anchored at a slot (0, <var
   title="">group<sub title="">y</sub></var>) with a particular <var
   title="">height</var> such that the row group covers all the slots
   with coordinates (<var title="">x</var>, <var title="">y</var>)
-  where <span>1 ≤ <var
+  where <span>0 ≤ <var
   title="">x</var> < <var title="">x<sub
-  title="">max</sub></var></span> and <span><var title="">group<sub
-  title="">y</sub></var> ≤ <var
+  title="">width</sub></var>-1</span> and <span><var
+  title="">group<sub title="">y</sub></var> ≤ <var
   title="">y</var> < <var title="">group<sub
   title="">y</sub></var>+<var title="">height</var></span>. Row groups
   correspond to <code>tbody</code>, <code>thead</code>, and
@@ -17655,15 +17655,15 @@
 
   <p>A <dfn title="concept-column-group">column group</dfn> is a set
   of <span title="concept-column">columns</span> anchored at a slot
-  (<var title="">group<sub title="">x</sub></var>, 1) with a
+  (<var title="">group<sub title="">x</sub></var>, 0) with a
   particular <var title="">width</var> such that the column group
   covers all the slots with coordinates (<var title="">x</var>, <var
   title="">y</var>) where <span><var title="">group<sub
   title="">x</sub></var> ≤ <var
   title="">x</var> < <var title="">group<sub
   title="">x</sub></var>+<var title="">width</var></span> and
-  <span>1 ≤ <var title="">y</var> < <var
-  title="">y<sub title="">max</sub></var></span>. Column groups
+  <span>0 ≤ <var title="">y</var> < <var
+  title="">y<sub title="">height</sub></var>-1</span>. Column groups
   correspond to <code>colgroup</code> elements. Not every column is
   necessarily in a column group.</p>
 
@@ -17697,36 +17697,36 @@
   <p>To determine which elements correspond to which slots in a <span
   title="concept-table">table</span> associated with a
   <code>table</code> element, to determine the dimensions of the table
-  (<var title="">x<sub title="">max</sub></var> and <var
-  title="">y<sub title="">max</sub></var>), and to determine if there
-  are any <span title="table model error">table model errors</span>,
-  user agents must use the following algorithm:</p>
+  (<var title="">x<sub title="">width</sub></var> and <var
+  title="">y<sub title="">height</sub></var>), and to determine if
+  there are any <span title="table model error">table model
+  errors</span>, user agents must use the following algorithm:</p>
 
   <ol>
 
    <li>
-    <p>Let <var title="">x<sub title="">max</sub></var> be zero.</p>
+    <p>Let <var title="">x<sub title="">width</sub></var> be zero.</p>
    </li>
 
    <li>
-    <p>Let <var title="">y<sub title="">max</sub></var> be zero.</p>
+    <p>Let <var title="">y<sub title="">height</sub></var> be zero.</p>
    </li>
 
    <li>
     <p>Let <var title="">the table</var> be the <span
     title="concept-table">table</span> represented by the
     <code>table</code> element. The <var title="">x<sub
-    title="">max</sub></var> and <var title="">y<sub
-    title="">max</sub></var> variables give <var title="">the
-    table</var>'s extent. <var title="">The table</var> is initially
-    empty.</p>
+    title="">width</sub></var> and <var title="">y<sub
+    title="">height</sub></var> variables give <var title="">the
+    table</var>'s dimensions. <var title="">The table</var> is
+    initially empty.</p>
    </li>
 
    <li>
 
-    <p>If the <code>table</code> element has no table children, then
-    return <var title="">the table</var> (which will be empty), and
-    abort these steps.</p>
+    <p>If the <code>table</code> element has no children elements,
+    then return <var title="">the table</var> (which will be empty),
+    and abort these steps.</p>
 
    </li>
 
@@ -17736,9 +17736,10 @@
     element child of the <code>table</code> element.</p>
 
     <p>If a step in this algorithm ever requires the <var
-    title="">current element</var> to be advanced to the next child of
-    the <code>table</code> when there is no such next child, then the
-    algorithm must be aborted at that point and the algorithm must
+    title="">current element</var> to be <dfn
+    title="concept-table-advance">advanced to the next child of the
+    <code>table</code></dfn> when there is no such next child, then
+    the algorithm must be aborted at that point and the algorithm must
     return <var title="">the table</var>.</p>
 
    </li>
@@ -17746,8 +17747,10 @@
    <li>
 
     <p>While the <var title="">current element</var> is not one of the
-    following elements, advance the <var title="">current
-    element</var> to the next child of the <code>table</code>:</p>
+    following elements, <span
+    title="concept-table-advance">advance</span> the <var
+    title="">current element</var> to the next child of the
+    <code>table</code>:</p>
 
     <ul class="brief">
      <li><code>caption</code></li>
@@ -17773,8 +17776,9 @@
 
     <p>If the <var title="">current element</var> is a
     <code>caption</code>, then while the <var title="">current
-    element</var> is not one of the following elements, advance the
-    <var title="">current element</var> to the next child of the
+    element</var> is not one of the following elements, <span
+    title="concept-table-advance">advance</span> the <var
+    title="">current element</var> to the next child of the
     <code>table</code>:</p>
 
     <ul class="brief">
@@ -17817,8 +17821,8 @@
          <li>
 
           <p>Let <var title="">x<sub title="">start</sub></var> have
-          the value <span><var title="">x<sub
-          title="">max</sub></var>+1</span>.</p>
+          the value of <span><var title="">x<sub
+          title="">width</sub></var></span>.</p>
 
          </li>
 
@@ -17850,7 +17854,7 @@
 
          <li>
 
-          <p>Increase <var title="">x<sub title="">max</sub></var> by
+          <p>Increase <var title="">x<sub title="">width</sub></var> by
           <var title="">span</var>.</p>
 
          </li>
@@ -17881,13 +17885,13 @@
           title="concept-column">columns</span> in <var title="">the
           table</var> from <span>x=<var title="">x<sub
           title="">start</sub></var></span> to <span>x=<var
-          title="">x<sub title="">max</sub></var></span> form a new
-          <span title="concept-column-group">column group</span>,
+          title="">x<sub title="">width</sub></var>-1</span> form a
+          new <span title="concept-column-group">column group</span>,
           anchored at the slot (<var title="">x<sub
-          title="">start</sub></var>, 1), with width <var
-          title="">x<sub title="">max</sub></var>-<var title="">x<sub
-          title="">start</sub></var>-1, corresponding to the
-          <code>colgroup</code> element.</p>
+          title="">start</sub></var>, 0), with width <span><var
+          title="">x<sub title="">width</sub></var>-<var
+          title="">x<sub title="">start</sub></var></span>,
+          corresponding to the <code>colgroup</code> element.</p>
 
          </li>
 
@@ -17922,7 +17926,7 @@
 
          <li>
 
-          <p>Increase <var title="">x<sub title="">max</sub></var> by
+          <p>Increase <var title="">x<sub title="">width</sub></var> by
           <var title="">span</var>.</p>
 
          </li>
@@ -17933,10 +17937,10 @@
           title="concept-column">columns</span> in <var title="">the
           table</var> form a new <span
           title="concept-column-group">column group</span>, anchored
-          at the slot (<var title="">x<sub
-          title="">max</sub></var>-<var title="">span</var>+1, 1),
-          with width <var title="">span</var>, corresponding to the
-          <code>colgroup</code> element.</p>
+          at the slot (<span><var title="">x<sub
+          title="">width</sub></var>-<var title="">span</var></span>,
+          0), with width <var title="">span</var>, corresponding to
+          the <code>colgroup</code> element.</p>
 
          </li>
 
@@ -17950,16 +17954,19 @@
 
      <li>
 
-      <p>Advance the <var title="">current element</var> to the next
-      child of the <code>table</code>.</p>
+      <p><span title="concept-table-advance">Advance</span> the <var
+      title="">current element</var> to the next child of the
+      <code>table</code>.</p>
 
      </li>
 
      <li>
 
       <p>While the <var title="">current element</var> is not one of
-      the following elements, advance the <var title="">current
-      element</var> to the next child of the <code>table</code>:</p>
+      the following elements, <span
+      title="concept-table-advance">advance</span> the <var
+      title="">current element</var> to the next child of the
+      <code>table</code>:</p>
 
       <ul class="brief">
        <li><code>colgroup</code></li>
@@ -17988,7 +17995,7 @@
     <p>Let <var title="">y<sub title="">current</sub></var> be
     zero. When the algorithm is aborted, if <var title="">y<sub
     title="">current</sub></var> does not equal <var title="">y<sub
-    title="">max</sub></var>, then that is a <span>table model
+    title="">height</sub></var>, then that is a <span>table model
     error</span>.</p>
 
    </li>
@@ -18003,7 +18010,8 @@
    <li>
 
     <p><em>Rows.</em> While the <var title="">current element</var> is
-    not one of the following elements, advance the <var
+    not one of the following elements, <span
+    title="concept-table-advance">advance</span> the <var
     title="">current element</var> to the next child of the
     <code>table</code>:</p>
 
@@ -18035,8 +18043,7 @@
    <li>
 
     <p>Let <var title="">y<sub title="">start</sub></var> have the
-    value <span><var title="">y<sub
-    title="">max</sub></var>+1</span>.</p>
+    value of <var title="">y<sub title="">height</sub></var>.</p>
 
    </li>
 
@@ -18052,16 +18059,17 @@
 
     <!-- if we added any rows, make them part of a row group -->
     <p>If <span><var title="">y<sub
-    title="">max</sub></var> ≥ <var title="">y<sub
+    title="">height</sub></var> > <var title="">y<sub
     title="">start</sub></var></span>, then let all the last <span
     title="concept-row">rows</span> in <var title="">the table</var>
     from <span>y=<var title="">y<sub title="">start</sub></var></span>
-    to <span>y=<var title="">y<sub title="">max</sub></var></span>
-    form a new <span title="concept-row-group">row group</span>,
-    anchored at the slot with coordinate (1, <var title="">y<sub
-    title="">start</sub></var>), with height <var title="">y<sub
-    title="">max</sub></var>-<var title="">y<sub
-    title="">start</sub></var>+1, corresponding to the <var
+    to <span>y=<var title="">y<sub
+    title="">height</sub></var>-1</span> form a new <span
+    title="concept-row-group">row group</span>, anchored at the slot
+    with coordinate (0, <var title="">y<sub
+    title="">start</sub></var>), with height <span><var title="">y<sub
+    title="">height</sub></var>-<var title="">y<sub
+    title="">start</sub></var></span>, corresponding to the <var
     title="">current element</var>.</p>
 
    </li>
@@ -18081,6 +18089,7 @@
 
   </ol>
 
+
   <p>The <dfn>algorithm for ending a row group</dfn>, which is invoked
   by the set of steps above when starting and ending a block of rows,
   is:</p>
@@ -18090,30 +18099,30 @@
    <li>
 
     <p>If <var title="">y<sub title="">current</sub></var> is less
-    than <var title="">y<sub title="">max</sub></var>, then this is a
-    <span>table model error</span>.</p>
+    than <var title="">y<sub title="">height</sub></var>, then this is
+    a <span>table model error</span>.</p>
 
    </li>
 
    <li>
 
     <p>While <var title="">y<sub title="">current</sub></var> is less
-    than <var title="">y<sub title="">max</sub></var>, follow these
+    than <var title="">y<sub title="">height</sub></var>, follow these
     steps:</p>
 
     <ol>
 
      <li>
 
-      <p>Increase <var title="">y<sub title="">current</sub></var> by
-      1.</p>
+      <p>Run the <span>algorithm for growing downward-growing
+      cells</span>.</p>
 
      </li>
 
      <li>
 
-      <p>Run the <span>algorithm for growing downward-growing
-      cells</span>.</p>
+      <p>Increase <var title="">y<sub title="">current</sub></var> by
+      1.</p>
 
      </li>
 
@@ -18130,6 +18139,7 @@
 
   </ol>
 
+
   <p>The <dfn>algorithm for processing rows</dfn>, which is invoked by
   the set of steps above for processing <code>tr</code> elements,
   is:</p>
@@ -18138,47 +18148,41 @@
 
    <li>
 
-    <p>Increase <var title="">y<sub title="">current</sub></var> by
-    1.</p>
-    <!-- ymax is increased below once we know cell dimensions -->
+    <p>If <var title="">y<sub title="">height</sub></var> is equal to
+    <var title="">y<sub title="">current</sub></var>, then increase
+    <var title="">y<sub title="">height</sub></var> by 1. (<var
+    title="">y<sub title="">current</sub></var> is never
+    <em>greater</em> than <var title="">y<sub
+    title="">height</sub></var>.)</p>
 
    </li>
 
    <li>
 
-    <p>Run the <span>algorithm for growing downward-growing
-    cells</span>.</p>
+    <p>Let <var title="">x<sub title="">current</sub></var> be 0.</p>
 
    </li>
 
    <li>
 
-    <p>Let <var title="">x<sub title="">current</sub></var> be 1.</p>
-    <!-- xmax is increased below once we know cell dimensions -->
+    <p>Let <var title="">current cell</var> be the first
+    <code>td</code> or <code>th</code> element in the <code>tr</code>
+    element being processed.</p>
 
    </li>
 
    <li>
 
-    <p>If the <code>tr</code> element being processed contains no
-    <code>td</code> or <code>th</code> elements, then abort this set
-    of steps and return to the algorithm above.</p>
+    <p>Run the <span>algorithm for growing downward-growing
+    cells</span>.</p>
 
    </li>
 
    <li>
 
-    <p>Let <var title="">current cell</var> be the first
-    <code>td</code> or <code>th</code> element in the <code>tr</code>
-    element being processed.</p>
-
-   </li>
-
-   <li>
-
     <p><em>Cells.</em> While <var title="">x<sub
-    title="">current</sub></var> is less than or equal to <var
-    title="">x<sub title="">max</sub></var> and the slot with
+    title="">current</sub></var> is less than <var
+    title="">x<sub title="">width</sub></var> and the slot with
     coordinate (<var title="">x<sub title="">current</sub></var>, <var
     title="">y<sub title="">current</sub></var>) already has a cell
     assigned to it, increase <var title="">x<sub
@@ -18188,10 +18192,11 @@
 
    <li>
 
-    <p>If <var title="">x<sub title="">current</sub></var> is greater
-    than <var title="">x<sub title="">max</sub></var>, increase <var
-    title="">x<sub title="">max</sub></var> by 1 (which will make them
-    equal).</p>
+    <p>If <var title="">x<sub title="">current</sub></var> is equal to
+    <var title="">x<sub title="">width</sub></var>, increase <var
+    title="">x<sub title="">width</sub></var> by 1. (<var title="">x<sub
+    title="">current</sub></var> is never <em>greater</em> than <var
+    title="">x<sub title="">width</sub></var>.)</p>
 
    </li>
 
@@ -18232,22 +18237,22 @@
    <li>
 
     <p>If <span><var title="">x<sub
-    title="">max</sub></var> < <var title="">x<sub
-    title="">current</sub></var>+<var title="">colspan</var>-1</span>,
-    then let <var title="">x<sub title="">max</sub></var> be <var
-    title="">x<sub title="">current</sub></var>+<var
-    title="">colspan</var>-1.</p>
+    title="">width</sub></var> < <var title="">x<sub
+    title="">current</sub></var>+<var title="">colspan</var></span>,
+    then let <var title="">x<sub title="">width</sub></var> be
+    <span><var title="">x<sub title="">current</sub></var>+<var
+    title="">colspan</var></span>.</p>
 
    </li>
 
    <li>
 
     <p>If <span><var title="">y<sub
-    title="">max</sub></var> < <var title="">y<sub
-    title="">current</sub></var>+<var title="">rowspan</var>-1</span>,
-    then let <var title="">y<sub title="">max</sub></var> be <var
-    title="">y<sub title="">current</sub></var>+<var
-    title="">rowspan</var>-1.</p>
+    title="">height</sub></var> < <var title="">y<sub
+    title="">current</sub></var>+<var title="">rowspan</var></span>,
+    then let <var title="">y<sub title="">height</sub></var> be
+    <span><var title="">y<sub title="">current</sub></var>+<var
+    title="">rowspan</var></span>.</p>
 
    </li>
 
@@ -18303,8 +18308,9 @@
 
     <p>If <var title="">current cell</var> is the last <code>td</code>
     or <code>th</code> element in the <code>tr</code> element being
-    processed, then abort this set of steps and return to the
-    algorithm above.</p>
+    processed, then increase <var title="">y<sub
+    title="">current</sub></var> by 1, abort this set of steps, and
+    return to the algorithm above.</p>
 
    </li>
 
@@ -18324,46 +18330,21 @@
 
   </ol>
 
-  <p>The <dfn>algorithm for growing downward-growing cells</dfn>, used
-  when adding a new row, is as follows:</p>
 
-  <ol>
+  <p>When the algorithms above require the user agent to run the
+  <dfn>algorithm for growing downward-growing cells</dfn>, the user
+  agent must, for each {<var title="">cell</var>, <var
+  title="">cell<sub title="">x</sub></var>, <var title="">width</var>}
+  tuple in the <var title="">list of downward-growing cells</var>, if
+  any, extend the <span title="concept-cell">cell</span> <var
+  title="">cell</var> so that it also covers the slots with
+  coordinates (<var title="">x</var>, <var title="">y<sub
+  title="">current</sub></var>), where <span><var title="">cell<sub
+  title="">x</sub></var> ≤ <var
+  title="">x</var> < <var title="">cell<sub
+  title="">x</sub></var>+<var title="">width</var></span>.</p>
 
-   <li>
 
-    <p>If the <var title="">list of downward-growing cells</var> is
-    empty, do nothing. Abort these steps; return to the step that
-    invoked this algorithm.</p>
-
-   </li>
-
-   <li>
-
-    <p>Otherwise, if <var title="">y<sub title="">max</sub></var> is
-    less than <var title="">y<sub title="">current</sub></var>, then
-    increase <var title="">y<sub title="">max</sub></var> by 1 (this
-    will make it equal to <var title="">y<sub
-    title="">current</sub></var>).</p>
-
-   </li>
-
-   <li>
-
-    <p>For each {<var title="">cell</var>, <var title="">cell<sub
-    title="">x</sub></var>, <var title="">width</var>} tuple in the
-    <var title="">list of downward-growing cells</var>, extend the
-    <span title="concept-cell">cell</span> <var title="">cell</var> so
-    that it also covers the slots with coordinates (<var
-    title="">x</var>, <var title="">y<sub
-    title="">current</sub></var>), where <span><var title="">cell<sub
-    title="">x</sub></var> ≤ <var
-    title="">x</var> < <var title="">cell<sub
-    title="">x</sub></var>+<var title="">width</var>-1</span>.</p>
-
-   </li>
-
-  </ol>
-
   <p>If, after establishing which elements correspond to which slots,
   there exists a <span title="concept-column">column</span> in the
   <span title="concept-table">table</span> containing only <span
@@ -18422,7 +18403,7 @@
         title="">y</sub></var>) where <span><var title="">header<sub
         title="">x</sub></var> < <var title="">data<sub
         title="">x</sub></var> ≤ <var title="">x<sub
-        title="">max</sub></var></span> and <span><var
+        title="">width</sub></var></span> and <span><var
         title="">data<sub title="">y</sub></var> = <var
         title="">header<sub title="">y</sub></var></span>, except for
         any data cells corresponding to <code>td</code> elements that
@@ -18443,7 +18424,7 @@
         title="">x</sub></var></span> and <span><var
         title="">header<sub title="">y</sub></var> < <var
         title="">data<sub title="">y</sub></var> ≤ <var
-        title="">y<sub title="">max</sub></var></span>, except for any
+        title="">y<sub title="">height</sub></var></span>, except for any
         data cells corresponding to <code>td</code> elements that have
         a <code title="attr-td-headers">headers</code> attribute
         specified.</p>
@@ -18467,7 +18448,7 @@
         title="">y</sub></var>) where <span><var title="">header<sub
         title="">x</sub></var> ≤ <var title="">data<sub
         title="">x</sub></var> ≤ <var title="">x<sub
-        title="">max</sub></var></span> and <span><var
+        title="">width</sub></var></span> and <span><var
         title="">header<sub title="">y</sub></var> ≤ <var
         title="">data<sub title="">y</sub></var> < <var
         title="">group<sub title="">y</sub></var>+<var
@@ -18499,7 +18480,7 @@
         title="">width</var></span> and <span><var title="">header<sub
         title="">y</sub></var> ≤ <var title="">data<sub
         title="">y</sub></var> ≤ <var title="">y<sub
-        title="">max</sub></var></span>, except for any data cells
+        title="">height</sub></var></span>, except for any data cells
         corresponding to <code>td</code> elements that have a <code
         title="attr-td-headers">headers</code> attribute
         specified.</p>
@@ -18526,7 +18507,7 @@
         title="">x</sub></var></span> and <span><var
         title="">header<sub title="">y</sub></var> < <var
         title="">data<sub title="">y</sub></var> ≤ <var
-        title="">y<sub title="">max</sub></var></span>, except for any
+        title="">y<sub title="">height</sub></var></span>, except for any
         data cells corresponding to <code>td</code> elements that have
         a <code title="attr-td-headers">headers</code> attribute
         specified.</p>
@@ -18538,7 +18519,7 @@
         title="">y</sub></var>) where <span><var title="">header<sub
         title="">x</sub></var> < <var title="">data<sub
         title="">x</sub></var> ≤ <var title="">x<sub
-        title="">max</sub></var></span> and <span><var
+        title="">width</sub></var></span> and <span><var
         title="">data<sub title="">y</sub></var> = <var
         title="">header<sub title="">y</sub></var></span>, except for
         any data cells corresponding to <code>td</code> elements that
@@ -43036,18 +43017,19 @@
 
   <p>Thanks to Aankhen, Aaron Boodman, Aaron Leventhal, Adam Roben,
   Addison Phillips, Adrian Sutton, Agustín Fernández,
-  Alexey Feldgendler, Andrew Gove, Andrew Sidwell, Anne van Kesteren,
-  Anthony Hickson, Antti Koivisto, Arphen Lin, Asbjørn Ulsberg,
-  Ben Godfrey, Ben Meadowcroft, Benjamin Hawkes-Lewis, Bert Bos, Billy
-  Wong, Bjoern Hoehrmann, Boris Zbarsky, Brad Fults, Brad Neuberg,
-  Brady Eidson, Brendan Eich, Brett Wilson, Brian Campbell, Brian
-  Smith, Cameron McCormack, Carlos Perelló Marín, Chao
-  Cai, &#xc724;&#xc11d;&#xcc2c; (Channy Yun), Charl van Niekerk,
-  Charles Iliya Krempeaux, Charles McCathieNevile, Christian
-  Biesinger, Christian Johansen, Chriswa, Collin Jackson, Daniel
-  Brumbaugh Keeney, Daniel Glazman, Daniel Peng, Daniel Spång,
-  Darin Alder, Darin Fisher, Dave Singer, Dave Townsend<!-- Mossop on
-  moz irc -->, David Baron, David Flanagan, David Håsäther,
+  Alastair Campbell, Alexey Feldgendler, Andrew Gove, Andrew Sidwell,
+  Anne van Kesteren, Anthony Hickson, Antti Koivisto, Arphen Lin,
+  Asbjørn Ulsberg, Aurelien Levy, Ben Godfrey, Ben Meadowcroft,
+  Ben Millard, Benjamin Hawkes-Lewis, Bert Bos, Billy Wong, Bjoern
+  Hoehrmann, Boris Zbarsky, Brad Fults, Brad Neuberg, Brady Eidson,
+  Brendan Eich, Brett Wilson, Brian Campbell, Brian Smith, Cameron
+  McCormack, Carlos Perelló Marín, Chao Cai,
+  &#xc724;&#xc11d;&#xcc2c; (Channy Yun), Charl van Niekerk, Charles
+  Iliya Krempeaux, Charles McCathieNevile, Christian Biesinger,
+  Christian Johansen, Chriswa, Collin Jackson, Daniel Brumbaugh
+  Keeney, Daniel Glazman, Daniel Peng, Daniel Spång, Darin
+  Alder, Darin Fisher, Dave Singer, Dave Townsend<!-- Mossop on moz
+  irc -->, David Baron, David Flanagan, David Håsäther,
   David Hyatt, Derek Featherstone, DeWitt Clinton, Dimitri Glazkov,
   dolphinling, Doron Rosenberg, Doug Kramer, Eira Monstad, Elliotte
   Harold, Erik Arvidsson, Evan Martin, fantasai, Franck 'Shift'
@@ -43056,30 +43038,31 @@
   Javier, Ivo Emanuel Gonçalves, J. King, James Graham, James M
   Snell, James Perrett, Jan-Klaas Kollhof, Jason White, Jasper
   Bryant-Greene, Jeff Cutsinger, Jeff Walden, Jens Bannmann, Jens
-  Fendler, Jeroen van der Meer, Jim Meehan, Joel Spolsky, John Boyer,
-  John Bussjaeger, John Harding, Johnny Stenback, Jon Perlow, Jonathan
-  Worent, Jorgen Horstink, Josh Levenberg, Joshua Randall, Jukka
-  K. Korpela, Kai Hendry, <!-- Keryx Web, = Lars Gunther --> Kornel
-  Lesinski, &#x9ed2;&#x6fa4;&#x525b;&#x5fd7; (KUROSAWA Takeshi),
-  Kristof Zelechovski, Lachlan Hunt, Larry Page, Lars Gunther, Laurens
-  Holst, Leif Halvard Silli, Lenny Domnitser, Léonard Bouchet,
-  Leons Petrazickis, Logan<!-- on moz irc -->, Loune, Maciej
-  Stachowiak, Malcolm Rowe, Mark Nottingham, Mark Rowe<!--bdash-->,
-  Mark Schenk, Martijn Wargers, Martin Atkins, Martin Dürst,
-  Martin Honnen, Mathieu Henri, Matthew Mastracci, Matthew Raymond,
-  Matthew Thomas, Mattias Waldau, Max Romantschuk, Michael 'Ratt'
-  Iannarelli, Michael A. Nachbaur, Michael A. Puls
-  II<!--Shadow2531-->, Michael Gratton, Michael Powers, Michel Fortin,
-  Michiel van der Blonk, Mihai &#x015E;ucan<!-- from ROBO Design -->,
-  Mike Brown, Mike Dierken<!-- S. Mike Dierken -->, Mike Dixon, Mike
-  Schinkel, Mike Shaver, Mike Smith, Mikko Rantalainen, Neil Deakin,
-  Olav Junker Kjær, Oliver Hunt, Peter Kasting, Philip Taylor,
-  Rachid Finge, Rajas Moonka, Ralf Stoltze, Ralph Giles, Raphael
-  Champeimont, Rimantas Liubertas, Robert O'Callahan, Robert Sayre,
-  Roman Ivanov, S. Mike Dierken, Sam Ruby, Sam Weinig, Scott Hess,
-  Sean Knapp, Shaun Inman, Silvia Pfeiffer, Simon Pieters, Stefan
-  Haustein, Stephen Ma, Steve Runyon, Steven Garrity, Stewart Brodie,
-  Stuart Parmenter, Tantek Çelik, Thomas Broyer, Thomas
+  Fendler, Jeroen van der Meer, Jim Meehan, Joe Clark, Joel Spolsky,
+  John Boyer, John Bussjaeger, John Harding, Johnny Stenback, Jon
+  Perlow, Jonathan Worent, Jorgen Horstink, Josh Levenberg, Joshua
+  Randall, Jukka K. Korpela, Kai Hendry, <!-- Keryx Web, = Lars
+  Gunther --> Kornel Lesinski, &#x9ed2;&#x6fa4;&#x525b;&#x5fd7;
+  (KUROSAWA Takeshi), Kristof Zelechovski, Lachlan Hunt, Larry Page,
+  Lars Gunther, Laura L. Carlson, Laura Wisewell, Laurens Holst, Leif
+  Halvard Silli, Lenny Domnitser, Léonard Bouchet, Leons
+  Petrazickis, Logan<!-- on moz irc -->, Loune, Maciej Stachowiak,
+  Malcolm Rowe, Mark Nottingham, Mark Rowe<!--bdash-->, Mark Schenk,
+  Martijn Wargers, Martin Atkins, Martin Dürst, Martin Honnen,
+  Mathieu Henri, Matthew Mastracci, Matthew Raymond, Matthew Thomas,
+  Mattias Waldau, Max Romantschuk, Michael 'Ratt' Iannarelli, Michael
+  A. Nachbaur, Michael A. Puls II<!--Shadow2531-->, Michael Gratton,
+  Michael Powers, Michel Fortin, Michiel van der Blonk, Mihai
+  &#x015E;ucan<!-- from ROBO Design -->, Mike Brown, Mike Dierken<!--
+  S. Mike Dierken -->, Mike Dixon, Mike Schinkel, Mike Shaver, Mike
+  Smith, Mikko Rantalainen, Neil Deakin, Olav Junker Kjær,
+  Oliver Hunt, Peter Kasting, Philip Taylor, Rachid Finge, Rajas
+  Moonka, Ralf Stoltze, Ralph Giles, Raphael Champeimont, Rimantas
+  Liubertas, Robert O'Callahan, Robert Sayre, Roman Ivanov, S. Mike
+  Dierken, Sam Ruby, Sam Weinig, Scott Hess, Sean Knapp, Shaun Inman,
+  Silvia Pfeiffer, Simon Pieters, Stefan Haustein, Stephen Ma, Steve
+  Faulkner, Steve Runyon, Steven Garrity, Stewart Brodie, Stuart
+  Parmenter, Tantek Çelik, Terrence Wood, Thomas Broyer, Thomas
   O'Connor, Tim Altman, Tyler Close, Vladimir Vuki&#x0107;evi&#x0107;,
   Wakaba, William Swanson, and Øistein E. Andersen, for their
   useful and substantial comments.</p>




More information about the Commit-Watchers mailing list