RE: [xsl] Adding headers attributes to CALS tables for accessibility

Subject: RE: [xsl] Adding headers attributes to CALS tables for accessibility
From: "Robert D Anderson" <robander@xxxxxxxxxx>
Date: Thu, 22 Aug 2002 09:00:54 -0500
> 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@xxxxxxxxxxxxxxx>          To:       <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>                                        
                      Sent by:                          cc:                                                                                
                      owner-xsl-list@xxxxxxxxxxx        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


Current Thread