title: Please explain strange HTML table rowspan behaviour
body: <p>Consider the following HTML table definition.</p>
  
  <pre><code>&lt;table&gt;
   &lt;tbody&gt;
    &lt;tr&gt;
     &lt;td rowspan='2'&gt;A&lt;/td&gt;
     &lt;td&gt;2&lt;/td&gt;
     &lt;td rowspan='2'&gt;B&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
     &lt;td rowspan='2'&gt;C&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
     &lt;td&gt;1&lt;/td&gt;
     &lt;td&gt;3&lt;/td&gt;
    &lt;/tr&gt;
   &lt;/tbody&gt;
  &lt;/table&gt;
  </code></pre>
  
  <p>I expect the table to look like:</p>
  
  <pre><code>+---+---+---+
  | A | 2 | B |
  |   +---+   |
  |   | C |   |
  +---+   +---+
  | 1 |   | 3 |
  +---+---+---+
  </code></pre>
  
  <p>But in Firefox, IE8, and Chrome, the table is rendered like:</p>
  
  <pre><code>+---+---+---+
  | A | 2 | B |
  +---+---+---+
  | 1 | C | 3 |
  +---+---+---+
  </code></pre>
  
  <p>If I add another column to the table, like so:</p>
  
  <pre><code>&lt;table&gt;
   &lt;tbody&gt;
    &lt;tr&gt;
     &lt;td&gt;a&lt;/td&gt;
     &lt;td rowspan='2'&gt;A&lt;/td&gt;
     &lt;td&gt;2&lt;/td&gt;
     &lt;td rowspan='2'&gt;B&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
     &lt;td&gt;b&lt;/td&gt;
     &lt;td rowspan='2'&gt;C&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
     &lt;td&gt;c&lt;/td&gt;
     &lt;td&gt;1&lt;/td&gt;
     &lt;td&gt;3&lt;/td&gt;
    &lt;/tr&gt;
   &lt;/tbody&gt;
  &lt;/table&gt;
  </code></pre>
  
  <p>...I get the following, which is more like what I want.</p>
  
  <pre><code>+---+---+---+---+
  | a | A | 2 | B |
  +---+   +---+   |
  | b |   | C |   |
  +---+---+   +---+
  | c | 1 |   | 3 |
  +---+---+---+---+
  </code></pre>
  
  <p>Questions:</p>
  
  <ol>
  <li><p>Are the browsers behaving correctly?  If so, why does the table collapse non-intuitively in the case of the first HTML segment given above?</p></li>
  <li><p>Is there any valid HTML/css that will force the table to display as I intend it to?</p></li>
  </ol>