[css21] Section 17.5.2.1 should be clarified

The current text for determining column width in section 17.5.2.1 says:

   A column element with a value other than 'auto' for the 'width'
   property sets the width for that column.

   Otherwise, a cell in the first row with a value other than 'auto' for
   the 'width' property determines the width for that column. If the
   cell spans more than one column, the width is divided over the
   columns.

Given that section 17.5 further says:

   The edges of the rows, columns, row groups and column groups in the
   collapsing borders model coincide with the hypothetical grid lines on
   which the borders of the cells are centered.
   ...
   In the separated borders model, the edges coincide with the border
   edges of cells.

it seems pretty clear to me that what this means is that the way a cell 
"determines" (per 17.5.2.1) its column width is that the column width is 
set to the width of the cell plus its left padding plus its right 
padding plus half its left border plus half its right border in the 
collapsing border model, and the same but using full border widths in 
the separated border model.

Unfortunately, it's apparently not that clear, since UAs disagree on the 
behavior.  Gecko and Presto implement what seems clear to me.  Trident 
and WebKit implement something else, where column widths don't actually 
seem to include paddings.  Or something.  See the testcase attached to 
<https://bugzilla.mozilla.org/show_bug.cgi?id=652941>.  So we should 
probably just make it explicit what it means for a cell to "determine" a 
column width.

For WebKit, this may be <https://bugs.webkit.org/show_bug.cgi?id=13339>; 
I can't quite tell.

For Trident, I tried reporting the issue and gave on up trying to figure 
out how to actually send in a bug report....

-Boris

Received on Tuesday, 26 April 2011 21:49:30 UTC