Paul,

It's not the correlation I'm questioning, it's the implied causality. I hope you'll make a distinction between them in your article.

I might be wrong, but I did not at any point argue that Tables cause invalid documents. Not to say I couldn't, see below :-)

I said there was a strong correlation.

I pointed out that in not a single layout based on tables, in presumably some of the most well funded sites in Australia does the HTML validate.

What is also extremely important is that the errors in validity very largely are directly associated with the table elements in those documents.

Now these errors fall into a number of oft repeated categories.

Forms and Tables
Missing close tags inside tables
Invalid attributes used willy nilly on tr and td elements

being among the most common.

So not only is there a strong correlation between table based layouts and malformed documents, but the malformations occur precisely because of tables. This is a correlation that is starting to look pretty causative.

Does this mean all table based layouts must be invalid? Of course not. But the correlation is overwhelming in the real world.

If using tables for layout promoted sloppy coding, then it stands to reason that if I were to move back to table-based layout today then my markup would suffer accordingly.

Not at all. But I would be prepared to wager your validation errors during development increased.

However, I know that would not occur, in part because having learned to use XHTML-CSS-semantic markup has raised my consciousness but largely because I use validation tools today to ensure that my markup finishes cleanly

See above. In essence, you would have to do more work. I have little trouble asserting this based on my experience, the experience of many others, and my research into real world pages. Tables lead to inherently more complex code, and so, directly, to the increased chance of coding error.

.I suspect that the reason for the correlation you're revealing goes something more like this: that table-based layout is what most web developers learn first; that it's possible for someone with primitive HTML skills to hack out a relatively stable page using tables; that being able to produce table-based pages will enable a developer to stick around and move ahead in an organization, especially a huge governmental bureaucracy or corporation in which insight into the technical issues around page development is dim and anyone who can craft a web page quickly and cheaply has a fair chance of survival & promotion without necessarily having to radically hone their skills.

This is not the first such suggestion along these lines. But applying occams razor, is there a simpler explanation? Keep in mind that these are all very very major companies and organizations we are talking about. Also, all but one of the sites uses CSS, further suggesting developers with non trivial skill sets.


In other words, rather than the use of tables for layout causing sloppy coding, the two behaviors are correlative, both able to survive, in individuals working in a sheltered environment.

Such as the biggest companies in Australia? Or the web development companies who develop their sites?

Just because they predominantly occur together doesn't mean that one causes the other. Hummingbirds' long beaks didn't cause their ability to hover nor the other way around, but instead the two traits co-evolved. It's a small but crucial distinction.

There has been a lot of reasoning by analogy in this discussion. And a lot of attempts to explain away an extremely strong correlation. Why are people so afraid of the conclusion?

And not merely academic: I think one reason your remarks raised such a flurry of irritated response was your implication that the use of layout tables leads to untidy coding -- them's fightin' words to any careful coder who still uses tables that way.

Let's suppose for a moment I am arguing that their is a causative relationship between using tables and invalid code (which I haven't been but which I believe and which argument I will make in a moment), that does not mean you cannot and will not produce valid documents with table based layouts. But the implication would be, all things being equal, that you'd require more effort (thereby shortchanging either yourself, your client/employer, or both by using this approach). The experience of everyone I know or who has written on this issue is that after some reasonable period of time, they are more efficient developers.

If you drop the element of causality you'll still have an interesting & powerful correlation to discuss.

At this point I'll return to the causation :-)

For those of us with a background in Software Engineering, we will be aware of the painful lessons learned in the 60s and 70s particularly, (sometimes referred to as the "software crisis") as increasingly complex languages and methodologies failed to solve complex computational challenges. The most famous example, to which I have alluded, is the mistaken ; for : in a fortran program which caused an unmanned moonshot to miss the moon.

The conclusion reached was that complex approaches to a problem are inherently more error prone than simpler ones.

Which leads me to me theory.
The HTML of Table based layouts is inherently more complex than the HTML of CSS based layouts. So it follows that there will be an increase in the likelihood of validation errors in table based layouts over other layouts.

So we set out to do an experiment. Find a heterogeneous set of HTML documents, which include table and non table based layouts. Determine the % of each which are valid.

My theory would predict that the table based layouts are more likely to be invalid.

And so it is.

I even stack the odds in favor of table based layouts by choosing sites for very well resourced public entities. If anyone was going to be getting their table based layouts right, it would be these entities.

The point of all this yabbering, is that in all the discussion of table versus non table based layouts I have seen over a very very very long time, this point has never been raised.

The sad fact is, yes, it probably is a religious thing. I see absolutely no good reason to use tables for layout. The only real argument I have seen, that there are some layouts for which you can't use CSS strikes me a little like the objection that there are some irreducibly complex organs that evolution can't possibly account for, and so they must have been created by god, er, sorry, an intelligent designer.

I've actually never seen of of these fabulous beasties.

Then of course there are the overwhelming number of cogent arguments in favor of using CSS for layout, that I won't bore anyone with now.

I guess I'll finish on a practical note. IM reasonably well informed O, if you want to be a successful web developer in the long run, you'll not be using tables for layout for your whole career.

So if not now, when?

john

John Allsopp

style master :: css editor :: http://westciv.com/style_master
support forum ::  http://support.westciv.com
blog :: dog or higher :: http://blogs.westciv.com/dog_or_higher

Web Essentials web development conference http://we05.com


******************************************************
The discussion list for  http://webstandardsgroup.org/

See http://webstandardsgroup.org/mail/guidelines.cfm
for some hints on posting to the list & getting help
******************************************************

Reply via email to