[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 Monday, 8 October 2012 14:50:20 UTC