[css-writing-modes-3] Proposal to modify how inline-block with non-empty block descendants are baseline-aligned

Hello,

When an inline-block has non-empty block descendants, then

"
The baseline of an 'inline-block' is the baseline of its last line box 
in
the normal flow (...)
"
CSS 2.1, 10.8.1 Leading and half-leading
http://www.w3.org/TR/CSS21/visudet.html#leading

This was decided *way before* the concept of dominant baseline and 
before central baseline-alignment were created and specified.

Similarly,

"
The baseline of an 'inline-table' is the baseline of the first row of 
the table.
"
CSS 2.1, 10.8.1 Leading and half-leading
http://www.w3.org/TR/CSS21/visudet.html#leading


But when vertical writing mode spec was created, then we have different 
baselines:

"
In vertical writing mode, the central baseline is used as the dominant 
baseline when text-orientation is mixed or upright. Otherwise the 
alphabetic baseline is used.
"
4.2 Text Baselines
http://www.w3.org/TR/css-writing-modes-3/#text-baselines


Now, I created a demo and then tested it with an inline-block that has 2 
non-empty block children:

http://www.gtalbot.org/BrowserBugsSection/CSS3WritingModes/vert-align-latin-baseline-inline-block-dhtml.html

First of all, webkit-based browsers not only do not support an 
unprefixed version (when it should!) but they do *not* support the 
'mixed' value but rather support the old 'vertical-right' value [1]; so 
that test has been adjusted so that it would work for webkit-based 
browsers.

Steps:

1- Load

http://www.gtalbot.org/BrowserBugsSection/CSS3WritingModes/vert-align-latin-baseline-inline-block-dhtml.html

into several browsers: say, Firefox 41 nightly build and Chrome 45

2- Make sure that 'mixed' and 'baseline' radio buttons are checked

Firefox rendering: the inline-block margin box is centered within the 
line box

Chrome rendering: the inline-block is baseline-aligned within the line 
box in accordance with the baseline of its own last line box.

One could say that Chrome complies accurately with the current 
writing-mode spec: no objection here. But, is such rendering best (or 
ideal) for central baseline-alignment? Is such rendering what the spec 
editors wanted for central baseline-alignment?

-------

Steps:

1- Load
http://www.gtalbot.org/BrowserBugsSection/CSS3WritingModes/vert-align-latin-baseline-inline-block-dhtml.html
into several browsers: say, Firefox 41 nightly build and Chrome 45

2- Make sure that 'sideways-right' and 'baseline' radio buttons are 
checked

Firefox rendering and Chrome renderings: the inline-block is 
baseline-aligned on the line box in accordance with the baseline of last 
line box.

When 'text-orientation' is 'sideways-right', the spec says the 
alphabetic baseline should be used.

-------

Proposal:

In vertical writing mode, when the central baseline is used as the 
dominant baseline, then the baseline of an inline-block is halfway 
between its under and over margin edges.

In vertical writing mode, when the central baseline is used as the 
dominant baseline, then the baseline of an inline-table is halfway 
between its under and over margin edges.

Webkit-based browsers would have to be fixed; Firefox would not have any 
modification to do.

-------

When the aplhabetical baseline is used as the dominant baseline, there 
would be no change:

In vertical writing mode, when the aplhabetical baseline is used as the 
dominant baseline, then the baseline of an inline-block is the baseline 
of the last line box.

In vertical writing mode, when the aplhabetical baseline is used as the 
dominant baseline, then the baseline of an inline-table is the baseline 
of the first row of the table.

-------

+CC: Hajime Shiozawa

Gérard

[1] Issue 458112: Support the 'text-orientation: mixed' in 
css3-writing-mode
https://code.google.com/p/chromium/issues/detail?id=458112

Received on Friday, 12 June 2015 00:37:38 UTC