The problem with tables

TABLE is probably the most misused element in the HTML spec.

Using tables to provide columns (for examples see Microsoft, W3C, News 
services, or most other people who have spent a bit of money on web 
design) causes significant problems for screen readers.

(The following is an attempt to demonstrate what happens. To mimic a 
screen reader, read as though it were ordinary text, left to right all 
the way across the page)

(Start example)
              For Lynx Users there is For users of screen readers the
home page     no real problem, since  problem is that they cannot tell
              it ignores table tags,  where there is a column. Instead
Search this   effectively, but quite  the reader just reads the lines
Website       crudely. Unfortunately  all the way across the screen.
              not all people can use  This makes it so difficult to
Look at me    Lynx, for any number of understand what is being read.
              good reasons.
<end example)

If you read that example all the way across, it sounds like a lot of 
nonsense. It is in fact two well formed paragraphs, and some short labels 
on the side. Many Screen readers do exactly the same with text in columns.

The amount of effort required to put text in columns (or images with 
appropriate ALT text) compared with a simpler more comprehensible layout 
does not seem to justify erecting this particular accessibility barrier. 
Add this to the fact that it is a blatant violation of the principles 
explained in the HTML specification, that form and content ought to be 
seperate.

A proper use of TABLE is to present tabulated data, rather than relying 
on PRE to do it. This means that it is possible to linearise the table, 
and reformat the data without losing the meta-information provided by the 
table structure. (It still causes problems for screen readers, but at 
least there is something to say in its favour)

An improper use of tables, but one which, so far as I know has very 
limited accessibility problems, would be to format material in such a way 
that in each of two columns images were alternated with text. Then only 
the ALT text of the image could give rise to a misunderstanding, a 
situation which could be handled by an intelligent author.

A really stupid use of tables can be found  on most commercial websites, 
where they are used to cram so much information into the visible window 
of a graphics browser that the site becomes very difficult to understand 
for sighted people who have a high-quality connection and a good monitor.

While CSS is not implemented, using it to control presentation does not 
cause major problems. Perhaps when it is implemented, and users have the 
ability to over-ride a style sheet provided by an author which does not 
suit their particular needs, the problem for screen readers will have 
been effectively solved. Otherwise, the whole text in columns debate will 
rise again. But there are two ways around it.

The first is to make use of frames. It is perfectly possible to produce a 
site which is based on the use of frames, and which is accessible. It's 
just that I am unaware of any such site currently in operation. (But then 
most websites are inaccessible - it's not peculiar to frames.) It does 
take a small amount of extra work, but bad design is generally not harder 
than good design, it just requires thinking along different principles.

The second way is to ensure that there is a non-columnar version of 
everything in columns, and that it is clear from the start of the 
columnar data where to find it. This can take a considerable amount of work.

The alternative is to abandon the wholesale misuse of tables. My Doctor 
tells me not to smoke or live on a diet of beer, fish and chips and 
steak. My mechanic tells me not to drive my car as fast as it goes all 
the time. My accountant tells me not to spend all my money on beer, fish 
and chips, steak and car repairs.

As experts in their field, I listen to their advice. Otherwise I'd save 
myself the money. If a doctor told me beer, tobacco and fat were going to 
make me healthy, I would walk away very quickly. Why then, as experts 
ourselves, are we so scared to tell people what we know?

Isn't the American government suing tobacco companies for withholding 
information? Apart from the fact that our product doesn't kill many 
people, what makes us better than those companies?

Ignorance could be used as an excuse, but the reason for fora like this 
is to end our ignorance by sharing our knowledge. And to encourage others 
to do the same.

(end rant. must be friday afternoon)

Charles McCN
just my 2c worth

Received on Friday, 24 July 1998 03:14:06 UTC