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

(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
sentence:

---
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.
---

Thanks,

Alan

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

>Hey,
>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
>nowhere.
>
>My 2 cents,
>m.
>
>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
>
>Hello,
>
>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
>flow.
>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.
>
>Thoughts?
>
>Thanks,
>Andrei.
>
>
>

Received on Wednesday, 10 October 2012 15:59:55 UTC