WebAIM - Web Accessibility In Mind

E-mail List Archives

RE: Table Column Headings

for

From: Terence de Giere
Date: Nov 5, 2003 8:54PM


Tim --

While there seem to be some techniques designers are evolving to hide
things visually while still being experienced in assistive technology,
the scenario you described for hiding table headers involves two tables,
that means there will be a table with just headers and no data, which is
absurd and one either without headers or supposedly hidden headers, and
in either case there will be a usability problem for accessibility as
there will a double set of headers which may show in some technology,
disassociated headers if the data table does not have headers with no
way to explicitly associate the headers from one table to the other.

Graphical browsers also scroll the page, and it seems the only reason to
make the table itself scrollable is it is too long to fit vertically on
the screen and the headers scroll out of sight. In HTML 4 there is also
the TFOOT element, where the headers could be placed at the end as well,
but the problem here is older non HTML compliant browsers would render
the TFOOT element right after the THEAD element, before the main TBODY
of the table, since it is always placed in the code there.

In a single table one could repeat the header row every so often,
although that is not an ideal solution, but would allow associating the
headers with the data that followed, and the table summary could inform
some non-visual users of the repeated headers. Long tables can be a
problem for non visual browsing. If there is no way around this, the
page would be classed as inaccessible, and then you can provide a link
to an alternate page with an accessible table, preferably before the
offending table construct.

Another alternative is to present the data in a series of smaller
tables, although that would break up the 'big picture' for visual
browsing on a large screen, but note that if such a table were printed
in a book on more than one page, the headers would also probably be
repeated on each page so the user would maintain the connection of
headers and data as he or she went page to page. One could take this
idea and create a series of shorter HTML pages with the data on
'previous' and 'next' linked pages, with headers on every page. The only
thing would be to find out from a usability point of view which method
worked best for normal users and disabled users. I am guessing that
repeating the headers after a number of data rows from time to time
would be the simplest solution, and the most accessible without an
alternative page, or multiple pages.

It is possible to make a scrollable table using the CSS2 position:fixed
property with overflow set to auto or scrollable on the TBODY element
with an HTML 4.01 table, but format is quirky and only approaches proper
rendition in the recent Mozilla browsers. IE doesn't support this
property; format blows apart if it is used. Opera overlaps the data on
top of the headers. Theoretically CSS2 positioning can do it, but only
Mozilla gets close. It does not seem anyone thought of this possibility
for a table, and I am not sure how positioning is defined if the
specific position or offset is not specified. But it is too quirky to
implement anyway.

If an accessible alternative version of the table is made, on the same
or another page, one could also use Flash or Java to make such a table,
for visual presentation, and although a degree of accessibility can be
achieved with these languages, an alternative version would still likely
be better, and necessary for technology that does not support them. With
these latter technologies there is also the shadow of the Eolas patent
battle figuring to alter the usability of the browsing landscape with
embeddable technologies, assuming the W3C's recent appeal to the US
Patent Office fails.

Terence de Giere
<EMAIL REMOVED> .



----
To subscribe, unsubscribe, suspend, or view list archives,
visit http://www.webaim.org/discussion/