[css-ruby] Issues about inlinize algorithm with anonymous box fixup

For inlinize algorithm, the spec currently says:

their display value computed accordingly. ... This computation occurs after
any intermediary anonymous-box fixup (such as that required by internal
table elements)

Although it is probably possible to make it work for table cases, it seems
to be structurally broken. Anonymous-box fixup actually depends on the
display value, hence we should not be able to do any computation of display
value after anonymous-box fixup.

It is probably possible to make table cases work because we could just
ignore internal table display types during inlinizing (which we currently
do) and let them trigger the fixup. But the fixup won't be triggered when
the style is applied to certain HTML tags, e.g. form controls, which then
breaks the inlinizing.

For this, I propose we state that the fixup should happens after the
computation of display value, and any display values which are neither
inline level nor inlinizable should be computed to inline-block directly.

It will break the internal table elements case which the original wording
intends to ensure. But AFAICS, it is not an important usecase we need to
consider. Authors are not encouraged to generate table from display values.

- Xidorn

Received on Friday, 17 April 2015 00:01:30 UTC