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

On 17/01/2012 00:15, Kang-Hao (Kenny) Lu wrote:
> (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

Thanks a lot; I understand the issue now.  (I doubt this issue will make 
it into errata at this point given that we have no feedback from 
implementers indicating that they do not wish/intend to implement the 
specified behaviour.  I recommend filing bugs with the implementers at 
this stage.)

Cheers,
Anton Prowse
http://dev.moonhenge.net

Received on Tuesday, 17 January 2012 22:49:03 UTC