Re: [css3-background] box-decoration-break and bidi reordering (ISSUE-182)

On Tuesday 2011-05-03 12:29 -0700, fantasai wrote:
> As I'm working through the css3-writing-modes spec, I noticed that we
> don't address box-splitting due to bidi reordering in the definition
> of 'box-decoration-break'.
> 
> Should we specify that 'box-decoration-break' applies also when bidi
> reordering splits the inline box? Or specify that such splits are
> always "sliced"?

I think the problem here is that the behavior authors would want
when they say 'clone' is relatively obvious:  each visually-separate
piece of the inline element would have its own border.  However,
implementations that split inlines for bidi are splitting them into
pieces that often end up visually contiguous (though whether they
end up being visually contiguous can depend on how nearby content
wraps).

So I think the obvious desired behavior is, from a technical
perspective, to clone at some points and slice at others.  However,
it's not clear to me exactly how to write that definition, and I
expect it might introduce substantial complexity.  (Remember that
the definitions of where borders appear on inlines affect
*line-breaking* behavior since the borders affect the size of the
inlines, and the result of the line breaking affects whether the
borders appear.)

It's also not clear to me if the way that inlines are split in the
presence of bidi is even fully defined.  I can't find the definition
in CSS 2.1, anyway.  All I see is section 9.4.2 (Inline formatting
contexts, http://www.w3.org/TR/CSS21/visuren.html#inline-formatting),
which says only:
  # Inline boxes may also be split into several boxes within the
  # same line box due to bidirectional text processing. 
and 9.10 (Text direction: the 'direction' and 'unicode-bidi'
properties, http://www.w3.org/TR/CSS21/visuren.html#direction ),
which says:
  # Please note that in order to be able to flow inline boxes in a
  # uniform direction (either entirely left-to-right or entirely
  # right-to-left), more inline boxes (including anonymous inline
  # boxes) may have to be created, and some inline boxes may have to
  # be split up and reordered before flowing.

I think box-decoration-break introduces a dependency (that didn't
previously exist) on the exact definition of that splitting, which
means we probably need to define it.

In other words, I think box-decoration-break is a classic example of
the problem I described in http://dbaron.org/log/20100531-specs .  I
wonder if we should consider dropping it from css3-background.

-David

-- 
𝄞   L. David Baron                         http://dbaron.org/   𝄂
𝄢   Mozilla                           http://www.mozilla.org/   𝄂

Received on Wednesday, 25 January 2012 18:22:49 UTC