Re: [css3-exclusions] Issue 15183

On Tue, 31 Jul 2012 16:11:02 +0200, Alan Stearns <stearns@adobe.com> wrote:

> We are introducing an exclusion system that is orthogonal to positioning
> schemes. Collisions are actually something the draft takes into account.

Sorry for the poor phrasing. I did not mean that the exclusion spec
was orthogonal to dealing with collisions, I meant it was orthogonal to
avoiding collisions.

> Please provide an example - of a layout that works fine in multiple
> environments without exclusions, but with a simple exclusion causes the
> layout to work in some environments and break in others.

I don't have such an example, but you're missing my point.

I am not saying that exclusions make abspos any more broken than
it already is. I am saying that exclusions, because they are
useful and work fine on abspos, will result in a higher
usage of abspos than we currently see.

Given that Adobe in particular is pushing for this proposal, I am rather
convinced that we will before long see GUI editors for web pages
supporting exclusions (don't get me wrong, GUI editors are a good thing).

If you have a GUI editor for web pages that supports absolute positioning
and exclusions, the temptation to create a box, position it somewhere
manually, and tick the "flow around me" check box is great. So great that
people might even use it in places where a float would have worked just
fine.

However, since their document will be rendered in a different environment
than the one they designed in, they will actually run into all sorts of
unforeseen collisions scenarios.

> I think your collision property proposal is interesting and probably
> generally useful. Defining how it works would go in the various
> positioning specs. But I do not see why exclusions should be dependent on
> solving that issue.

I see only 3 possible ways forward:
1) accept a higher rate of abspos induced breakage
2) reject any exclusion scheme that works with abspos and would tempt
      authors into using it
3) improve abspos first

Many in this group do not want 1. I am sure that 2 does not appeal to you
in the least, and it doesn't to me either. So I am trying to propose 3.

I want collision:avoid on by default on abspos and fixpos which have
exclusions turned on, and that means introducing the collision property
before we introduce exclusions.

Ideally, I'd want collision:avoid on on abspos and fixpos even without
exclusions, but we can't do that without breaking compatibility.

Introducing the collision property separately from exclusions is
definitely possible, but then we couldn't have collision:auto compute
to collision:avoid on abspos which have exclusions, as it would break
compatibility. It would still be useful, as authors could opt into
sensible behavior, but they would not have it by default, and I
think that would be a loss.

    - Florian

Received on Wednesday, 1 August 2012 08:28:04 UTC