Tables I, II, III, IV (cellpadding=0 cellspacing=5)

Table I
1,1 | 1,2 | 1,3 | 1,4 | 1,5
2,1 | 2,2 | 2,3 | 2,4 | 2,5
3,1 | 3,2 | 3,3 | 3,4 | 3,5
Table II
1,1 | 1,2 | 1,4 | 1,5
2,1 | 2,2 | 2,3 | 2,5
3,1 | 3,2 | 3,3 | 3,4 | 3,5
Table III
1,1 | 1,2 | 1,4 | 1,5
2,1 | 2,2 | 2,3 | 2,5
3,1 |  |  |  | 3,5
Table IV
1,1 | 1,2 | 1,4 | 1,5
2,1 | 2,2 | 2,3 | 2,5

This is a table colspan counting problem (IMHO). The oversize <TABLE> has two rows: one has *two* <TD> "requesting" total of 3 columns to span; second row has *one* <TD> "requesting" total of 3 columns to span. In other words, it's asking for one more column than the max number of 'real' elements in a row. Here's the simple case (first one shows the problem; the other adjusts the colspan values and it works) (Dec 19 Nightly Win 95): All the elements in the two tables below are width=auto (i.e., no width attribute specified).

This is colspan=2 | Blah Blah Blah Blah Blah Blah
This is colspan=3 blah blah blah blah blah --- why doesn't this cell span the table (5.0 win95 jun17)?

This is colspan=1 | Blah Blah Blah Blah Blah Blah
This is colspan=2 blah blah blah blah blah --- this cell spans the table correctly.

Here's the test case from bug #2645.

This test case (below) is derived from home.netscape.com (although not much is left). [This was the table structure for "Autos ... Local ..." and the right-hand column ("ABCNews.com..."); added an extra column to differentiate this example a bit more from the one above].

The basic problem is "competing colspan requests". The table has two rows, both of which have COLSPAN requests. They are both asking for one more column than the max number of 'real' elements in either row (i.e., both ask for total of 5 but the maximum number of TD in either row is 4). This seems to confuse the algorithm. ;) (Note: all the column elements in these two tables are width=fixed except the TD with colspan=(4|3)).

x | this (colspan=2) | blue | that
x | blue (colspan=4) --- doesn't span (5.0 win95 jun17)

Here's the same table but the 'colspan' values have been normalized.

x | this (colspan=1) | blue | that
x | blue (colspan=3) --- spans correctly