- From: Sailesh Panchang <sailesh.panchang@deque.com>
- Date: Tue, 1 Jun 2004 10:23:52 -0400
- To: "WAI GL (E-mail)" <w3c-wai-gl@w3.org>
- Message-ID: <01d801c447e4$10abb2e0$a401a8c0@deque.local>
Hello All, This is with reference to the definition of complex tables and use of summary attribute. What might go into a summary is also demonstrated. As a user of AT, I regard tables with multiple header rows and / or columns as a complex table. I'll illustrate this in a moment. Of course tables in which header (or data) cells need to be associated to data cells that are not exactly below them or exactly to their right (in a l-r system) are complex. If the purpose is to say complex tables need summaries, I'll add a few more types to the above: - a table (otherwise characterized as simple) which has rows for control breaks. eg. First column is labeled Month and cells below it contain Jan, Feb, etc. But every fourth cell does not contain a month but a description like: Total for Q1, Total for Q2. In this case the summary attribute should be used to explain presence of row with quarterly totals to a screen reader user . - Another case is also a simple table with no column headings at all! Consider: Caption: Train timings from New York to Washington DC (Following are cell contents separated by a comma) Train #1 Departs 5 am, Arrives 8 am Train # 2, Departs 5.30 am, Arrives 8.45 am Train # 3, Departs 6 am, arrives 8.55 am and so forth. In this table a summary should be used to tell the screen reader user to navigate the data table withverbosity setting to read only row headers. - Yet another case is David's example of traffic cop: a table in which the third column cells contains data in a list structure. There can be multiple links in a cell as in this case. It makes sense to navigate this table as a data table but when one gets to the third column, one must simply exit table nav mode and use arrow keys to read each list item or link separately. In table navigation mode the content of third columns are read as a chunk which can be overwhelming and not very useful. A summary should aid navigation by explaining this to the user. For simple tables with one row and one column of headers summary is really not necessary. Complexxity caused by col span and row span: four examples follow. Note: in examples below, R1C1 means row 1 col 1, and so forth. I have not used HTML code and hope the manner of presentation used below is effective. Example 1: Table with col span in first row: First row of headers: R1C1, R1C2 col span= 2, R1C3 colspan =3 Second row of headers: R2C1, R2C2, R2C3, R2C4, R2C5, R2C6 Then there are data rows with six cells. Example 2: Same as example 1 above but second row of headers appears first and is followed by the first row with three cells, two of which use col span as above. Example 3: Same as example 1 but also introduces rowspan from row# 3 onwards in data rows in first column Example 4: First and last columns use rowspan starting with row# 3 which are data rows First row of headers: R1C1, R1C2 col span= 2, R1C3 colspan =3, R1C4 Second row of headers: R2C1, R2C2, R2C3, R2C4, R2C5, R2C6, R2C7=empty Third row (data row): R3C1 rowspan=2, R3C2, R3C3, R3C4, R3C5, R3C6, R3C7 rowspan=3 Fourth row (data row): R4C2, R4C3, R4C4, R4C5, R4C6 Fifth row (data row): R5C1, R5C2, R5C3, R5C4, R5C5, R5C6 ... and so forth where row span in first and last columns are not synchronized. And there are even more complex designs. Screen readers are generally programmed to read column / row headers when they change. So unless a user scours the table layout and understands the structure and the spanning which can be very very daunting in situations like example 3 and 4 above, it is difficult to understand the contents. Expecting a screen reader user to understan a table that uses only th and scope can be an accessibility nightmare. Such tables need headers and id. I admit screen readers can do a better job like announcing span, repeating header for spanned cells and interpreting scope better. But this will not obviate the need for a summary or cause such a table to be characterized as simple fromm the user's as well as the developer's perspective. The summary should explain the layout and how rows and columns are spanned. For instance, a summary for example 4 should explain that R1C2 has two sub columns R2C2 and R2C3, etc. The first column contains row headers that apply to multiple rows. The last columns has remarks that apply to more than one row. Armed with this info one can navigate effectively as well as efficiently and not devote a whole lot of time to figuring out the layout. 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> *
Received on Tuesday, 1 June 2004 10:11:16 UTC