- From: Boris Zbarsky <bzbarsky@MIT.EDU>
- Date: Thu, 22 Jan 2009 09:34:39 -0500
- To: www-style@w3.org
> 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