Re: [CSS21] Concern about anonymous table objects and whitespace

 > So, would a rule 4½ added to the anonymous box generation rules
 >   http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes
 > that states
 >
 >   4½. If a child T of a 'table', 'inline-table', 'table-row-group',
 >       'table-header-group', 'table-footer-group', or 'table-row' box
 >       is an anonymous inline box that contains only white space, then
 >       it is treated as if it has "display: none".
 >
 > solve the problem?
 >
 > ~fantasai

OK, I'm looking at this again.  This might solve the problem but 
requires either various lookahead when constructing the rendering tree 
or creating, analyzing, and then possibly (and in fact probably) 
destroying rendering objects.  Further, it requires all this in the 
common case (HTML tables).

And I'm not even sure whether it solves the problem, because I can't 
tell, by reading this rule, what the correct box tree is for:

   <div style="display: table-row">
     <span>AAA</span>
     <span>BBB</span>
   </div>

Is there a space between the "AAA" and "BBB" or not?

The more I look at this section and think about implementing it, the 
more poorly-thought-out it seems.  So I would like to propose alternate 
anonymous box generation rules (loose phrasing; can write up formally if 
desired):

1) Suppress all "misnested" boxes except 'table-row' inside 'table'.
2) Wrap runs of 'table-row' inside 'table' in a 'table-row-group'
    (needed to deal with XHTML's not requiring a <tbody>).

It feels like this would be much simpler to implement.  Interoperability 
on this section is already quite poor, so making this change might 
actually get us to CR faster.  The only question is whether it'll cause 
website compat issues....  Are sites relying on the 
currently-interoperable behavior?  If so, can we loosen the "suppress 
everything" condition enough to allow those sites to keep operating 
while still keeping the overall thing somewhat sane?

-Boris

Received on Thursday, 22 January 2009 14:35:24 UTC