Why are table based sites bad for screen reader users?

accessibility, css, screen-readers, xhtml

Solution

Screen readers assume the content inside a `table` is tabular, and reads it as such. E.g. "row 1, column 1: (contents)". If you use tables to lay out your site, this won't necessarily make any sense. You are telling the end-client you have data with tabular significance, when you actually don't.

By contrast, `div` have no meaning other than "section", so screen readers make no attempt to signify them. You can use divs to make arbitrary visual breaks in your layout without impacting the meaning of the markup.

This is what we mean when we say "semantic" markup. Semantic means the markup accurately describes the meaning of the content inside of it - tables wrap tabular data, `UL`s wrap unordered lists, etc.

Problem

How much easier is it for screen readers to handle `<div>` based websites as opposed to older `<table>` based websites, and why are they worse?

Original source