Techniques for writing summaries for data-tables

The HTML specifications state: "Authors should provide a summary of a table's content and structure so that people using non-visual user agents may better understand it. ... CAPTION element provides a short description of the table's purpose. A longer description may also be provided (via the summary attribute) for the benefit of people using speech or Braille-based user agents.". It goes on to add:

Visual user agents allow sighted people to quickly grasp the structure of the table from the headings as well as the caption. A consequence of this is that captions will often be inadequate as a summary of the purpose and structure of the table from the perspective of people relying on non-visual user agents. Authors should therefore take care to provide additional information summarizing the purpose and structure of the table using the summary attribute of the TABLE element. This is especially important for tables without captions.

Discussion

The above suggests that the summary should serve two purposes for the benefit of non visual user agents rendering speech or Braille. Note the value of the summary attribute is not visible in the browser.

In reality many user groups- not just vision impaired users, would be interested in a summary or highlights of the content in a data table. So putting this in the summary attribute is probably not the best option. Often the major highlights from a table are summarized in the main body of the document which references the data-table. This information is available to all users. Other options of allowing the author to describe the table contents without including it in the main document need to be explored.

Therefore, in my opinion, the main purpose of the summary attribute is to describe the layout or structure of the table. By adjusting the verbosity settings of some screen readers / self voicing browsers, it is possible to have the adaptive software announce the dimension of the table and attributes of a cell like column and row spanning and header association. But it takes a long time to run through a table to determine its structure and relationships between header cells and data cells. A simple table does not pose a problem if it is correctly marked up but layered and irregular tables do.

A screen reader user can just arrow past a summary and continue to the table when he has understood itsstructure. He does not need to read it every time he goes to the table. WindowEyes for instance allows one to turn summary announcement on and off. Home Page Reader announces the summary only when the user requests its reading by using a particular keypress.

Tips for writing table summaries

The table summary should

  1. point out which column(s) or row(s) span how many columns or rows by using terms like: "is a common header for columns or rows" or "hassub-columns" or the like.
  2. not merely refer to the column# or row# that uses spanning but describe the columns, like: "Column #3 labeled Branch Locations states three sites in sub-columns under it"
  3. pointt out rows that are used for groupheaders and footers or at least mention that they exist. Sometimes there is no data against a row that contains a group header and this can be stated. Likewise, indicate the columns that contain sub-totals or totals or key data like averages, etc.

Examples

Example 1. Summary for Traffic cop table(layered) at

http://www.eramp.com/david/traffic_cop_prototype_staticc_no_rows.htm

summary="Every guideline listed in column 1 has multiple success criteria against it in column #2. Column #3 lists techniques against every criteria. It might help to exit table navigation mode to review the contents in column #3 in detail."

Admittedly, not all content authors might be able to include tips like the last sentence in the above example. Someone who is familiar with screen reading technology might be able to do so.

Example 2: from a irregular table from a site that offers prices from multiple airlines

Summary="Each set of rows contains one itinerary. The first cell has the price and a link to select that itinerary. Subsequent cells in the first row of the pair describe the outbound flight; the second row describes the return flight. One-way itineraries will only contain a single row. Multi-destination itineraries will include a row for each flight."

Example 3. For an irregular table: Travel Expenses Report under 11.4.2at

http://www.w3.org/TR/html401/struct/tables.html#adef-axis

Proposed caption=Summary of travel expenses for August trips to Seattle and San Jose

Proposed summary="Three heads of expenses: meals, hotel and transport are in columns 2 to 4. The first column contains the cities visited and dates of visit. The total expenses incurred in a city is in a row following the dates of visit to the city. The last (fifth) column contains the total expenses for every city. The total travel expenses are in the last row of the table."

Example 4:Layered Table using rowspan

Zoning of counties and commencement dates of repair work
Zone County Commencement date
Green Allegheney June 2, 2004
Somerset June 7, 2004
Yellow Washington May 25, 2004
Wellington June 17, 2004
Laurel May 20, 2004

Example 5: Simple table that uses a list in the fourth column at

http://www.webaim.org/coordination/articles/assessmentdata

The table has the following caption and a summary: table Caption: Pilot data for accessible online testing
Summary: This table contains various online tests and how they rated against accessibility standards set forth in Section 508.

This is a simple table and the summary which describes the purpose of the table might be adequate.

This document was written by Sailesh Panchang, Senior Accessibility Engineer, Deque Systems
June 24, 2004