Tables for Tabular Data Only
Here are some reasons why I really don't like using tables for layout. This isn't even a complete list. Some of the related articles that are listed below mention a few additional points.
Tables... (in no particular order)
- usually require substantially more markup, which increases file sizes and bandwidth usage
- often take longer to load and render, because of the complicated algorithms used to determine the dimensions of the table cells
- can make writing stylesheets more complicated and make redesigns more difficult. For example, consider a situation where you wanted to swap the positions of two columns. If you're using a tableless layout you can just change a few lines in the stylesheet, but in a tableful layout you would have to open every page and reorder the X/HTML elements in each.
- are not semantically correct
- are detrimental to ranking well on search engines. Semantically correct markup placed in a logical order tends to rank much better in search engines.
- make it more difficult to use diagnostic tools like Firefox's DOM Inspector and IE's DOM Explorer because of the very large number of hierarchical levels of nested elements
If you still aren't convinced, I strongly recommend that you read these other articles that I've listed below.
- Why tables for layout is stupid: problems defined, solutions offered
- Ten ways to speed up the download time of your web pages
- Why avoiding tables (for layout) is important
- Nested Tables: About the (ab)use of tables as layout tools in webpages.
- Why Tables Are Bad (For Layout) Compared to Semantic HTML + CSS
- Why go table free?