[Zope3-dev] Re: [ZWeb] nzo: just for inspiration
Steve Alexander
steve@cat-box.net
Sun, 23 Mar 2003 11:10:33 +0200
> I still take issue with the notion that CSS tables are more
> "standards-based" than HTML tables. HTML tables existed as a standard
> before CSS tables. The difference is that CSS tables provide a way to
> express intent instead of manipulating pixels. It's just a different
> standard.
I've been thinking about issues of Liskov substitutability and Zope 3
recently. Last night, it occured to me that there is a similar pattern
of substitutability with using tables to express layout.
Using an HTML table when you don't have something that is tabular in
nature is a lot like using the subclassing/subtyping features of a
language because you want to reuse implementation while not keeping the
promises of the supertype.
In this case, the supertype makes a promise that the cell contents are
part of a structure of rows and columns, and have some commonality with
other cells in the same column and other cells in the same row.
Using tables in HTML to achieve the goal of manipulating pixels relies
on the accident of how a graphical browser chooses to lay out tables.
The HTML standard says
http://www.w3.org/TR/1998/REC-html40-19980424/struct/tables.html
----
Tables should not be used purely as a means to layout document content
as this may present problems when rendering to non-visual media.
Additionally, when used with graphics, these tables may force users to
scroll horizontally to view a table designed on a system with a larger
display. To minimize these problems, authors should use style sheets to
control layout rather than tables.
----
I found that last part about scrolling interesting, considering where
this discussion started :-)
--
Steve Alexander