Mechanism to Summarize a Table

This document is the deliverable for Issue Tracker ACTION 66, which is bound to ISSUE 32.

Issue

Vision impaired screen reader users listen to outputted information, without any visual cues, and HTML 5 currently lacks a programmatically-determined mechanism that gives an overview of complex tabular data or a brief explanation of that data. In HTML 4 this often much needed information is provided via the summary attribute.

HTML 5 lacks a specific explicitly associated, programmatic mechanism to provide a table with a summary. This feature is required in order to provide an overview of tabular data or a brief explanation of how to navigate a data table for Blind/Non-Visual Users who use assistive technology (AT). This is because an AT user needs to easily form a mental image of a table's contents in order to better understand its structure, or semantic relationships. The mechanism needs to be explicitly associated with the table or it becomes more difficult for AT to make that association. A summary mechanism may seem irrelevant or redundant to those with good eyesight because they have access to content relationships at a glance. However for users with visual impairments, additional semantics are often needed as a vital aid to comprehension. These useful semantics, such as those supplied by @summary, are often the difference between "seeing" or "not seeing" the table as a whole. A summary mechanism therefore provides a 'quick scan' feature for non-sighted users that requires no complex user interaction beyond giving the table element focus.

Summary Example

<table summary="This table presents traveling expenses. Rows contain destinations, traveling dates, and grand total. Columns contain expense category and total. The first column contains merged table cells.">
<!-- Remainder of table -->

A survey of existing web content showed that this attribute was rarely used, and, when it was, it was frequently misused, leading to the conclusion that it should be removed from HTML 5.

On the other hand, the attribute has been in HTML since HTML 4, there are sites that use it correctly, and the WAI community has provided advice in support of inclusion. Some proposed long term solutions have been offered for growth to better practice.

Latest Published Draft

The latest published draft does not incorporate a summary attribute or element. Instead it uses the caption element. It says:

"The caption element should be included for any table where the reader might have difficulty understanding the content or where the table's structure would not be obvious to the user of a screen reader. The element's contents should describe what the purpose of the table is, along with any information that could be useful for understanding and using the table."

Status

Open Issue not yet decided:

Actions

Table of Contents:

Use Cases

Blind/Non-Visual Users

A programmatically-determined summary mechanism serves a very specific and most critical use for blind and non-visual users. It provides an affordance equivalent to the visual user scanning a table for spatial structure, orientation, and relevance. A summary mechanism provides a reasonable accommodation. It enables a person with a visual disability to have an equal opportunity.

A textual summary enables this user group to get an overview of a table without seeing the relationships between the rows and columns implied by its spatial structure. It is an essential aid to comprehension for the visually impaired. It provides the AT user a way to easily form a mental image of a table's contents in order to better understand its structure, or semantic relationships. When a screen-reader user in JAWS navigates in table mode, he can hear the summary of each table in a document with one key press.

In the absence of a summary, the non-visual user must investigate the table carefully and fully, merely in order to ascertain whether or not it is the correct table, what information the table contains, if the information in the table is germane, how many rows by how many columns to expect, the flow of the table, etc. This is a very tedious and time consuming process.

Sighted Users

For the majority of sighted users a summary is not needed. For instance:

<table summary="Rows contain destinations, traveling dates, and grand total. Columns contain expense category and total. The first column contains merged table cells.">
<!-- Remainder of table -->

A sighted person can see how the rows and columns are laid out and where the cells merge by a quick scan or glance. They typically wouldn't need an explanation. Providing it visually would be extra verbiage that most authors/designers would be reluctant to include visually on a page because of redundancy.

However, a summary could be of use to a sighted user with cognitive disabilities or lower-literacy populations. It might also aid universal design.

Rationale: Why Summary Should Be Provided

  1. Tables are an inherently visual way to display information of a fairly high density: especially with the use of borders, background colors and text/font attributes, particular relations of the data in the table can be quickly gleaned from a cursory glance at the table. For tables which possess these aspects, a summary is crucial for users who cannot visually consume the table as a 2-dimensional grid.
  2. A disability constituency currently uses and depends on this feature. Anyone offering to remove it should be expected to demonstrate that the replacement works better and is in service.
  3. A sighted person can see how table rows and columns are laid out and where the cells merge by a quick scan or glance. They typically wouldn't need an explanation.
  4. Providing a summary visually would be extra verbiage that most authors/designers would be reluctant to include visually on a page because of redundancy.
  5. No set number of use cases proves a feature should be included or excluded from the spec. The W3C requires that technologies must be accessible. By definition, people with disabilities are a minority. Accessibility features address failure modes that are infrequent, but critical when they occur.
  6. The @summary technique may sometimes be used incorrectly but that is true of all markup. Failure by some to implement a standard is not in itself sufficient justification for getting rid of that standard.
  7. A summary provides a reasonable accommodation. It enables a person with a visual disability to have an equal opportunity. Not providing a summary mechanism excludes people solely on the basis of disability. Removing it would be discrimination.
  8. The @summary technique provides functionality today. If it is to be worked out of the system, it should not be an abrupt drop. Transition it out with something better in an orderly and graceful manner.
  9. Summary is to the visual construct table as "alt" is to the image element, and title and description are to SVG - necessary and required markup, so as to indicate to the non-visual user what is subconsciously absorbed by the majority of users, for whom it is merely a question of the ability to associate data with row and column headers.
  10. If something outside the <table> is used, something other than table@summary, then that information isn't explicitly associated with the table (and it becomes more difficult for AT to make that association). This would be a problem for the many users of older legacy AT.

  11. If something is intended to help non-sighted users comprehend a complex structure, it's unlikely to help anyone else. The fact it doesn't help anyone else doesn't detract from its usefulness.
  12. If something useful is misused, the solution would be to take steps to ensure it is used properly, rather than removing it completely.
  13. A combination of training and better tools can address poor authoring of the attributes value.
  14. Summaries are especially useful for non-visual users. A summary of the relationships among cells is especially important for tables with complex relationships and may also be helpful for simple data tables that contain many columns or rows of data.
  15. A summary makes it inexpressibly easier for someone processing a TABLE non-visually to get an over-view of a table, for what is a table, other than a visual means of displaying related data sets, and what the sighted user sees at a glance - the spatial relationships between cells, rows, and columns. In the absence of a summary, however, the aural user must investigate the table carefully and fully, merely in order to ascertain whether or not it is the correct table, what information the table contains, if the information in the table is germane, how many rows by how many columns to expect, the flow of the table, etc.
  16. The summary attribute is essential to a non-visual end user who is interpreting the visual canvas with an aural renderer. It is to the non-visual or low vision user -- who is often forced to use a small highly magnified view port -- what the gestalt view is to a sighted user capable of making the correct spatial associations: an instant familiarity with the layout and flow of the table, which is constantly reinforced by visually interacting with the table. Obviously, this type of overview is impossible for a speech or refreshable Braille display user to obtain without entering and inspecting every table, whether or not that table contains the information for which the user is seeking. Without a summary, every table will entail extensive, tedious work on the end user's part because she: 1) has no foreknowledge of the table's layout; 2) has no foreknowledge / is unaware of the relationships conveyed by the table, for table-ized data (as well as layout tables) have meaning only insofar as one can visually and cognitively correctly correlate column and/or row headers, even if not they are incorrectly marked up (for example, indicated by a font-weight change or color change only).

  17. @summary is very useful for inexperienced users of screen readers as it is announced as soon as the table has focus. The user therefore does not need to use complex keystrokes to interrogate the table in order to get an overview of whether it is useful or not.
  18. Sometimes for visual effect an author wants to keep a page simple for visual users and still provide a mechanism for other non-visual users to consume content. The @summary mechanism is a simple way of achieving this.
  19. Including @summary solves a real problem.
  20. Including @summary removes an obstacle to accessibility advocates promoting the use of HTML5. @summary will remain in use for accessible web pages until something better is available. Removal undercuts the HTML5 "use it now" story if what HTML5 authoring advice and the omnipresent accessible-authoring advice are in conflict. HTML5 doesn't need this bad press for a change from HTML4 that doesn't solve a real problem.
  21. A table summary is only content to the blind/nonvisual use case. To everyone else it is just fluff and not needed. If others want access they can use CSS.
  22. A table summary isn't of help other disability groups except the blind.
  23. The attribute has been in HTML since HTML 4, there are some sites that use it correctly, and the WAI community has recommended its continued inclusion until at least a better replacement is deployed and stable. "Evolution not revolution".

  24. @summary is implemented most well known authoring tools, such as Dreamweaver and Mozilla editors (SeaMonkey editor, Thunderbird, NVU). Lots of text editors with syntax coloring (VIM, TextMate, BBedit etc) will have to mark summary="" with a color that shows it as invalid - if they want to conform to HTML 5. Some of the users of those tools would complain if @summary was removed. Since the HTML5 specification currently tries it's utmost to satisfy backward compatibility with a wide range of junky web pages and vagaries of backward compatibility with old browsers, it would seem reasonable to ask that consideration also be given to users of existing authoring tools.

  25. The spec should allow for explicit associations of related pieces of content if this association aids in conveying context and content relationships to users, whenever implicit associations do not provide this functionality.
  26. Ian Hickson wrote: "I think it's clear that summary="" could solve the problem if used right." - February 24, 2009.

  27. Applicable Design Principles (Note: These 26 November 2007 principles are only a draft. They have not gained consensus)

    • Accessibility: "Design features to be accessible to users with disabilities. Access by everyone regardless of ability is essential. This does not mean that features should be omitted entirely if not all users can make full use of them, but alternate mechanisms should be provided. The image in an img may not be visible to blind users, but that is a reason to provide alternate text, not to leave out images."

    • Media Independence: "Features should, when possible, work across different platforms, devices, and media. This should not be taken to mean that a feature should be omitted just because some media or platforms can't support it. For example, interactive features should not be omitted merely because they can not be represented in a printed document."

    • Pave the cowpaths: "When a practice is already widespread among authors, consider adopting it rather than forbidding it or inventing something new."

    • Evolution Not Revolution: "Revolutions sometimes change the world to the better. Most often, however, it is better to evolve an existing design rather than throwing it away. This way, authors don't have to learn new models and content will live longer. Specifically, this means that one should prefer to design features so that old content can take advantage of new features without having to make unrelated changes. And implementations should be able to add new features to existing code, rather than having to develop whole separate modes."

    • Solve Real Problems: "Changes to the spec should solve actual real-world problems. Abstract architectures that don't address an existing need are less favored than pragmatic solutions to problems that web content faces today. And existing widespread problems should be solved, when possible."

    • Priority of Constituencies: "In case of conflict, consider users over authors over implementors over specifiers over theoretical purity."

    • Do not Reinvent the Wheel: "If there is already a widely used and implemented technology covering particular use cases, consider specifying that technology in preference to inventing something new for the same purpose. Sometimes, though, new use cases may call for a new approach instead of more extensions on an old approach."

Rationale: Why Summary Should Not Be Provided

  1. @summary was not solving a real problem. There is no browser savings from removing it. The browser still puts it in the DOM if it's there and AT takes advantage.
  2. If a table is complex enough to require a description to understand it, then that description should be available to everyone (not only screen reader users).
  3. Summary is explicitly invisible metadata and therefore is more likely to be missing or inaccurate than data that is visible to all UAs. It is too media-specific.
  4. @summary hurts users who don't have access to it, hiding information that they might find useful. A summary could be of use to a sighted user with cognitive disabilities or lower-literacy populations. Ian Hickson wrote: "It seems like it would fail to help users that don't get access to it (like users of visual browsers)." - February 24, 2009.

  5. @summary attribute fails to improve accessibility in practice, despite being promising in theory.
  6. In many cases pages already include text that summarizes the contents of a table to the extent needed to identify whether the table is of interest; in order to allow non-visual browsers to easily scan a page, provide a mechanism to associate this text with the table. Authors wishing to provide extra information hidden from visual UAs (e.g. because it describes the table in a level of detail not required by sighted users) could use CSS to explicitly hide that information.
  7. @summary is too difficult to author. PFWG charter injunction seeks technologies that are 'authorable' - conducive to getting good content within the defined markup, high usability and easy to author based on the formulation of content formats and service protocols.

  8. A survey of existing web content showed that this attribute was rarely used, and, when it was, it was frequently misused, leading to the conclusion that it should be removed from HTML 5.
  9. We should investigate any and all solutions that would help users (all users) understand the Web better.
  10. Applicable Design Principles (Note: These 26 November 2007 principles are only a draft. They have not gained consensus)

    • Accessibility: "Design features to be accessible to users with disabilities. Access by everyone regardless of ability is essential. This does not mean that features should be omitted entirely if not all users can make full use of them, but alternate mechanisms should be provided. The image in an img may not be visible to blind users, but that is a reason to provide alternate text, not to leave out images."

    • Media Independence: "Features should, when possible, work across different platforms, devices, and media. This should not be taken to mean that a feature should be omitted just because some media or platforms can't support it. For example, interactive features should not be omitted merely because they can not be represented in a printed document."

    • Pave the cowpaths: "When a practice is already widespread among authors, consider adopting it rather than forbidding it or inventing something new."

    • Evolution Not Revolution: "Revolutions sometimes change the world to the better. Most often, however, it is better to evolve an existing design rather than throwing it away. This way, authors don't have to learn new models and content will live longer. Specifically, this means that one should prefer to design features so that old content can take advantage of new features without having to make unrelated changes. And implementations should be able to add new features to existing code, rather than having to develop whole separate modes."

    • Solve Real Problems: "Changes to the spec should solve actual real-world problems. Abstract architectures that don't address an existing need are less favored than pragmatic solutions to problems that web content faces today. And existing widespread problems should be solved, when possible."

    • Priority of Constituencies: "In case of conflict, consider users over authors over implementors over specifiers over theoretical purity."

    • Do not Reinvent the Wheel: "If there is already a widely used and implemented technology covering particular use cases, consider specifying that technology in preference to inventing something new for the same purpose. Sometimes, though, new use cases may call for a new approach instead of more extensions on an old approach."

Advice Requests to PFWG

Advice From PFWG

August 6, 2008

Here is a summary of how PFWG sees the situation as regards @summary on <table> in HTML:

  1. @summary should stay
  2. It provides a needed service.
  3. Element content providing this info, *if linked by markup to the table* offers growth to even better practice.
  4. Don't have the linking markup yet; is a developmental item.
  5. Evolution not revolution says: keep @summary at least until alternatives are deployed and stable.

Source: RE: Request for PFWG WAI review of @summary for tabular data - Al Gilman, August 6, 2008.

June 4, 2009

The following consensus was reached by Protocols and Formats Working Group during its teleconference of Wednesday, 4 June 2009:

We request the table summary tag be restored in HTML 5 as per previous communications.

Rationale:

Source: PF Response: @Summary - Janina Sajka, June 3, 2009.

Steps to Implement PFWG Recommendations (Al Gilman, Nov 21, 2008)

  1. Restore @summary in HTML5.
  2. Add <summary> or equivalent in HTML5, meeting the programmatically-determined standard of WCAG (example: the proposed 'text in context' approach for providing text alternatives).

  3. Once WAI-ARIA is deployed, there is an interim solution for "summary in context" markup which uses @aria-describedby linking from <table> to an element containing the summary description.

  4. Once number 2 meets CR standard of two interoperable implementations, HTML5 authoring advice favors <summary> (or equivalent.) HTML5 document may mark @summary as "deprecated".

  5. Once number 2 meets "accessibility supported technology" standard of WCAG2, HTML5 may remove @summary (only then).


Proposed Solutions to Fulfill PFWG Recommendations

Short Term Solution

Reinstate @summary Now


Mid Term Solution

aria-descriebedby


Long Term Solution Possibilies

<summary> Element

Proposal by L. Carlson (based on Al Gilman's proposal)

Outcomes


<summary> proposal Variation


<details> as a child of <caption> or <figure><legend>


Summary Automatically Generated by User Agent

HTML 5 defines which headers apply to which cells, and obviously a user-agent knows which cells are merged, so possibly there could be an algorithmic way of generating descriptions of table structures for any (or at least a large proportion of) data tables. A user-agent could have a 'describe table structure' feature which is independent of an author providing a good (or indeed any) summary.

Outcomes


Related Ideas to Increase Accessibility

<tdesc> or <tdescription> or <desc>

Outcomes

<details> as Child of a <table>

Outcomes

Policies and Guidelines

References and Blog posts

*Comic Update: HTML5 Stubborness and Snogging By Kyle Weems

Research and User Testing

Raw Data

Sites "In the Wild" Which Use Summary

User Agent support including Browsers and Assistive Technology

GwMicro: Window Eyes

Freedom Scientific: JAWS

The Freedom Scientific website states:

"The most common type of table contains data, and is called a data table. JAWS announces when you enter and leave a table. A well-designed HTML table has several features. One of these is a caption, - Another design feature is the table summary. The table summary is not visible on the screen to sighted users. Web page designers can add summaries to the HTML code specifically for screen reader users. A good table summary provides a meaningful overview of the table, giving you some idea of what the table contains before you get there. Pay particular attention to the table summaries as you read through this page."

The following link is to test cases and summaries what browsers do today including many examples of how the @summary can be used to aid comprehension of data tables for non-sighted users..

Related E-mail Threads:

May 2007

June 2007

August 2007

September 2007

February 2008

March 2008

April 2008

June 2008

August 2008

December 2008

February 2009

March 2009

April 2009

May 2009

June 2009

July 2009

Search on Markmail for Related E-mail

HTML/SummaryForTABLE (last edited 2009-07-03 07:51:32 by LauraCarlson)