E-mail List Archives

Re: Examples of and justification for id/headers in complex tables


From: Moore, Michael
Date: May 24, 2007 8:10AM

Good morning,

I have been lurking on this thread for a while, and I think its time to
speak out.

Although many, if not most, complex tables can technically be defined
using the scope attribute alone, or together with colgroup screen reader
performance with these tables is spotty at best. When more than a
single row or column header must be assigned to a single data cell the
only reliable method is to assign ids to the header cells and then point
to them using the headers attribute within the data cells. This is
particularly true for older versions of assistive technologies of which
there are many "in the wild" due to the cost of the assistive technology
and the fact that the average income and unemployment rate for people
who require these assistive technologies is well below that of the
non-disabled community.

There are added advantages to the headers attribute. First, page
authors can specify the reading order of the headers within the data
cell to make the data more understandable. This is because when the
headers attribute is used the assistive technology will read the headers
in the order that they are listed within the attribute. The second
advantage is that if headers, scope, and caption were widely used "in
the wild" then it would be possible to write data mining bots and
crawlers that could search tabular data on the web and present it
interesting and creative ways.

The fact that a useful attribute is currently not commonly used "in the
wild" is no reason to drop it from the HTML 5 specification. Given the
number of tables without scope defined, the number of forms without
labels, and a host of other major and minor structural and accessibility
related errors that exist "in the wild", choosing which elements and
attributes to keep based upon frequency of proper use is a poor strategy
to employ when developing a new html specification.

The working group should concentrate on eliminating elements and
attributes that allow developers to define presentation and behavior
within the html as in xhtml. Elements and attributes that contribute to
more precisely defining the information presented within a web page
should retained, and possibly expanded. How about conversation and
speaker elements to mark up transcripts.


Mike Moore
Accessibility Specialist
Department of Assistive and Rehabilitative Services (DARS)

-----Original Message-----
[mailto: <EMAIL REMOVED> ] On Behalf Of Laura Carlson
Sent: Thursday, May 24, 2007 7:48 AM
Subject: Re: [WebAIM] Examples of and justification for id/headers in
complex tables

> However, please forgive me if I am mistaken, but I think that Laura is

> supporting using headers and id's instead of scope.

No, not instead of scope, just in addition to scope.

Headers"" currently is not in the HTML 5 spec. They are keeping the
scope="" attribute because they consider it adequate to describe all
data tables. The relevant part of the spec at:


(Side note: the HTML 5 spec keeps font, i, and b)

> In the examples given in the above link, it appears that scope may be
> easier to implement and to be used for accessibility.

Because scope is simpler, shorter and less error-prone than id/headers,
it would great if worked for complex tables and had better support. It
would be great also if all complex tables could be transformed into
simple tables. I agree, they are a big pain to mark up.