On 7/2/05, Ian Hickson <ian@hixie.ch> wrote:
>
> On Sat, 2 Jul 2005, Laurens Holst wrote:
> >
> > I hereby propose a :column pseudo-class, which I think would be the best
> > possible way to resolve the problem that it is currently impossible to
> > reliably select a column.
> >
> > The :column pseudo-class is effective on elements with display type
> > table-cell or table-column or table-column-group only.
>
> The cascade happens before layout. You don't know an element's display
> type at the time you are doing selector matching.
Couldn't this problem simply be solved by removing the presentational
attributes "colspan" and "rowspan". This is HTML's problem, not ours
really. Well there's that and the fact that display: table-* doesn't
really work. But let's assume it's an HTML problem.
My understanding of simple tables is that they are 2-dimentional objects.
One axis is static. They are the labels of the individual property
names. This axis is used to identify the data type of the properties
below it (if a column, to the right or left of it, if a row).
The other axis is variable (the default value is choosen because it is
most likely what the consumer of the table will be searching on).
colspan and rowspan are used to avoid repetition, but prevent
reorganization of the data. If they are simply there to make the
document smaller, they are doing more harm than good. If they are
there for presentation, they are still doing more harm than good.
In-table labels are usually grouping mechanisms for managing the view
of a table. An example of this would be.
Seattle
12-5-2004 12 gal.
12-6-2004 10 gal.
12-7-2004 18 gal.
Seattle here is simply another value in the colum. I could present it
like so as well and the semantic meaning would be preserved. I
appologize ahead of time for spacing issues.
Seattle 12-5-2004 12 gal.
12-6-2004 10 gal.
12-7-2004 18 gal.
I could also present the same data another way and still have the
semantic meaning preserved.
Seattle 12-5-2004 12 gal.
Seattle 12-6-2004 10 gal.
Seattle 12-7-2004 18 gal.
The first two presented are presentational variations on the third
which also happens to be presentational, but the simplest form of
presenation.
Removing colspan and rowspan opens up a wide array of possibilities in
terms of presentation, semantics and data management.
I don't see why it should be any harder to change the presentation of
a table as demonstrated above than to change the presentation of a
paragraph.
I hereby propose that colspan and rowspan be deprecated in the HTML 2
Tabl Module.
I will also be proposing a series of CSS properties in the very near
future as I work them out.
Orion Adrian