Is the scope attribute still necessary on tables?
I was asked about the scope
attribute and whether it is still necessary. Below are found two tables, one with scope
, one without.
Findings
There is no difference in test results between tables with scope
and tables without scope
in modern browsers and screen readers.
There is one use case when it is helpful for JAWS users. When you want a row header for the column headers in cell 1:1. In NVDA and VoiceOver this doesn't work. See example 5 below.
As a result of this testing the NVDA bug has been fixed.
@ppatel @SinaBahram @davidmacd Col/rowgroup scope for Firefox is fixed in Firefox 39.
— James Teh (@jcsteh) July 3, 2015
Bachelor's Degrees | Master's Degrees | Doctor's Degrees | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Biology | Technology | Biology | Technology | Biology | Technology | |||||||
Male | Female | Male | Female | Male | Female | Male | Female | Male | Female | Male | Female | |
Totals | 127,385 | 206,168 | 200,707 | 59,975 | 16,748 | 23,526 | 64,726 | 26,629 | 14,607 | 13,435 | 4,638 | 1,217 |
2002 | 22,918 | 37,186 | 41,950 | 15,483 | 2,981 | 4,009 | 13,267 | 6,242 | 2,804 | 2,289 | 648 | 168 |
2003 | 23,248 | 38,261 | 44,585 | 14,903 | 3,227 | 4,430 | 13,868 | 6,275 | 2,804 | 2,438 | 709 | 200 |
2004 | 24,617 | 39,994 | 42,125 | 11,986 | 3,318 | 4,881 | 13,136 | 5,280 | 2,845 | 2,733 | 905 | 214 |
2005 | 26,651 | 42,527 | 37,705 | 9,775 | 3,654 | 5,027 | 12,470 | 4,585 | 2,933 | 2,842 | 1,109 | 307 |
2006 | 29,951 | 45,200 | 34,342 | 7,828 | 3,568 | 5,179 | 11,985 | 4,247 | 3,221 | 3,133 | 1,267 | 328 |
Data from Institution of Education Sciences National Center for Education Statistics, derived from two tables: Table 298. Degrees in the biological and biomedical sciences conferred by degree-granting institutions, by level of degree and sex of students; selected years, 1951-52 through 2006-07 and Table 302. Degrees in computer and information sciences conferred by degree-granting institutions, by level of degree and sex of student: 1970–71 through 2006–07.
Bachelor's Degrees | Master's Degrees | Doctor's Degrees | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Biology | Technology | Biology | Technology | Biology | Technology | |||||||
Male | Female | Male | Female | Male | Female | Male | Female | Male | Female | Male | Female | |
Totals | 127,385 | 206,168 | 200,707 | 59,975 | 16,748 | 23,526 | 64,726 | 26,629 | 14,607 | 13,435 | 4,638 | 1,217 |
2002 | 22,918 | 37,186 | 41,950 | 15,483 | 2,981 | 4,009 | 13,267 | 6,242 | 2,804 | 2,289 | 648 | 168 |
2003 | 23,248 | 38,261 | 44,585 | 14,903 | 3,227 | 4,430 | 13,868 | 6,275 | 2,804 | 2,438 | 709 | 200 |
2004 | 24,617 | 39,994 | 42,125 | 11,986 | 3,318 | 4,881 | 13,136 | 5,280 | 2,845 | 2,733 | 905 | 214 |
2005 | 26,651 | 42,527 | 37,705 | 9,775 | 3,654 | 5,027 | 12,470 | 4,585 | 2,933 | 2,842 | 1,109 | 307 |
2006 | 29,951 | 45,200 | 34,342 | 7,828 | 3,568 | 5,179 | 11,985 | 4,247 | 3,221 | 3,133 | 1,267 | 328 |
Data from Institution of Education Sciences National Center for Education Statistics, derived from two tables: Table 298. Degrees in the biological and biomedical sciences conferred by degree-granting institutions, by level of degree and sex of students; selected years, 1951-52 through 2006-07 and Table 302. Degrees in computer and information sciences conferred by degree-granting institutions, by level of degree and sex of student: 1970–71 through 2006–07.
3 Simple table with scope
Cars | 2012 | 2013 | 2014 |
---|---|---|---|
Toyota | 100 | 200 | 420 |
Mazda | 328 | 456 | 157 |
4 Simple table without scope
Cars | 2012 | 2013 | 2014 |
---|---|---|---|
Toyota | 100 | 200 | 420 |
Mazda | 328 | 456 | 157 |
5 Simple table with scope
Year | 2012 | 2013 | 2014 |
---|---|---|---|
Toyota | 100 | 200 | 420 |
Mazda | 328 | 456 | 157 |
6 Simple table without scope
Year | 2012 | 2013 | 2014 |
---|---|---|---|
Toyota | 100 | 200 | 420 |
Mazda | 328 | 456 | 157 |
Results
In all screen readers tested, there was no advantage to adding scope
. It took about 15 minutes to add, which is a not an insignificant amount of time for a web developer. The test was to see if headers read ok, and then arrow into a row header or column header and ensure the other headers in that row or column didn't read.
FF38/JAWS16 | IE11/JAWS16 | CHROME40/JAWS16 | FF38/NVDA2015.2 | IE11/NVDA2015.2 | CHROME43/NVDA2015.2 | VoiceOver in Safari | VoiceOver in Chrome | iOS | |
---|---|---|---|---|---|---|---|---|---|
1: Big Table with no scope | Works |
Works |
Works | Works |
NVDA table nav commands don't work |
Works |
VO doesn't work with complex tables regardless of scope, headers id etc. Only announces one level of heading |
doesn't work |
VO doesn't work with complex tables regardless of scope, headers id etc. Only announces one level of heading |
2:Big Table with scope | Works | Works | Works | Works |
NVDA table commands don't work | Works | VO doesn't work with complex tables regardless of scope, headers id etc | Did not work | VO doesn't work with complex tables regardless of scope, headers id etc. Only announces one level of heading |
3. Simple table WITH scope cell 1:1 is col header |
Works | Works | Works | Works | NVDA table commands don't work | Works | Works | Did not work | Works |
4. Simple table WITHOUT scope cell 1:1 is col header | Works | Works | Works | Works | NVDA table commands don't work | Works | Works | Did not work | Works |
5. Simple table simple table WITH scope cell 1:1 is row header |
Works | Works | Works | cell 1:1 doesn't announce when moving into other row headers. | NVDA table commands don't work | cell 1:1 doesn't announce when moving into other col headers. | cell 1:1 doesn't announce when moving into other col headers. | Did not work | Works |
6. Simple table simple table WITHOUT scope cell 1:1 is row header |
cell 1:1 doesn't announce when moving into other row headers. | cell 1:1 doesn't announce when moving into other row headers. | cell 1:1 doesn't announce when moving into other row headers. | cell 1:1 doesn't announce when moving into other row headers. | NVDA table commands don't work | Works | Works | Did not work | Works |