Re: Re: Accessible HTML - OT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Nested tables are the absolute worst thing you can do! A screen reader is able to tab to a table and tab within a table but once you begin to have tables within tables, UGH! To quote accessibility guru Joe Clark; "With nested tables, a screen reader user ends up working from within a maze formed by one table within another". All you coders out there know how hard it is to code nested tables and how confusing it gets right? Imagine trying to reverse engineer this jumbled mess with nothing but audio to go on!

Matthew Weier O'Phinney wrote, On 10/05/05 01:59 AM:

* Mikey <frak@xxxxxxxxxxxxxx>:


I have just come back from the client visit and one of the issues that
arose was over the use of accessible markup, more specifically the use
of tables versus the use of layers.

Now, my long held belief was that div/layers were added to the spec so
that designers could separate presentation markup from content - that
is, use positioned layers for laying out content, use tables for
tables of data as they were originally intended.  However, my client
seemed adamant that it was the other way around and that the use of
tables was preferred owing to browser compatibility issues.

Now, I have just had a look around w3 and have found some inferences
that support my view but nothing that states clearly in either
direction. Does anyone on this list have a definitive answer for this
one?



You have it correct, theoretically, regarding accessibility. Tables
should be used for tabular data, divs for presentation and layout.


However, many people confuse accessibility with consistency; they want a
look-and-feel that works the same no matter what the browser. (Why they
feel this is accessibility is anybody's guess, but I've seen it a number
of times). In this latter arena, on a practical level, tables are
typically your best bet.

I've done a lot of tableless and table-based layouts, and the
unfortunate fact of the matter is it's a lot easier to create a layout
that is consistent cross-browser and cross-platform using tables. Until
IE supports the CSS2 'display: table-*' elements (which is the easiest
way of creating columns of the same height), this will continue to be
the case.

Now, this does not mean you should create a bunch of nested tables for
the layout. I find that a simple skeleton made of a table with a few
columns can create the basic page layout, and then I use as much CSS as
I can within (unordered lists for navigation menus, floats to position
image/caption pairs, etc.).  This combines some of the best of both
worlds, and creates a fairly accessible page at the same time.

As in all things, it's a matter of balance.




-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux