W3C home > Mailing lists > Public > www-style@w3.org > January 2012

Re: [css21] 17.2.1 Anonymous table objects - nested case

From: Kang-Hao (Kenny) Lu <kennyluck@csail.mit.edu>
Date: Tue, 17 Jan 2012 07:15:25 +0800
Message-ID: <4F14AF8D.7000005@csail.mit.edu>
To: Anton Prowse <prowse@moonhenge.net>
CC: WWW Style <www-style@w3.org>
(12/01/17 6:07), Anton Prowse wrote:
> I'm trying to evaluate this for CSS21 errata; if you wouldn't mind
> assisting me, please could you comment on why you think the behaviour of
> the UAs doesn't match the spec, quoting the part of the spec which you
> think governs this.  (You've stated why a particular rule in the spec is
> not relevant to the situation.)

I believe I am quoting the right rule here but let me try again. First
of all,

> On Wed, 19 Oct 2011 05:08:54 +0800, Kang-Hao (Kenny) Lu
> <kennyluck@csail.mit.edu> wrote:
>> doesn't apply here because <span> is not a proper descendant of
>> <div>. IE 9, Gecko nightly and Safari (but not Opera) do display the
>> beginning and trailing space and don't match the spec. This applies
>> to nested 'table-row-group' as well.

s/do/do not/ and also my example listed inline had typo, sorry about
the confusion. Please double check my test to verify that *IE9, FF9,
Safari5.1 and Chrome16 do **not** display the spaces* or, so to speak,
the anonymous inline boxes containing only spaces are dropped.

Test:

data:text/html,<!DOCTYPE html><div style="display: table-row;
white-space:pre;"> <span style="display:table-row;">A</span> </div>

and a better looking one out of a set[1]

Now, there are four rules in [2] that potentially drop these anonymous
inline boxes. 1.1 and 1.2 are clearly irrelevant, 1.4 doesn't apply
because any of the two inline boxes is not between two sibling. If 1.3,
the part I quoted, doesn't apply either, then the spaces ought not to be
dropped, but IE9, FF9, Safari5.1 and Chrome 16 **do** drop these.

Going back to the part I quoted,

>> rule 1.3
>>
>>   # If a child C of a tabular container P is an anonymous inline box
>>   # that contains only white space, and its immediately preceding and
>>   # following siblings, if any, are proper table descendants of P and
>>   # are either 'table-caption' or internal table boxes, then it is
>>   # treated as if it had 'display: none'. A box D is a proper table
>>   # descendant of A if D can be a descendant of A without causing the
>>   # generation of any intervening 'table' or 'inline-table' boxes.

C is the whitespaces being discussed.
P = A is a table-row (<div>), so a tabular container.
D is a table-row again (<span>). It is not a proper descendant of P.

So this rule doesn't apply.

I believe my proposed wording

(11/10/19 5:08), Kang-Hao (Kenny) Lu wrote:
>  | If a child C of a tabular container P is an anonymous inline box
>  | that contains only white space, and its immediately preceding and
>  | following siblings, if any, are either 'table-caption' or internal
>  | table boxes, then it is treated as if it had 'display: none'.

would match FF10 perfectly, at least in terms of all the cases listed on
[1] though some of the others are not interoperable, but in general, I
believe the less wording the better here.


[1]
http://lists.w3.org/Archives/Public/www-archive/2011Oct/att-0016/anonymous-table-and-white-space#e4
[2] http://www.w3.org/TR/CSS2/tables.html#anonymous-boxes

Cheers,
Kenny
Received on Monday, 16 January 2012 23:15:59 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:48 GMT