This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Adding headers attributes to CALS tables for accessibility
- From: "Robert D Anderson" <robander at us dot ibm dot com>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Thu, 22 Aug 2002 09:00:54 -0500
- Subject: RE: [xsl] Adding headers attributes to CALS tables for accessibility
- Reply-to: xsl-list at lists dot mulberrytech dot com
> Could you explain why you need to know 'for any given entry what column
> that entry is in'?
Here's a crude ASCII version of my original sample table. Assume that the
letters are a header row, and the numbers are content. In order to make the
table accessible, I need to give an ID to every heading cell using
generate-id. In every numbered cell, I need to add a "headers" attribute
that matches the proper header. So for cell "b", I will add id="bbb". When
I am in cell #4, I need to know that I am in the second column, so that I
can add headers="bbb". Technically, I suppose it does not matter what
number the column is, as long as I know which header it is under.
This gets a lot more fun when the left hand column also contains headers;
in that case, the "headers" attribute on cell #4 will need to point to b,
1, and 6. Similarly, cell #5 would need to point to c and 1. Once these
attributes are added, a screen reader that is processing the table can tell
the listener which row/column it is reading from any point in the table.
+--------------------------+
| a | b | c |
|--------------------------|
| 1 | 2 | 3 |
| +-------------------|
| | 4 | 5 |
|------+ +----------+
| 6 | | 8 |
+--------------------------+
thanks....
Robert
"Andrew Welch"
<awelch@piper-group.com> To: <xsl-list@lists.mulberrytech.com>
Sent by: cc:
owner-xsl-list@lists.mulbe Subject: RE: [xsl] Adding headers attributes to CALS tables for accessibility
rrytech.com
08/22/2002 03:45 AM
Please respond to xsl-list
> Here is a small complex table that uses the CALS model. So far, my
> solutions that can determine the column for the middle cell
> and the bottom
> left cell all fail when used with more complex tables (many
> columns wide,
> with many spanned rows). It also gets more complex when the
> left column
> contains header information, and @headers must reference both
> the top cell
> and the left-hand cell.
> <table>
> <tgroup cols="3">
> <thead>
> <row>
> <entry>id=a</entry>
> <entry>id=b</entry>
> <entry>id=c</entry>
> </row>
> </thead>
> <tbody>
> <row>
> <entry morerows="1">headers=a</entry>
> <entry>headers=b</entry>
> <entry>headers=c</entry>
> </row>
> <row>
> <entry morerows="1">headers=b</entry>
> <entry>headers=c</entry>
> </row>
> <row>
> <entry>headers=a</entry>
> <entry>headers=c</entry>
> </row>
> </tbody>
> </tgroup>
> </table>
>
> This is the desired XHTML output (the actual @id and matching @headers
> would be created with generate-id; I've only placed them into
> the content
> so it can be viewed in a browser):
> <table>
> <thead>
> <tr>
> <th id="a">id=a</th>
> <th id="b">id=b</th>
> <th id="c">id=c</th>
> </tr>
> </thead>
> <tbody>
> <tr>
> <td headers="a" rowspan="2">headers=a</td>
> <td headers="b">headers=b</td>
> <td headers="c">headers=c</td>
> </tr>
> <tr>
> <td headers="b" rowspan="2">headers=b</td>
> <td headers="c">headers=c</td>
> </tr>
> <tr>
> <td headers="a">headers=a</td>
> <td headers="c">headers=c</td>
> </tr>
> </tbody>
> </table>
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list