Frames and Tables
This is a very old page – I wrote it years ago. Don’t use frames or tables to build your webpage. That’s it, no need to read any further
Frames and tables are recognized methods of positioning content on a webpage. If you use a halfway decent HTML editor you can build and edit frames and tables fairly easily. You will find that the coding tags are recognized by most browsers and the range of options should cover most eventualities.
Unfortunately, neither frames or tables are particularly usable and frames in particular have the same usability value as a chocolate fireguard.
Go to any major site and you will discover that very few, if any, use frames. The reason is that search engines, if they do eventually index the site, regard each frame as a separate page. This means that somebody using a search engine can often end up on a page without the associated navigation links. As an example, a webpage using three frames may look like this:
But the search engine results page delivers this page only:
Although the information may be useful, there is no way to get to any of the other pages on the site – you have built an orphan page.
Conclusion: Do not use frames – Cascading Style Sheets will do everything you want frames to do.
The logical structure of a table is to begin in the top left corner and read from left to right, one row at a time. This is perfect for tabular data and what they were designed to do.
But if you use tables to manage the structure of the page, then you can run into all sorts of problems later on when you want change the layout. You will also find yourself having to nest tables, split and merge cells and generally add all sorts of unnecessary code to make the whole thing work only to discover you lose half the page when you print it out. You can test this by putting a simple 760 pixel wide table on a webpage and printing it out – the righthand column gets chopped off. And that’s not good for the user.
Conclusion: Do not use tables – Cascading Style Sheets will do everything you want tables to do. For example, the illustrations above were generated using 5 lines of CSS – no graphics and no tables. Take a look at the source code to see the styles.
Update: tables are hopeless if you want your site to be responsive.