Change Proposal: Make the table summary attribute fully conforming in HTML5
Editor: Laura Carlson (firstname.lastname@example.org)
Date: February 21, 2010. (Last updated: September 25, 2010.)
The current editor's draft lacks a valid and conforming way to provide a non-visual, explicitly associated, programmatically determinable, table summary mechanism for users who cannot see the visual rendering of a table. HTML5 currently makes the summary attribute obsolete. It recommends against using the summary attribute.
This change proposal:
- Makes the summary attribute fully conforming and not obsolete.
- Requires user agents to make the summary attribute visible on demand with some type of a preference or switch in the user agent/browser.
- Replaces current spec text with suggested text.
- 1 Change Proposal: Make the table summary attribute fully conforming in HTML5
- 1.1 Summary
- 1.2 Rationale
- 1.2.1 The Purpose of the Summary Attribute
- 1.2.2 Providing an Accessibility Feature
- 1.2.3 Consideration of Visual Rendering of Summary Text
- 1.2.4 Providing an Option to Reveal Summary Content Via User Agent
- 1.2.5 Consideration for Development Tools Currently Implementing Summary Attribute
- 1.2.6 Consideration for Government Laws and WCAG Guidelines
- 1.3 Details
- 1.4 Impact
- 1.5 Conformance Classes Changes
- 1.6 Risks
- 1.7 References
- 1.8 Detailed Three Year History of the Issue
- 1.9 Related References
The Purpose of the Summary Attribute
The purpose of the summary attribute , is to provide a concise overview of the structure of a data table, something that is visually evident. 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.
Providing an Accessibility Feature
Access for people with disabilities is essential. Features should not be made obsolete if not all users can fully make use of them but rather alternative/equivalent mechanisms must be provided. Including the summary attribute in the specification as a valid option provides an equitable solution and reasonable accommodation as its use allows users of screen readers the opportunity to hear summary information for complex tables.
A textual summary enables Blind/Non-Visual Users 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.
Assistive technologies generally (depending on verbosity settings) announce the number of rows and columns in a table. AT attempts to be as helpful as possible, so tends to provide some information automatically. What it can't do is make sense of the structure; that requires an author and a mechanism to provide a concise summary.
A sighted person would rarely if ever find a table summary useful. The summary attribute is akin to the alt attribute for an image. A text alternative for an image is not rendered with the image. Text alternatives are there for people who cannot perceive the image. The same principle applies to the summary attribute. For example:
<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 -->
(Example based on Denis Boudreau's May 2007 Email)
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.
Consideration of Visual Rendering of Summary Text
The text in the current editor's draft does not provide a good way to supply information about the table that is only needed by users who are not looking at the visual rendering of the table. While this information could be provided in visible text, such as in a caption, it is highly doubtful that authors would generally provide it visually because it is redundant.
Moreover, making it visible by default would actively encourage people not to provide an overview of the structure. If a table summary was visually rendered by default with visible text, or a button that's revealed on focus, designers and marketers will not use it for it’s intended purpose. Designers and marketers will not want their visual designs changed/ruined; whether that's with visible text, or a button that's revealed on focus. A button would most probably be abused and used for other purposes. Many times tables need to be "aesthetically pleasing" to any stakeholders who may have issues with the table being explained in a way that is visible to all users.
Providing an Option to Reveal Summary Content Via User Agent
User agents providing an option to reveal the content of the summary attribute provides a practical method for developers who want a tool to check summary text and keep it up to date. It would also allow the summary attribute to keep it's purpose in aiding those with disabilities. User agents should be encouraged to make summary visible on demand (not by default) by providing a preference or switch in the browser or user agent . This is discussed in the user agent list Toggle Metadata visibility.
Consideration for Development Tools Currently Implementing Summary Attribute
The summary attribute is implemented in well known authoring tools, such as Dreamweaver. 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          .
Consideration for Government Laws and WCAG Guidelines
WCAG 2.0 guidelines has an established table summary technique .
Replace the Current Text:
"The attribute on table elements was suggested in earlier versions of the language as a technique for providing explanatory text for complex tables for users of screen readers. One of the techniques described above should be used instead."
With Suggested Text:
The summary attribute represents a prose summary of the table's structure, primarily for user agents rendering to non-visual media such as speech and Braille. The value is text.
The primary purpose of the summary attribute is to provide concise guidance to people with vision impairments on how to read a table, where the structure and reading order is visually evident, but not available to some assistive technology users. The summary attribute is not intended to provide a long description of a data table.
The summary attribute may be set on the table element if the data it contains is of sufficient complexity that users of non-visual user agents would benefit from a prose description of the table's structure. If the table contains data considered to only require a short description, use the caption element. Do not repeat the content of the caption element as content in the summary attribute.
The attribute may only be set on tables that contain tabular data. The attribute must not be set on tables used for layout purposes. The attribute should not be set to the empty string.
Any user agent may provide a mechanism to access the summary attribute content. If the mechanism provides the summary content as conditional content it must be input device independent.
The summary DOM attribute must reflect the summary content attribute.
<table summary="This table lists the 32 most significant floods of the 20th Century grouped into 6 types of floods: Regional, flash, ice-jam, storm-surge, dam-failure, and mudflow. The majority of the floods (20) are listed as Regional floods. There are between one and four floods in each of the other 5 categories."> <!-- Remainder of table -->
(Source: Significant Floods of the 20th Century)
- Provides users of screen readers an equal opportunity to hear concise table summary information for a complex table that is visually apparent to sighted users.
- Provides authors a mechanism for providing non-visual users summary information in a non-visual way.
- Removes the validator warning penalty for authors who are trying to optimize for accessibility.
- Provides authors the ability to expose the summary attribute via a preference or switch in browser for testing purposes.
- Provides others who want the ability to expose the summary attribute content a way to do so.
- Provides backwards compatibility for users of existing authoring tools like Dreamweaver.
- Provides consideration for Government Laws and WCAG Guidelines.
Conformance Classes Changes
- The summary attribute is made valid and conforming. Remove summary from the obsolete but conforming section, so that it does not trigger a validator warning, remove the warning referencing it earlier in the specification, and provide an example similar to the other examples, in the table section.
- User agents are required to make the summary attribute visible on demand with some type of a preference or switch in the browser.
- The purpose of the summary attribute by Gez Lemon 
- Toggle Metadata visibility email by Jim Allan 
- Dreamweaver 
- Tidy 
- Accessible Table Builder 
- Table Inspector - Mozilla/Firefox Extension 
- Complex Table Inspector 
- WAVE 
- Cynthia 
- achecker 
- RGAA - Accessibilité 
- H73: Using the summary attribute of the table element to give an overview of data tables Technique for WCAG 2.0 
Detailed Three Year History of the Issue
- Mechanism to Summarize a Table
- User Agent Accessibility Guidelines (UAAG) 2.0 Guideline 3.1 Provide access to alternative content
- Proposed approaches in defining the summary attribute
- Bug 7633 The use of @summary should be encouraged when circumstances warrant
- Bug 7539 Since @summary is an official part of the table element, it is no longer obsolete. Sufficient warning language exists in it's definition that this entry should be removed