WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: Tables with a checkbox column


From: James Kennard
Date: Mar 29, 2010 8:09AM

Andrew thanks for the *very* comprehensive response :)

I will try all your suggestions. I wonder if anyone has a screen wide
enough to display -10000px... lol. And thanks for pointing out that the
location of the first column may not be as appropriate for users using
accessibility software, will have to look into this further.

thanks again!


-----Original Message-----
[mailto: <EMAIL REMOVED> ] On Behalf Of Simius Puer
Sent: 29 March 2010 13:25
To: WebAIM Discussion List
Subject: Re: [WebAIM] Tables with a checkbox column

Hi James

The empty cell is relatively easy to deal with - you can add some useful
text for screen-readers and hide it from sighted users using CSS
(obviously you need to use an accessible method of hiding text

As you quite rightly suggest, you also need explicitly associate the
input button with the most relevant table cell. See
http://www.usability.com.au/resources/forms.cfm#labelling for a nice
clear guide on this.

Also, you have the input field first which can cause confusion for
non-sighted users who are being asked to make a decision prior to being
given any information. Ideally this should be the last column in the
table in terms of the HTML - you can always move it back to the fist
position using CSS if you don't want to alter the layout visually.

A few additional pointers:

1. You could add a table "summary". This should cover the *content*
*structure* as concisely as possible. e.g. "A table of [whatever]
a single header row and a selection field in the first column". This
help screen-reader users.
2. You could use a table "caption". This is a good technique as it
displays the description of the table (content only - you would then
this bit from the "summary" to avoid duplication) to all users, not
those using screen-readers. This can help boost the comprehension of
page for a wider range of people.
3. Add scope="col" to your <th>s. If you ever need to use more
table then use id's & headers.