Warning:
This wiki has been archived and is now read-only.
TableHeadersTestingBug5822
headers/id Testing (Bug 5822)
Contents
Purpose
To ascertain how typical non-visual user agents deal with mark-up mechanisms for data tables when header/data relationships are complex.
Test Files
Equipment/Software
- WINDOW-EYES 5.5 with IE7
- WINDOW-EYES 5.5 with Firefox 3
- JAWS 8.0 with IE7
- JAWS 8.0 with Firefox 3
- JAWS 9 with IE7
- JAWS 9 with Firefox 2
Methodology
Query of row 3, cell 9 (budgeted running costs on the 12/12/2005 for partner portal of 10,000.00)
Success Criterion
Screen reader announces: "Running cost 12/12/2005 partner portal budgeted ten thousand point 0 0" .
Outcomes
WINDOW-EYES 5.5 with IE7
- FAIL: no scope or headers
- Screen reader announces: "Running cost partner portal ten thousand point 0 0". (No mention of "12/12/2005" or "budgeted")
- FAIL: only scope
- Screen reader announces: "Running cost partner portal ten thousand point 0 0". (No mention of "12/12/2005" or "budgeted")
- PASS: headers/id
- Screen reader announces: "Running cost 12/12/2005 partner portal budgeted ten thousand point 0 0".
WINDOW-EYES 5.5 with Firefox 3
- FAIL: no scope or headers
- Screen reader announces: "Running cost partner portal ten thousand point 0 0". (No mention of "12/12/2005" or "budgeted")
- FAIL: only scope
- Screen reader announces: "Running cost partner portal ten thousand point 0 0". (No mention of "12/12/2005" or "budgeted")
- FAIL: headers/id
- Screen reader announces: "Running cost partner portal ten thousand point 0 0". (No mention of "12/12/2005" or "budgeted")
JAWS 8.0 with IE7
- FAIL: no scope or headers
- Screen reader announces: "Column 9 Row 3 Running cost partner portal ten thousand point 0 0". (No mention of "12/12/2005" or "budgeted")
- FAIL: only scope
- Screen reader announces: "Column 9 Row 3 Running cost partner portal ten thousand point 0 0". (No mention of "12/12/2005" or "budgeted")
- PASS: headers/id
- Screen reader announces: "Column 9 Row 3 Running cost 12/12/2005 partner portal budgeted ten thousand point 0 0".
JAWS 8.0 with Firefox 3
- FAIL: no scope or headers
- Screen reader announces: "Column 9 Row 3 Running cost partner portal ten thousand point 0 0". (No mention of "12/12/2005" or "budgeted")
- FAIL: only scope
- Screen reader announces: "Column 9 Row 3 Running cost partner portal ten thousand point 0 0". (No mention of "12/12/2005" or "budgeted")
- PASS: headers/id
- Screen reader announces: "Column 9 Row 3 Running cost 12/12/2005 partner portal budgeted ten thousand point 0 0".
JAWS 9 with IE7
- FAIL: no scope or headers
- Screen reader announces: "Column 9 Row 3 Running cost partner portal ten thousand point 0 0". (No mention of "12/12/2005" or "budgeted")
- FAIL: only scope
- Screen reader announces: "Column 9 Row 3 Running cost 12/12/2005 partner portal ten thousand point 0 0". (No mention of "budgeted")
- PASS: headers/id
- Screen reader announces: "Column 9 Row 3 Running cost 12/12/2005 partner portal budgeted ten thousand point 0 0".
JAWS 9 with Firefox 2
- FAIL: no scope or headers
- Screen reader announces: "Column 9 Row 3 Running cost partner portal ten thousand point 0 0". (No mention of "12/12/2005" or "budgeted")
- FAIL: only scope
- Screen reader announces: "Column 9 Row 3 Running cost 12/12/2005 partner portal ten thousand point 0 0". (No mention of "budgeted")
- PASS: headers/id
- Screen reader announces: "Column 9 Row 3 Running cost 12/12/2005 partner portal budgeted ten thousand point 0 0".
Findings
The headers/id mechanism provides needed functionality. It allows assistive technology to speak the headers associated with each data cell when the relationships are too complex to be identified using the th element alone or the th element with the scope attribute.
Headers/id allowed the assistive technology combinations tested to successfully announce relationships 5 out of 6 times.
Scope failed 6 out of 6 times. The failure of support for scope means that scope is currently not an effective option.
Although it is widely known that scope isn't well supported by assistive technology [1 2 3 4 5], its use is strongly recommend, because it's easy to author, works with simpler data tables, and support is likely to improve.
Technical Comments
JAWS gets confused by rowspans and colspans in all versions, making testing a bit tricky. It will guess at headings of the first cell with data in the column as a header for the cell, and a the first cell with data in the row for the cell, regardless of scope attributes.
Tester
- Testing performed by Gez Lemon.
Footnotes
- [1] User Agent Working Group comments
- [2] Support for scope and headers attributes in assistive technologies - Tests by HTML WG members
- [3] H63: Using the scope attribute to associate header cells and data cells in data tables - W3C Techniques for WCAG 2.0
- [4] Data table accessibility test - Roger Hudson and Russ Weakley
- [5] Related research
References
- Bug 5822 - Reported by Gez Lemon, June 20, 2008.
- headers attribute Issue - ESW Wiki. Thorough details and history of headers Issue from May 2007 to date.
- ISSUE-57: @headers - Raised by Joshue O Connor, July 17, 2008.
- ACTION-72: @headers - On Joshue O Connor, July 18, 2008.