When it comes down to the basics, a table is data. It is a construct that shows relations between data in a fashion that is easy to grasp and understand. One look is enough and we know what is what and what it connects to:
| Flight Number: |
From: |
To: |
Departure: |
Arrival: |
| BA 3451 |
Heathrow |
Nuremberg |
19:20 |
19:50 |
| BA 1254 |
Luton |
Alicante |
19:40 |
20:50 |
| LH 331 |
Heathrow |
Hamburg |
20:00 |
20:20 |
This works swimmingly for anybody who has the table right in front of his nose and can see it. It is different though, when we cannot see the table.
Where tables fail and what we can do about it
Pick up the phone, and read out the above table to someone. You will find yourself repeating the above information over and over again. "Flight BA 3451 flies from Heathrow to Nuremberg at 19:20 and arrives at 19:50 and 1254 from Luton to Alicante at 19:40 and arrives at 20:50. You got that? OK. Flight LH 331 flies from Heathrow to Hamburg at 8pm and arrives at 8.20 local time."
For a short table like this, you can leave out some of the labels, but for long tables, you will end up with a lot to explain. For the person on the other side of the phoneline you can explain all that, web users who use text browsers or screen readers don't get that information. All they get is:
Flight Number: From: To: Departure: Arrival: BA 3451 Heathrow Nuremberg 19:20 19:50 BA 1254 Luton Alicante 19:40 20:50 LH 331 Heathrow Hamburg 20:00 20:20