Table-based layout: Threat or Menace?

misson

Community Paragon
Community Support
Messages
2,572
Reaction score
72
Points
48
This is a response to bidzey's post on the "CSS Float problem" thread. It's posted in a new thread so as not to derail the original.


The reasons given are full of CSS evangelism. The biggest companies like Microsoft still use tables in some of their products like Sharepoint 2010 for one example. Gee... I wonder why?
If there's one thing MS is known for, it's their proper application of web standards.

When, specifically, does Sharepoint 2010 use tables? In your wondering, have you considered that this might be the output of legacy code? From what I've read, MS made a concerted effort with Sharepoint 2010 to do away with tables for layout.

Understand the difference between dressing up your page, wich CSS is awsome, and layout where tables if used correctly will make your life alot easier.
Until it comes time to redesign the site or make even a minor update to layout. Tables are a maintenance nightmare.

Page dressing (as you put it) and layout are both matters of presentation, which is what CSS handles.

Using tables correctly means not using them for layout, as stated since the HTML 4 spec. If you have some other definition of "correct", you need to give it.

The first link you gave "Why tables for layout is stupid" must of been written by someone really naive.
How is reading web standards a sign of naiveté?

As for the authors, Bill Merikallio has been a web designer since at least 1997 (when he started working at Scott Design). Adam Pratt worked in graphic design for a number of years, then joined Adobe in 2000. The second document, "Why avoiding tables (for layout) is important", was written by Dave Polaschek, who has worked in the desktop publishing industry since 1990 and in web development since 1996. Hardly naive. Your accusation of such is (like many of your arguments) a fallacious ad hominem attack. If you're going to dismiss opponents as naive, you'd better back it up.

quote: "Tables is for tablature content only" I want to slap the academic moron that invented that false vision into millions of minds, and probably had very little experience designing Websites.
So we're to understand that you know more about the issues of web development than the people who designed HTML. That's quite a healthy ego you have.

Speaking of issues, you've only addressed the weakest of the reasons not to use tables. What of the others? What about accessibility issues? What about their inflexibility? CSS isn't perfect, but it's much more flexible.

Moreover, do you know anything about the HTML spec authors? Must they be ivory-tower elitists because your understanding of what a table is differs from the official definition? W3C contributors include employees of businesses and the general public, not simply academics. Right now you're angry with someone who only exists in your mind. If you want to find the actual people involved, try searching the W3C mailing list.

As for tables being "for tablature content only", that was the intent from their very creation. Applying tables for layout purposes was what graphic designers coming from a print background did in their ignorance of web technology. The web ain't print.

Witch brings me to the subject of semantics, there are no semantics beyond the way a table is rendered.
Rendering is a concern of presentation, not semantics, which are concerned with meaning. The semantics of a table are that the data in the cells have a specific, inherent two-dimensional relationship with data in other cells; removing the table destroys this relationship, thus losing information. Removing the table in a table based layout is simply a reorganization of the presentation; there is not a corresponding loss in information about the data that was in the cells. Consider a common (mis)use of tables: two-column layouts, with navigation in one column and content in the other. The data in the columns aren't related axially. Remove the table-related tags, change the layout and the page conveys the exact same information, just in a different order.

Furthermore, a table is not the same as a grid. A grid is a visual arrangement. Tables aren't inherently visual, any more than the Euclidean plane is visual; both are spatial. A grid layout is applied to tables for visualization purposes, but that doesn't mean a table is a grid. To illustrate this, consider that a different representation of tables must be used (for example) for screen readers. When tables can't be given a grid layout, tables used for layout become harmful rather than helpful.

A table as no feelings, you said it yourself, computers have no intelligence, your post actually contradicts itself.
Feelings and emotions are not the same as intelligence. I never wrote about the former. Moreover, I didn't write about tables (i.e. data) not having intelligence, I wrote about programs, the point being semantics matter for programs as it can compensate for their lack of intelligence. Write a few programs that have to process HTML in a significant way and you'll see why. This is also why there is no inconsistency in my post, which I'll reiterate: it is precisely because computers are unintelligent that semantics matter.

A table couldn't care less if you use it for layout or my so favorite argument that tables are used for tablature content.
"or my so favorite argument that tables are used for tablature content" makes no sense, grammatically or conceptually. Please clarify what you mean by this statement.

Tables don't care, but behave exactly how you use them, it doesn't care how you use them any more than a shot glass would care if you use it for liquide or to hold a candle in it.
A shot glass is a bad analogy as the uses are of the same variety (containment), whereas the uses under discussion for tables are different (structure vs. presentation). It's also a bad analogy in that my point wasn't that the contents matter to the container but to what handles the container. A better analogy would be a mail sorting machine for automated mailing. Give it a tray of letters and it will work fine. Give it a tray of jelly beans and it'll get gummed up.

As for tables being limited in anyway, this is again probably invented by someone that doesn't know how to use them.
Using tables for layout is not a difficult technique. The conjecture (especially when it comes to the HTML spec authors) is false.

What you can do for layout on the X,Y axis I'll be able to do with tables with alot less coding.
Can you back up the last statement? Keep in mind it's not your CSS layout that has to be beat with tables, it's what I can do. Additionally, tables must be repeated on every page, whereas CSS can be written once and simply included.

Also keep in mind that you can achieve exactly the same layout you get with tables but without polluting your document structure with non-semantic markup by applying the CSS table model. To underscore the point: CSS makes table based layout completely unnecessary because you can apply table layout to non-table elements.
 

misson

Community Paragon
Community Support
Messages
2,572
Reaction score
72
Points
48
[cont.]

I could go on and on, but I don't want to write a book here. This is a very old argument and I don't want to start one if I didn't already.
You did.

It's easy to give out links to accommodate your theory. I could do the same too.
Then do it. That's how debate works: support your assertions.

The funniest one I seen in those links is where it says tables are slow. That is so false and also irrelevant.
These days, the speed of rendering tables is less of a concern. If not written properly, HTML tables won't be rendered until the closing tag is encountered, whereas the elements in a CSS based layout corresponding to table cells can be rendered immediately. With small tables, fast computers and a fast connection (which are almost ubiquitous), the difference isn't noticeable. On the other hand, when using tables for layout, the tables aren't small; they're your entire page. Also, there are still dial-up users (some on this very board) who will thank you if your pages render quickly and curse your name if there's a delay.

CSS too often asks for the assistance of including files, javascript, and a few "IF" statements to accomodate the proper layout, and they say tables are stupid? OK!! whatever...
When it comes to using CSS to replace a table based layout, JS isn't needed. As for "if" statements, the point is to ambiguous to address.

This reminds me on this very site, I can't remember the link, I really wish I did though, the case was you were at a page where http and https link content where both included. I got that popup that asks to OK both content, I pressed the button that did not OK it by mistake, and obviously it must of been the CSS file that was being included, and when I said "No: don't include it, I got the page all in white with black text on it. If look hard enough X10 will be able to reproduce this experience. This would not happen in tables, you would lose the dressing, but not the layout.
That's not a CSS issue, that's a linking issue. You'd have the same problem with images (such as you might find in an image-sliced table), for example. With an embedded CSS style sheet or relative URLs (which is what should be used), there's no issue.

(Ab-)using tables for layout was acceptable when browsers didn't have very extensive CSS support. That is no longer the case.

On an unrelated topic, how go your Y2K preparations?

I don't know about you, but I'm tired of the tone. What say we both stop with the derision and have an honest debate?
 

vv.bbcc19

Community Advocate
Community Support
Messages
1,524
Reaction score
92
Points
48
@misson
I appreciate your reply.I got necessary information and I agree to your comments.
My regards.
 

bidzey75

New Member
Messages
53
Reaction score
0
Points
0
sorry misson, didn't mean to hit a nerve, you must of spent alot of time on this. I'm honored! Your entitled to your opinions and I respect them. :smile: As long as your happy... that's what I always say!
 
Top