Re: Controling structure with CSS

Ian Hickson wrote:
>  >> The question of whether it makes sense to reorder the document on
>>>  output is an important one, but to me the answer is clearly "yes".
>>
>>  Why?
>
>Because it is presentational.

It looks to me like you are assuming away the fundamental issue. 
*If* reordering the document is purely presentational, then it makes 
sense to include arbitrary reordering in a presentational language. 
If it isn't, then perhaps it doesn't.

As I said, my own opinion is that I don't think that rendering order 
is purely a matter of presentation.  The Declaration of Independence 
(to choose a random historical document) does not make any sense when 
read in random order.  Now I'll grant you that a pure print example 
certainly does not capture everything there is to capture about the 
web.  But it is illustrative.  Web pages are generally broken down 
into major sections - navigation, content, branding, contact info, 
advertising, etc.  Those aren't arbitrary divisions - they are 
functional (or, if you like, structural) groupings.  The current CSS 
version handles this type of model pretty well, for the most part - 
or would if implementations would get around to supporting the entire 
spec.

But I see no reason to allow completely arbitrary rendering.  In 
fact, I think by *not* allowing purely arbitrary rendering you will 
be helping authors impose some order on their design process so that 
the resulting documents truly will make multi-media, multi-platform 
sense.

So it seems to me that supporting arbitrary rendering order is bad 
from not only a complexity point of view - making the language very 
difficult to learn and apply - but also from a design point of view. 
Why structure the document if it has no effect on rendering?  Just 
put things down in the order you want them to appear.  Most authors - 
unlike the members of this list - are not that concerned with 
accessibility and cross-media compatibility.  They just want their 
page to look right.  CSS as it is currently designed actually forces 
authors to come up with at least a minimal structure to get an 
appearance that makes sense.  I think that is a good thing.

>  > Or more particularly, why in CSS and not in some other place more
>>  designed to manipulate structure?
>
>Because this is not about manipulating structure. It's about manipulating
>layout order.

Which, as I argue above, actually is about structure.

>It's pretty simple to me. If it mucks about with the DOM (XSLT, JS) then
>it is a structural change. If it is a layer between the DOM and the
>rendered pixels (CSS) then it is presentation.

I disagree with this technically-oriented definition.  Most people 
are not particularly technically minded and most non-technical people 
would certainly agree that the order things are in is normally an 
important part of their structure - at least when discussing 
documents, at any rate.

>  > But if that's the order you want rendered, why is there an
>>  intervening container?  Aren't you better served at that point by
>>  re-thinking the actual document structure?
>
>What has the document structure got to do with it?

You are arguing that if you have boxed up two items together, it 
makes perfect sense for one of the items to be delivered before the 
box arrives.  I'm saying that if you want the item delivered before 
the box, you really ought to think about re-packing the item so it 
isn't actually in the box.  Yes, that is highly simplified, but 
conveys the basic point.

>  > At what point do we really cross the line into issues that CSS isn't
>>  *really* designed for?
>
>We crossed that line years ago. This is about changing the CSS design so
>it _is_ designed for this.

In that case, I don't agree that this is a good design goal.

-- 

-Adam Kuehn

Received on Monday, 19 April 2004 10:49:19 UTC