W3C home > Mailing lists > Public > www-style@w3.org > October 2012

Re: [css-regions] Handling circular dependencies between flows

From: Alan Stearns <stearns@adobe.com>
Date: Wed, 10 Oct 2012 08:59:19 -0700
To: Mihai Balan <mibalan@adobe.com>, Andrei Bucur <abucur@adobe.com>, "www-style@w3.org" <www-style@w3.org>
Message-ID: <CC9AE89B.14868%stearns@adobe.com>
(Apologies for the top-quote, but this reply is more a short-circuit than
a response to the difficulties described below)

I would like to solve the basic circular reference problem by deciding
that these circular references do not create regions. So I'd change this

Likewise, if the block container is part
of the flow with name <ident>, then
the block container does not format
any content visually.

to this (and move it up in the definition to precede the text that
describes how regions are created)

If the block container is part
of the flow with name <ident>,
then the block container does
not become a CSS Region.



On 10/9/12 8:23 AM, "Mihai Balan" <mibalan@adobe.com> wrote:

>A couple of things to consider regarding option #2. IMO, while not
>rendering the region at all might be more elegant/simple/efficient from
>an implementation point of view, I believe it's quite a bad experience
>for the user (web developer).
>I agree that this condition error must be signalled, but rendering
>artifacts (such as a region with nothing in it) are preferable (if not
>the norm) to no rendering at all. One scenario that comes to mind is
>having a region for which the user specified a width and a height, maybe
>even a background and a border, not showing up at all because he
>accidentaly inserted it before the closing tag of the nodes that make up
>the content flow (instead of *after* that tag).
>Bottom line, you wouldn't want content going away (visually) as if
>display: none was specified when, in fact, display: none is specified
>My 2 cents,
>PS: Going with #2 might also raise some unpleasantly to crack questions
>to integrated developer tools (e.g. Chrome WebInspector)
>Mihai Balan | Quality Engineer / WebKit team |  mibalan@adobe.com |
>+4-031.413.3653 / x83653 | Adobe Systems Romania
>-----Original Message-----
>From: Andrei Bucur [mailto:abucur@adobe.com]
>Sent: Monday, October 08, 2012 5:49 PM
>To: www-style@w3.org
>Cc: Alan Stearns
>Subject: [css-regions] Handling circular dependencies between flows
>The CSS Regions spec has a paragraph that states how this case should be
>handled, along the situation of a non-existent flow:
>"If there is no flow with name <ident>, then the block container does not
>format any content visually.
>Likewise, if the block container is part of the flow with name <ident>,
>then the block container does not format any content visually"
>Firstly, I want to clarify how implementations should interpret these two
>statements. I see two options:
>1. The region block is rendered, but without any flow content going into
>it? Basically, the region is skipped when laying out the content of the
>2. The region block is not rendered at all. The effect is similar to
>specifying "display: none" on the region element (no renderer is created).
>Secondly, I think the circular dependency should be regarded differently
>from the non-existent flow situation. A circular dependency is created by
>an error in the document's stylesheet while referencing a flow without
>content through flow-from could just mean it will be added later (e.g.
>through the OM) and the regions are used to "reserve" space in the page.
>>From an implementor standpoint I also think the second option is better
>because it simplifies the rendering and the data structures. Basically,
>the layout of the flow doesn't care about the regions that create
>circular dependencies and not creating renderers for them is optimal.
Received on Wednesday, 10 October 2012 15:59:55 UTC

This archive was generated by hypermail 2.3.1 : Monday, 2 May 2016 14:39:04 UTC