W3C home > Mailing lists > Public > w3c-wai-ig@w3.org > April to June 2003

Re: accessible forms in table format

From: David Woolley <david@djwhome.demon.co.uk>
Date: Thu, 24 Apr 2003 21:59:51 +0100 (BST)
Message-Id: <200304242059.h3OKxq104374@djwhome.demon.co.uk>
To: w3c-wai-ig@w3.org

> http://dponline.org/tableform.htm
> 
> In this case the developer wrapped the table within a form.  The "label
* for" attributes surround the table cell tags.  When I try to read it

This doesn't make sense.  Attributes are a sub-part of a tag, and only
elements can be surrounded.  Looking at the page, you seem to have a
fundamental misunderstanding of how label elements work and the syntax
rules for HTML.

The value of the "for" attribute should appear as the "id" attribute
of the form control to which it applies.  id attributes cannot contain
spaces.  The actual label text must be the contents of the label element,
and will, normally, be displayed.  The label elements can contain the
form controls, in which case, conforming browsers don't need the for
and id attributes, but IE 5.5 is non-conforming.  tr elements cannot
contain anything except td or th elements, so cannot directly contain
label elements.

In this case, the label elements should contain the text in the left hand
column and should reference the id on the corresponding check box.

Also noted, as the result of using Lynx, you have a doubly broken 
<meta http-equiv="refresh"... element.  These are actually a proprietory 
Netscape feature, and Netscape's specification requires the use of an 
absolute URL.  Also the URL itself should not be quoted, only the
complete right hand side of the virtual HTTP header.

* with JAWS it reads it as if it is a table, (table specific keys work),
* but I am not sure the radio buttons are being checked or not.  I have
* not tried it with any other screen reader.

Surely there is an example in the HTML 4.01 Reccommendation document.

Off the top of my head, the structure you want is something like:

<table>
....
<tr><th><label for="cb1">Check Box 1 Label</th>
<td><input type="checkbox" id="cb1" name=.....></td></tr>
....
</table>
Although it won't find the errors in the meta elements, you would be
strongly advised to run this page through an HTML syntax checker,
e.g http://validator.w3.org, and fix the errors it finds.

[ one line paragraph fixed. ]
Received on Thursday, 24 April 2003 17:45:03 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 19 July 2011 18:14:09 GMT