Last Comment Bug 9879 - HTML 4: <TD COLSPAN=0 ROWSPAN=0> doesn't work
: HTML 4: <TD COLSPAN=0 ROWSPAN=0> doesn't work
Status: VERIFIED FIXED
[TESTCASE]
:
Product: Core
Classification: Components
Component: Layout: Tables (show other bugs)
: Trunk
: All All
: P3 normal (vote)
: M13
Assigned To: karnaze (gone)
: Christine Hoffman
:
Mentors:
http://blueviper/tables/colspanzero.html
: 11617 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 1999-07-14 13:41 PDT by Eric Pollmann
Modified: 2000-09-14 19:53 PDT (History)
2 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Test case (172 bytes, text/html)
1999-07-14 13:42 PDT, Eric Pollmann
no flags Details
Error handling test case 1. (338 bytes, text/html)
1999-07-24 22:38 PDT, Nicholas Cull
no flags Details
Error handling test case 2. (337 bytes, text/html)
1999-07-24 22:39 PDT, Nicholas Cull
no flags Details
Error handing test case 3 (337 bytes, text/html)
1999-07-28 06:15 PDT, greg
no flags Details

Description Eric Pollmann 1999-07-14 13:41:34 PDT
From a posting to netscape.public.mozilla.layout:

From: greg@apple2.com
Tue 7/13 10:42AM
Subject: Gecko, ROW/COLSPAN=0, and appropriate error recovery?

I understand that Netscape's 5.0 browser will be using the Gecko engine
which reportedly supports all of HTML 4.0.

Can anyone test the Gecko engine for me with the following markup?

    <TABLE BORDER=1>
    <TR>
    <TD ROWSPAN=0>1</TD>
    <TD COLSPAN=0>2</TD>
    </TR><TR>
    <TD>5</TD>
    <TD>6</TD>
    </TR>
    </TABLE>

It should draw a table looking like:

    +-----------+
    | 1 | 2     |
    |   |-------|
    |   | 5 | 6 |
    +-----------+

since a ROWSPAN or COLSPAN of zero is defined to span all remaining rows
or columns of the table, respectively.  The current crop treat ROWSPAN and
COLSPAN as having a minimum value of 1, which creates:

    +-------+
    | 1 | 2 |
    |---+---|
    | 5 | 6 |
    +-------+

There's that, and also I need to know, if it supports these zero values
correctly, what error correction does it perform if you have a cell which
is to the right of a zero-spanned cell, such as:

    <TABLE BORDER=1>
    <TR>
    <TD COLSPAN=0>1</TD>
    <TD>3</TD>
    </TR>
    <TR>
    <TD>4</TD><TD>5</TD><TD>6</TD>
    </TR>
    </TABLE>

or, even worse, if you have two COLSPAN=0s in the same row, or if
ROWSPANned with COLSPAN=0 and a subsequent row has a cell that has to
occur in a spanned column:

    <TABLE BORDER=1>
    <TR>
    <TD>1</TD>
    <TD ROWSPAN=2 COLSPAN=0>2</TD>
    </TR>
    <TR>
    <TD>4</TD><TD>6</TD>
    </TR>
    </TABLE>

Otherwise, what would be the best way to handle such an error if
encountered?  Treat the zero-spanned cell like an overlapping on top of
the columns to the right similar to other multi-spanned cell errors?  I'm
working on a program which needs to address this problem if it is at all
to support zero input values for spannings, translating them to positive
values intelligently.

Thankfully there is no similar problem for ROWSPAN=0.

I've been looking through the whole HTML 4.0 specification and can't find
anything addressing this possibility, thus no recommendations for error
recovery.  I'll see about putting up a page on this tonight.

If this is the wrong netscape.public.mozilla.* group, please direct
followups to the right one, but keep comp.infosystems.www.authoring.html
in the crossposting.  I'm presuming the layout group deals with tables.
(Since I set Netscape to use MT-NewsWatcher for news:, I can't access
netscape.*, not even with snews:.)
Comment 1 Eric Pollmann 1999-07-14 13:42:59 PDT
Created attachment 879 [details]
Test case
Comment 2 Eric Pollmann 1999-07-14 13:47:59 PDT
The exact wording in the spec (HTML4, 11.2.6) is:

rowspan = number [CN]
      This attribute specifies the number of rows spanned by the current cell.
      The default value of this attribute is one ("1"). The value zero ("0")
      means that the cell spans all rows from the current row to the last row of
      the table.

colspan = number [CN]
      This attribute specifies the number of columns spanned by the current
      cell. The default value of this attribute is one ("1"). The value zero
      ("0") means that the cell spans all columns from the current column to the
      last column of the table.
Comment 3 Nicholas Cull 1999-07-24 22:38:59 PDT
Created attachment 986 [details]
Error handling test case 1.
Comment 4 Nicholas Cull 1999-07-24 22:39:59 PDT
Created attachment 987 [details]
Error handling test case 2.
Comment 5 Nicholas Cull 1999-07-24 22:40:59 PDT
Marking [TESTCASE].
Comment 6 greg 1999-07-28 06:15:59 PDT
Created attachment 1020 [details]
Error handing test case 3
Comment 7 karnaze (gone) 1999-08-10 21:13:59 PDT
*** Bug 11617 has been marked as a duplicate of this bug. ***
Comment 8 leger 1999-09-24 16:00:59 PDT
Spoke to karnaze during bug triage today.  Moving to M11.  Not an M10 blocker.
Comment 9 karnaze (gone) 1999-11-01 15:55:59 PST
Moving to M13.
Comment 10 karnaze (gone) 2000-01-12 21:33:59 PST
Fixed with latest checkin.
Comment 11 karnaze (gone) 2000-03-16 16:03:09 PST
rowspan/colspan=0 now only works according to HTML 4 in strict mode. There are 
pages relying on the behavior where a value <= 0 becomes 1.
Comment 12 Christine Hoffman 2000-09-14 19:53:36 PDT
Verified strict and transitional behavior across platform with 9/14 builds. 
Fixed in strict mode. Transitional works like Nav

Note You need to log in before you can comment on or make changes to this bug.