W3C home > Mailing lists > Public > w3c-wai-ig@w3.org > January to March 2002

more CSS and tables Re: Some questions from CHI-WEB people

From: Charles McCathieNevile <charles@w3.org>
Date: Sat, 5 Jan 2002 02:54:29 -0500 (EST)
To: Kynn Bartlett <kynn-edapta@idyllmtn.com>
cc: David Poehlman <poehlman1@home.com>, Scott Luebking <phoenixl@sonic.net>, <lucy-ples@mtu-net.ru>, <w3c-wai-ig@w3.org>
Message-ID: <Pine.LNX.4.30.0201050244450.9692-100000@tux.w3.org>
If you hhave marked up a page correctly, all the pieces will be idenitifed in
terms of their function (I realise that is a big IF). If you have also
followed WCAG recommmendations, it will be marked up in an order that makes
sense using the source-based flow.

For general layout, this means that CSS can provide column and block based
layouts for new browsers, that break down to fairly simple linear groups of
blocks in old browsers.

Chaals

On Tue, 25 Dec 2001, Kynn Bartlett wrote:

  At 8:12 AM -0500 12/25/01, Charles McCathieNevile wrote:
  >Just so we realise that this isn't an area where there is someone with all
  >the answers:
  >
  >CSS, definitely. CSS is uch friendlier to older browsers than tables.
  >(Especially to older browsers still in relatively wide use, like lynx).

  Not really.  If you're talking about old, old browsers, and you give them
  something like <div>s with CSS-P, it will flow it together in an old
  mess.  If you're talking about old, old browsers, and you give them
  <table>, at worst it does the same as lynx -- flows it together in one
  big mess -- and at best it will lay out the page exactly as intended.

  Here's why tables are better than CSS -- the semantic meaning is more
  clear.  In CSS, _any_ element can be used for layout purposes; most
  commonly it's <div>, the absolute most generic tag in the lot, short of
  its close cousin, <span>.  A <div> or a <span> can mean, literally,
  _anything_.

  Now, take <table>.  A <table> can be one of two things:  It can be a
  layout table, or it can be a data table.  Distinguishing between the
  two, if coded correctly, is not all that hard; data tables, for example,
  rarely are designed to fill the entire screen within a <body>, while
  layout tables usually don't have captions.

Well, you haven't demonstrated that the content being laid out in a table
would have any better identification, just where the pieces were in a table -
equivalent to what is provided in CSS positioning.

In addition, the use of tables for layout purposes is an express violation of
the specification of HTML 4, which CSS is not. Although this doesn't cause
the fall of empires (as far as I can tell) it is not a good start at
improving the Web...

  Therefore, <table> is a _lot_ clearer, within the markup, at indicating
  "this is a bit of markup which could be either a layout table or a
  data table" -- two choices.  CSS-driven layouts use elements which
  could be _anything_, from generic style groupings to content groups
  to layout groups to indications of language change to anything else.

  --Kynn



-- 
Charles McCathieNevile    http://www.w3.org/People/Charles  phone: +61 409 134 136
W3C Web Accessibility Initiative     http://www.w3.org/WAI    fax: +1 617 258 5999
Location: 21 Mitchell street FOOTSCRAY Vic 3011, Australia
(or W3C INRIA, Route des Lucioles, BP 93, 06902 Sophia Antipolis Cedex, France)
Received on Saturday, 5 January 2002 02:54:36 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 19 July 2011 18:13:59 GMT