Bug 13614 - Define <th abbr=""> as a way to provide a name for a row/column that is used when describing cells for which that cell is a header
Define <th abbr=""> as a way to provide a name for a row/column that is used ...
Status: RESOLVED FIXED
Product: HTML WG
Classification: Unclassified
Component: HTML5 spec
unspecified
All Windows NT
: P2 normal
: ---
Assigned To: Erika Doyle Navara
HTML WG Bugzilla archive list
: a11y, a11ytf, a11y_table_headers
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-08-03 16:45 UTC by James Nurthen
Modified: 2012-11-10 00:47 UTC (History)
16 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description James Nurthen 2011-08-03 16:45:19 UTC
The abbr attribute on TH and TD provides a useful technique for providing an abbreviated column/row header for assistive technology users. 

This technique is well supported by Screen readers.

An example use case is when additional controls are added into the table header, such as controls to allow sorting of the table column. For example

<TH abbr="Last Name">Last Name<a ...><img ... alt="sort ascending"></a><a ...><img ... alt="sort ascending"></a></TH>

When reading through the first row of the table a screen reader will read the links to enable sorting but when reading the body of the table and moving from column to column a screen reader user will not be bothered by the repetitive sort ascending and sort descending links.

This technique is frequently used.
Comment 1 Michael[tm] Smith 2011-08-04 05:01:42 UTC
mass-moved component to LC1
Comment 2 Leif Halvard Silli 2011-08-10 19:25:14 UTC
Additionally - as noted in HTML4 - the @abbr content could replace the "normal" content.  E.g. on small screens. This starts to become well supported - via CSS..
Comment 3 theimp 2011-11-29 13:24:00 UTC
Similar to Bug 14107, the non-conformance of the ABBR attribute for the TH and TD elements makes Web Content Accessibility Guidelines 1.0 compliance impossible (Checkpoint 5.6).

Checkpoint 5.5 and 5.6 are the only checkpoints in WCAG 1.0, that list only a single normative non-negative example, for HTML, of how to meet that checkpoint, with specific elements or attributes that are required, that are unambiguous, where that element or attribute is being made obsolete.

The exact text is:
For example, in HTML, use the "abbr" attribute on the TH element.

Maybe, as with @summary, keeping it is a "safe" option, which can be phased out in future spec. revisions if other alternatives become better supported (ARIA…)
Comment 4 Laura Carlson 2011-11-29 13:29:45 UTC
(In reply to comment #3)
> Maybe, as with @summary, keeping it is a "safe" option, which can be phased out
> in future spec.

Summary is completely obsolete in HTML5. Obsolete features must not be used by authors. 
http://www.w3.org/TR/2011/WD-html5-20110525/obsolete.html#non-conforming-features
Comment 5 theimp 2011-11-29 13:32:54 UTC
> Summary is completely obsolete in HTML5. Obsolete features must not be used by
authors.

Hence Bug 14107, and the formal objection to the resolution of Issue 32.
http://lists.w3.org/Archives/Public/public-html-a11y/2011Jul/0075.html
http://www.w3.org/html/wg/wiki/ChangeProposals/ReinstateTableSummary
Comment 6 Laura Carlson 2011-11-29 13:57:17 UTC
(In reply to comment #5)
> > Summary is completely obsolete in HTML5. Obsolete features must not be used by
> authors.
> 
> Hence Bug 14107, and the formal objection to the resolution of Issue 32.

Exactly. I hope it changes but as of this moment @summary is not "safe" it is obsolete.
Comment 7 theimp 2011-11-29 14:01:51 UTC
> as of this moment @summary is not "safe" it is obsolete.

Sorry, I meant that keeping it would be the safe choice, not that this was the currently the case for @summary.
Comment 8 James Nurthen 2011-12-01 18:49:04 UTC
Note that as well as implementations in Assistive Technology, the abbr attribute is also implemented in FF11 - see https://bugzilla.mozilla.org/show_bug.cgi?id=704754
Comment 9 Ian 'Hixie' Hickson 2011-12-02 19:07:57 UTC
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document:
   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Rejected
Change Description: no spec change
Rationale: abbr="" is unnecessary. Users quickly navigate through tables using their ATs and so it's not helpful for the UA to be omitting content.
Comment 10 Benjamin Hawkes-Lewis 2011-12-02 20:01:09 UTC
(In reply to comment #0)
> This technique is frequently used.

IIRC I used @abbr for that a few years ago for some data tables on Yahoo! Finance UK. The table headers included links to footnotes explaining the data. I used @abbr to exclude the anchor text when screenreaders repeated the names of the headers for a given cell. Unfortunately, that site has long since been redesigned.

Can we collect some examples of current, helpful usage?

IIRC the last time this was discussed collected examples suggested popular usage was to use @abbr to _expand_ abbreviated headers rather than contract them (in calendar widgets, e.g. <th abbr="Monday">M</th>.

If @abbr is helping users, I'm not sure its usage matches that suggested by HTML4.
Comment 11 James Nurthen 2011-12-07 17:33:52 UTC
abbr is necessary. All the extra redundant information which is placed into the TH cell such as sort controls is unnecessary, redundant and confusing when navigating around a table in table mode of a screen reader.
If you remove this please provide a replacement which provides the same functionality.

This technique already has good support in AT, now has support in future FF and is in common use in HTML based web applications. We use this technique in (amongst others) Oracle Fusion Applications, Oracle Enterprise Manager, Siebel Applications, Oracle E-Business Suite. You will find none of these pages when you search the google cache as they are typically deployed behind firewalls so any data you find on usage of abbr is misleading.
Comment 12 Ian 'Hixie' Hickson 2011-12-07 20:22:13 UTC
Ah, I misunderstood. You're not saying the abbr="" value is used when reading the cell, you're saying it's the value used when describing the headings for another cell for which this one is the header. Is that right?
Comment 13 James Nurthen 2011-12-07 21:10:33 UTC
(In reply to comment #12)
> Ah, I misunderstood. You're not saying the abbr="" value is used when reading
> the cell, you're saying it's the value used when describing the headings for
> another cell for which this one is the header. Is that right?

Exactly
Comment 14 Benjamin Hawkes-Lewis 2011-12-08 07:32:51 UTC
Example of using @abbr in this way in a public JQuery plugin:

https://groups.google.com/group/free-aria/browse_thread/thread/96156d857f35e10d/
Comment 15 Benjamin Hawkes-Lewis 2011-12-08 07:37:30 UTC
Wayback has screwed with the styles, but I have tracked down an example of my table markup for Yahoo! finance

http://web.archive.org/web/20080513154741/http://uk.biz.yahoo.com/16/sector.html

Example of using @abbr to exclude a footnote link when reading the cell as a header for other cells:

<th id="performance-hdr" colspan="5" abbr="Performance">Performance<a id="perf-note-ref" href="http://web.archive.org/web/20080513154741/http://uk.biz.yahoo.com/16/sector.html#performance-note-anchor" class="note-ref" title="Note about performance">1</a></th>
Comment 16 Benjamin Hawkes-Lewis 2011-12-08 07:41:26 UTC
(In reply to comment #15)
Also note use for just shortening verbose text:

<th abbr="annual charge" id="annual-management-charge-hdr">Annual Management Charge (%)</th>

<th abbr="rank over 3 years" id="quartile-rank-over-three-years-hdr">Quartile Rank over 3 Years</th>
Comment 17 Ian 'Hixie' Hickson 2012-01-31 20:56:39 UTC
I looked at the Web and it seems this is used quite a lot in blog calendars, not to abbreviate the column header but to expand it. I didn't see many other valid uses in a brief check. I didn't see any harmful uses either. In conclusion, I think it's worth putting in.
Comment 18 contributor 2012-07-18 07:25:49 UTC
This bug was cloned to create bug 17970 as part of operation convergence.
Comment 19 Edward O'Connor 2012-10-16 17:31:25 UTC
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are
satisfied with this response, please change the state of this bug to CLOSED. If
you have additional information and would like the Editor to reconsider, please
reopen this bug. If you would like to escalate the issue to the full HTML
Working Group, please add the TrackerRequest keyword to this bug, and suggest
title and text for the Tracker Issue; or you may create a Tracker Issue
yourself, if you are able to do so. For more details, see this document:

   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Rejected
Change Description: No spec change.
Rationale: Let's consider this for HTML.next.
Comment 20 James Nurthen 2012-10-16 18:43:24 UTC
Removing this from HTML means we now have no solution for many issues we encounter in our tables. Please add this back into the spec.
After Ian's comment in January I had assumed this was going to be re-added.
Comment 21 Robin Berjon 2012-10-17 09:39:35 UTC
(In reply to comment #20)
> Removing this from HTML means we now have no solution for many issues we
> encounter in our tables. Please add this back into the spec.
> After Ian's comment in January I had assumed this was going to be re-added.

We're not removing this from HTML, we're just not addressing it in the next few weeks. That's all!
Comment 22 James Nurthen 2012-10-17 16:38:42 UTC
(In reply to comment #21)
> (In reply to comment #20)
> > Removing this from HTML means we now have no solution for many issues we
> > encounter in our tables. Please add this back into the spec.
> > After Ian's comment in January I had assumed this was going to be re-added.
> 
> We're not removing this from HTML, we're just not addressing it in the next
> few weeks. That's all!

So why does abbr appear in the "Obsolete Attributes" section of the document?
"Some attributes from HTML4 are no longer allowed in HTML5. The specification defines how user agents should process them in legacy documents, but authors must not use them and they will not validate."

* axis and abbr attributes on td and th. 

Can you explain how this isn't removal?
Comment 23 Ian 'Hixie' Hickson 2012-10-17 19:36:35 UTC
James: FWIW, I do intend to address this in the WHATWG spec, as part of bug 17970. I just haven't gotten to it yet.
Comment 24 Sam Ruby 2012-10-23 18:24:08 UTC
Eligable to be cherry picked:

https://github.com/w3c/html/commit/fc0477a2fcacfa82d643ba0ba904dc31d3b8c2b8
Comment 25 Silvia Pfeiffer 2012-10-29 02:56:13 UTC
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If
you are satisfied with this response, please change the state of
this bug to CLOSED. If you have additional information and would
like the Editor to reconsider, please reopen this bug. If you would
like to escalate the issue to the full HTML Working Group, please
add the TrackerRequest keyword to this bug, and suggest title and
text for the Tracker Issue; or you may create a Tracker Issue
yourself, if you are able to do so. For more details, see this
document:   http://dev.w3.org/html5/decision-policy/decision-policy-v2.html

Status: Accepted for HTML5.0 spec

Change Description:
https://github.com/w3c/html/commit/fc0477a2fcacfa82d643ba0ba904dc31d3b8c2b8

Rationale: accepted WHATWG resolution of cloned bug which specifies the abbr attribute
Comment 26 Erika Doyle Navara 2012-11-08 19:57:44 UTC
Removing TrackerRequest, as the change has been accepted into the spec. Additionally, I have removed abbr from the obsolete features list:

https://github.com/w3c/html/commit/e214f469d60202f80b4aec9396caf763f2a3722f
Comment 27 Edward O'Connor 2012-11-09 23:28:31 UTC
I believe that change is incorrect, as abbr="" has only been restored on <th>, not <td>.

Also, did you report the defect upstream to Ian?
Comment 28 Erika Doyle Navara 2012-11-10 00:47:01 UTC
(In reply to comment #27)
> I believe that change is incorrect, as abbr="" has only been restored on
> <th>, not <td>.

Hmm, you bring up a good point. The bug title/fix mentions only defining abbr="" for <th>, but a number of comments here indicate that it is also useful and used for <td> elements. Let me follow up to see if there are detrimental implications of retaining the deprecation of it for <td>, given that it is now defined for <th>.

> Also, did you report the defect upstream to Ian?

I will once I determine the correct course of action for this change.