With CSS (Cascading Style Sheets) having been thoroughly tested by many sites, it’s time for Twisted Tablethe rest of us to start cheering and encouraging from the side lines to those that haven’t done so, to take the plunge. There’s no longer any reason to use tables for layout, nor is there reason to maintain multiple versions of a site solely for different desktop browsers. Throw the tables out first. Trust me, they’re not needed anymore.

Why are tables a bad idea?

Below you will find my personal TOP 9 reasons why tables should be avoided:

* Tables are usually more bytes of code.
(Longer to download and more traffic for the host)

* Tables are slower to layout for the browser.
(It may take longer for the user to see anything on the page)

* Tables may require you to chop single, logical images into multiple ones.
(This increases page load time, in addition to making page redesigns a huge headache.)

* Tables break text-copying on some browsers.
(This is annoying to the user)

* Once you know CSS, Table-based sites usually take more time to implement.
I learned from recent experience that learning CSS pays off heavily in the end)

* Tables are semantically incorrect markup for layout.
(They are describing the presentation, not the content)

* Tables can make browsing difficult for those using screen-readers.
(In addition to the benefits of CSS, you are also helping out the blind. This is a good thing)

* In most cases Tables can cause validation failure and browser incompatibility.
(The page may display differently depending on what browser software you are using)

* Tables lock you into the current design and make re-designs more difficult than semantic HTML+CSS.
(Have you seen CSS Zen Garden?)

When Tables can be good…

Tables are 100% acceptable, correct and appropriate for use with tabular data.

The <table> tag is **not** evil. Despite what some people think and say, the point of CSS is not to never use it. If you cannot decide whether or not a table is the right choice, ask yourself these questions:

* “Do the rows or columns of information share a common attribute?”
* “If I change the order of the rows or columns would it still make sense?”
* “If I transposed the axes of the table (made rows into columns and vice-versa) would it still make sense”? The answer to the above is generally “No”, then you shouldn’t be using a table.

Also see Reasons to Validate by Josh Walsh for more information relating to CSS and clean design.