Don’t Use Tables for Layout

  • HTML tables are meant to be used for data and other tabular information. Avoid using them to create columns and other sorts of layouts.

    If you have been working with the Web for more than ten years, this best practice may surprise you. In the early days of the Web, we used tables to create columns and other sorts of layouts, mostly because there was no other way to do it.

    But using tables this way caused a lot of problems.

    • They are difficult to edit and maintain, especially when one table is nested inside of another.

    • They make it more difficult to re-template (or change the look of) content in the future.

    • They can present major accessibility problems, because screen readers will read the content of the table cells in the order they appear in the page source—not necessarily the order that would be logical for a sighted reader.

    If you do need to create a more varied layout, take a look at our page elements. The Web Team can also help you create columns if you need them.