Re: css layout should be symmetrical

Ian Hickson <ian@hixie.ch> wrote on 2/16/02 12:47:46 PM:
>CSS does have a complex 2D grid model:
>
>    http://www.w3.org/TR/REC-CSS2/tables.html
>
>I am working on a simpler model.
>


I can't really comment on the robustness of CSS' table formatting because I 
haven't worked with it extensively.  I really wasn't even talking about CSS, 
this is more a markup issue and that's what I was addressing: 

[
Why are tables so popular as a layout tool in web development?
  Because they work.
  Tables allow you to, with relative ease, create fairly complex layouts that-
 are impossible or extremely difficult to create with CSS -> and no tables <-.
  What is wrong with a simple 2D grid model of layout -> powered by CSS <- 
(by 2D I don't mean to dismiss the stacking properties)? ] 

As I said, this issue is more about the markup side of the equation and the 
mixed messages from W3C about appropriate use of tables than it is about CSS. 
 Note that my statements on this subject are in the context of HTML and 
 related languages. 

The W3C's own Web Content Accessibility Guidelines (WCAG) recommendation 
tells us: 

[
Tables should be used to mark up truly tabular information ("data tables"). 
Content developers should avoid using them to lay out pages ("layout tables").
] 

Not to mention the HTML Rec.:

[
Tables should not be used purely as a means to layout document content as 
this may present problems when rendering to non-visual media ]

I must point out that the WCAG goes on to say:

[
Once user agents support style sheet positioning, tables should not be used 
for layout. ]

As I already said when I quoted myself earlier, that is total BS.

Depending what part of section 17 you are specifically referring to, you are 
either talking about disregarding the guidelines quoted above (which I do as 
a rule, because my employer expects results not excuses), or about a table 
hack.  Of course, the statements quoted need to be evaluated on a case-by-
case or person-by-person basis.  I don't develop for non-visual media, so 
should I care about this? 

In case you are suggesting a table hack:

Notice that section 17 unambiguously states:

[
The following 'display' values assign table semantics to an arbitrary element
]

If that is a mistake it should be in the errata.  As of this moment it is in 
the recommendation and its meaning is clear.  Moreover, the table related 
values of the display property are intended ONLY for markup languages that do 
not include pre-defined table elements -- HTML does. 

(As already pointed out by Eric Costello)
[
User agents may ignore these 'display' property values for HTML documents, 
since authors should not alter an element's expected behavior.
]

It is not helpful that the W3C says not to use tables for layout but doesn't 
provide a pratical alternative.  Apparently, inferring from its website, the 
W3C's alternative is to make dull pages -- and use tables for layout anyway.  
Even if it is acceptable to use the currently existing tables for layout 
purposes, the model is complicated by semantic implications and 
considerations that are irrelevant in terms of the layout purposes I'm 
talking about.  And the CSS visual layout model for tables is muddled by 
poorly named, poorly performing properties that mean different things in 
different contexts, such as text-align and vertical-align.  My last post gave 
my opinion of the box model / visual formatting model.  What we need is a 
simpler table or grid model intended specifically for layout purposes in the 
markup language, a robust CSS box / visual formatting / visual layout model 
to accompany it, and user agents that precisely and consistently render the 
layout specified by the author. 

Received on Saturday, 16 February 2002 17:45:19 UTC