Re: I18N-ISSUE-164: Flexbox specifcation unclear on determination of flex item's baseline. [CSS3-flexbox]

On 12/07/2012 02:44, Tab Atkins Jr. wrote:
> On Wed, Jul 11, 2012 at 2:42 PM, Internationalization Core Working
> Group Issue Tracker <sysbot+tracker@w3.org> wrote:
>> I18N-ISSUE-164: Flexbox specifcation unclear on determination of flex item's baseline. [CSS3-flexbox]
>>
>> http://www.w3.org/International/track/issues/164
>>
>> Raised by: Norbert Lindenberg
>> On product: CSS3-flexbox
>>
>> Sections 8.3 and 8.5 of the Flexbox specification use a flex item's baseline, but don't say how that baseline is determined. CSS 2.1 defines baselines for inline tables and inline blocks, the first as the baseline of the first row of the table, the second as the baseline of its last line box in the normal flow. The latter doesn't seem likely to result in the layout shown in figure 10 in section 8.3, which seems to align based on first lines. Some clarification would be welcome.
>>
>> Version reviewed: editor's draft, 9 July 2012
>> http://dev.w3.org/csswg/css3-flexbox/
>>
>> Koji pointed out that baseline was discussed on www-style@ recently:
>> http://lists.w3.org/Archives/Public/www-style/2012Apr/0414.html

(That conversation continues at 
http://lists.w3.org/Archives/Public/www-style/2012Apr/0604.html where I 
commented on the general need for new specs to address this issue, but 
unfortunately the thread is disconnected in the archives :-/)

> Ah, we finally looked into this deeply enough to understand the
> issues.  We've hopefully fixed up the text now.
>
> http://dev.w3.org/csswg/css3-flexbox/#flex-baselines

This additional section looks good.  One thing that confused me slightly 
was the following new sentence:

   # When determining the baseline of a table cell, a flex container
   # provides a baseline just as a line box or table does. [CSS21]

It took me a few moments to realized that it is referring to the 
following specific part of the CSS21 section that's linked to from that 
sentence (viz. 17.5.3):

   # The baseline of a cell is the baseline of the first in-flow line
   # box in the cell, or the first in-flow table-row in the cell,
   # whichever comes first.

The mental wheelspin that I had was caused by the use of the word 
"table" in the new sentence, given that the above-quoted part uses 
"table-row".

I was about to propose that we use "table-row" in the flexbox spec 
instead of "table"... but then it occurred to me that "table-row" is 
perhaps undesirable in CSS21 anyway; maybe it should be "table" and 
accompanied by the new note introduced in the new flexbox section 
(stating that the baseline of a table" is the baseline of its first row).

Yet there's an open issue on what the baseline of a table with no rows 
is,[1] since that concept is needed for other parts of CSS21 as well; 
and we need a web compat review to figure out whether the baseline of a 
table with no rows plays any part in determining the baseline of a cell 
that contains it.  If not, we can't make any change to the CSS21 
sentence and the flexbox sentence would have to change to use "table-row".

[1] https://www.w3.org/Bugs/Public/show_bug.cgi?id=15892

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

Received on Thursday, 12 July 2012 07:03:26 UTC