[css-regions] issue 16858 redux

Hey all,

The main remaining issue in the CSS Regions specification is 16858 [1]. It
proposes to make flow-from not apply to elements, in favor of making it
apply to CSS-generated containers only. I will be asking the working group
to resolve to close this issue when we meet in Seattle, but I would like
to prime that discussion with some debate on the list, as I think there's
only a handful of people who are passionately interested in this issue.

The main argument for the issue is the position that content should be
separated from presentation, which is a good theoretical stance. But this
theory does not match practice. HTML elements are used as presentational
boxes and containers *nearly everywhere*. Server and client code routinely
take content markup and mash it into a presentational HTML template. In
some cases, using named flows and elements as regions can provide more
content/presentation separation than current practice allows [2].

The most basic argument I have against this issue is that it doesn't make
sense to have a CSS property that does not work on elements. The only
other instance of this is 'content', and we plan on extending its use to
elements. I think it's preferable to design properties that are as widely
applicable as possible.

One thread of argument has been that flow-from should only apply to the
proposed ::slot pseudo-element in a grid container. Restricting regions to
::slots introduces a dependency - named flows could only be used with grid
positioning. This is much too restrictive - there are good uses for named
flows that either do not need to require grid (static positioning of
regions), or do not work well with grid (see the navigation overflow menu
[3]). Cross-feature dependencies should be avoided when possible.

Most importantly, disallowing elements as regions reduces or eliminates
the value of using named flows to explain fragmentation [4]. The web is
built on elements, and extending functionality works when there are
elements to start from. We might someday define CSS-generated containers
with extension points, but they currently are a dead-end. The CSSOM that
is defined for named flows only works with actual HTML elements, so in
order to use CSS Regions as a building block for the extensible web,
flow-from needs to apply to elements.

[1] https://www.w3.org/Bugs/Public/show_bug.cgi?id=16858

[2] http://lists.w3.org/Archives/Public/www-style/2013Dec/0408.html

[3] http://lists.w3.org/Archives/Public/www-style/2013Nov/0401.html

[4] http://lists.w3.org/Archives/Public/www-style/2013Oct/0675.html

Received on Friday, 10 January 2014 00:00:32 UTC