W3C home > Mailing lists > Public > w3c-wai-gl@w3.org > January to March 2004

Re: TFOOT accessibility

From: Sailesh Panchang <sailesh.panchang@deque.com>
Date: Fri, 13 Feb 2004 15:13:01 -0500
Message-ID: <00d601c3f26d$c85f6d40$a201a8c0@deque.local>
To: "WCAG List" <w3c-wai-gl@w3.org>
Kerstin,
The HTML specs say that tfoot needs tr and td.  Scope can be used in simple tables and is mainly meant for use on td. WinEyes does not support scope.
Tfoot is optional. Your example and mine  I believe are coded correctly. So if your application is generating code along these lines I guess the code is correct. The Oracle eval tool needs to be fixed. Unless the table is a simple and regular table in which cells are associated with headers above or on left of data cells, the only method of robust association for auditory interface is by using headers and id.
Sailesh Panchang
Senior Accessibility Engineer 
Deque Systems,11180  Sunrise Valley Drive, 
4th Floor, Reston VA 20191
Tel: 703-225-0380 Extension 105 
E-mail: sailesh.panchang@deque.com
Fax: 703-225-0387
* Look up <http://www.deque.com> *



  ----- Original Message ----- 
  From: Kerstin Goldsmith 
  To: Sailesh Panchang 
  Cc: John M Slatin ; WCAG List ; Kipnes,Ken 
  Sent: Friday, February 13, 2004 1:51 PM
  Subject: Re: TFOOT accessibility


  Hi, Sailesh,

  Thanks for a very thorough reply.  I guess the question that still remains is "do TFOOTs require association markup; and if so, is there some simple way to attribute SCOPE to them, without having to add all the ids and headers?"

  John, the tool we are using is our own internal concoction (Oracle Accessibility Checker), and it currently identifies the TFOOTs as being in a data table and lacking some kind of associative markup.  So, we are not only trying to figure out what the accessible HTML would look like for such a table, but also trying to incorporate that into our tool.

  Thanks,
  -Kerstin

  Sailesh Panchang wrote:

    John,
    Tfoot is optional and in that example as well as in the  current one,  it has been correctly used. So what violation did you expect  the eval tool to identify?
    Please see attached file. It has a 
    complex table   from HTML techniques page. I have  added headers and id to this table and it also has a footers section. I have added id to the footers section and referenced them in cells in tbody section. They work fine.
    WinEyes 4.5: does the best job and announces table section  too as one navigates into it. Reads headers correctly. WinEyes reads all header values  for a cell.
    HPR 3.02:  Does not announce table sections but reads headers correctly. Only reads header values as  row/column changes. But messes up reading headers for last line of footers.
    JAWS 5.812: Does not announce table sections. If one reads table in linear fashion (without table keys) it reads footers at end. With table nav keys, it reads footers once before body and then at end. Does headers association correctly for cells in body section. But for first row of footers, it reads column headings at top of table. Only reads header values as  row/column changes which is ok.
    If one uses headers and id, one must indicate all relevant header cells. HPR and WE do not read column headings that are not in the headers value which one expects them to read normally as one navigates sideways.  But JAWS reads them. For instance if header value does not include   id for meals / hotel/ transport, they are still read. e.g. first line of footers.
    Will be useful if JFW and HPR announce change in table section.
    Code follows
    Sailesh Panchang
    Senior Accessibility Engineer 
    Deque Systems,11180  Sunrise Valley Drive, 
    4th Floor, Reston VA 20191
    Tel: 703-225-0380 Extension 105 
    E-mail: sailesh.panchang@deque.com
    Fax: 703-225-0387
    * Look up <http://www.deque.com> *


     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML lang="EN">
    <HEAD><TITLE>Table with TFOOT demonstrating use of color used to highlight some cells in accessible manner</TITLE>
    </HEAD>
    <h2>Table #2 </h2>
    <p>
    </p>
    <table border="1"
    summary="this table summarizes travel expenses incurred during August trips to San Jose and Seattle. The expenses are recorded for each day of visit in
    rows below the two places. Some cells are shaded grey or yellow; key to colors is at the bottomm of the table.">
    <caption>
    Table 1: Complex table- Travel Expense Report </caption>
    <thead>
    <tr>
    <th></th>
    <th id="c2">Meals</th>
    <th id="c3" >Hotels</th>
    <th id="c4" >Transport</th>
    <th id="c5">Total</th>
    </tr>
    </thead>
    <tfoot>
    <tr>
    <th id="r11">Key to color shading:</th>
    <th colspan="2" bgcolor="grey" id="grey" headers="r11">Grey</th>
    <th colspan="2" bgcolor="yellow" id="yellow" headers="r11">Yellow</th>
    </tr>
    <tr id="r12"><th>What it means</th>
    <td colspan="2" id="clr1" headers="grey r12">Pre-approved</td>
    <td colspan="2" id="clr2" headers="yellow r12">Approved post-visit</td>
    </tr>
    </tfoot>

    <tbody>
    <tr>
    <th id="r2" >San Jose</th>
    <th></th>
    <th></th>
    <th></th>
    <td></td>
    </tr>
    <tr>

    <th id="r3" headers="r2" >25-Aug-97</th>

    <td headers="r2 r3 c2 clr1" bgcolor="grey">37.74</td>

    <td headers="r2 r3 c3">112.00</td>

    <td headers="r2 r3 c4">45.00</td>

    <td></td>

    </tr>

    <tr>
    <th id="r4"headers="r2" >26-Aug-97</th>
    <td headers="r2 r4 c2">27.28</td>
    <td headers="r2 r4 c3">112.00</td>
    <td headers="r2 r4 c4 clr1"bgcolor="grey" >45.00</td>
    <td></td>
    </tr>
    <tr>
    <th id="r5" headers="r2" >Subtotals</th>
    <td headers="r2 r5 c2" >65.02</td>
    <td headers="r2 r5 c3" >224.00</td>
    <td headers="r2 r5 c4" >90.00</td>
    <td headers="r2 r5" >379.02</td>
    </tr>
    <tr>
    <th id="r6" >Seattle</th>
    <th></th>
    <th></th>
    <th></th>
    <td></td>
    </tr>
    <tr>
    <th id="r7" headers="r6" >27-Aug-97</th>
    <td headers="r6 r7 c2 clr2" bgcolor="yellow" >96.25</td>
    <td headers="r6 r7 c3">109.00</td>
    <td headers="r6 r7 c4">36.00</td>
    <td></td>
    </tr>
    <tr>
    <th id="r8" headers="r6" >28-Aug-97</th>
    <td headers="r6 r8 c2">35.00</td>
    <td headers="r6 r8 c3">109.00</td>
    <td headers="r6 r8 c4">36.00</td>
    <td></td>
    </tr>
    <tr>
    <th id="r9" headers="r6" >subtotals</th>
    <td headers="r6 r9 c2" >131.25</td>
    <td headers="r6 r9 c3">218.00</td>
    <td headers="r6 r9 c4">72.00</td>
    <td headers="r6 r9">421.25</td>
    </tr>
    <tr>
    <th>Totals for 4-days' trip</th>
    <td headers="c2">196.27</td>
    <td headers="c3">442.00</td>
    <td headers="c4">162.00</td>
    <td headers="c5">800.27</td>
    </tr>
    </tbody>
    </table>

    </BODY></HTML>




----------------------------------------------------------------------------


    Table #2 

      Table 1: Complex table- Travel Expense Report  
         Meals Hotels Transport Total 
          Key to color shading: Grey Yellow 
          What it means Pre-approved Approved post-visit 
          San Jose 
         
         
         
         
          25-Aug-97 37.74 112.00 45.00 
         
          26-Aug-97 27.28 112.00 45.00 
         
          Subtotals 65.02 224.00 90.00 379.02 
          Seattle 
         
         
         
         
          27-Aug-97 96.25 109.00 36.00 
         
          28-Aug-97 35.00 109.00 36.00 
         
          subtotals 131.25 218.00 72.00 421.25 
          Totals for 4-days' trip 196.27 442.00 162.00 800.27 
Received on Friday, 13 February 2004 15:03:00 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 5 February 2014 07:17:55 UTC