- From: Simon Bates <simon.bates@utoronto.ca>
- Date: Fri, 14 Dec 2007 18:38:29 -0500
- To: wai-xtech@w3.org
Updated results with Opera 9.24 on the Mac: div with no tabindex: elem.getAttribute("tabindex") = null elem.tabIndex = undefined input with no tabindex: elem.getAttribute("tabindex") = null elem.tabIndex = 0 I think it would be worthwhile to augment my results data with information about the tabbing behaviour when setting tabindex in each browser. I'll have a look at that next week. Simon On 14-Dec-07, at 4:55 PM, Simon Bates wrote: > > I have been writing a function for Dojo's DHTML accessibility > support that determines if an element is tab-navigable. The > function will use the extended tabindex usage defined by the > current ARIA and HTML5 drafts. That is, tabindex on all elements, > and tabindex="-1" for removal from tab order. I have discovered > that there is some variation across browsers in the value that one > gets when retrieving the tabindex value on an element without a > tabindex attribute. This note summaries what I have seen. > > I have looked at two elements: div and input. I am using div as an > example of an element that did not have a tabindex attribute in > HTML4 and input as an example of one that did. I document here two > mechanisms for retrieving the tabindex: getAttribute(), and the > tabIndex property. Please see below for a link to my test file and > a link to the full results. > > Firefox 2.0.0.11 Windows XP > and Minefield nightly 3.0b3pre 2007121405 Windows XP > > div with no tabindex: > elem.getAttribute("tabindex") = null > elem.tabIndex = -1 > > input with no tabindex: > elem.getAttribute("tabindex") = null > elem.tabIndex = 0 > > Internet Explorer 7.0.5730.11 Windows XP > and Internet Explorer 6 Windows XP > > div with no tabindex: > elem.getAttribute("tabindex") = 0 > elem.getAttribute("tabindex", 2) = 32768 > elem.tabIndex = 0 > > input with no tabindex: > elem.getAttribute("tabindex") = 0 > elem.getAttribute("tabindex", 2) = 32768 > elem.tabIndex = 0 > > On IE it is not possible to determine whether a div has no tabindex > or tabindex="0" using elem.getAttribute("tabindex") or > elem.tabIndex because a default value of 0 is returned. Microsoft > provides an extension to getAttribute() that can be used to > determine if the tabindex is unset. If a second parameter of value > "2" is passed to getAttribute(), a value of 32768 is returned > whenever tabindex is not set. See Microsoft's documentation on > getAttribute: > > http://msdn2.microsoft.com/en-us/library/ms536429.aspx > > I have been unable to find documentation on the value of 32768 as > used for tabIndex but it is outside of the range of 0 to 32767 > specified by HTML 4: > > http://www.w3.org/TR/html401/interact/forms.html#adef-tabindex > > Safari 3.0.4 Mac > > div with no tabindex: > elem.getAttribute("tabindex") = null > elem.tabIndex = undefined > > input with no tabindex: > elem.getAttribute("tabindex") = null > elem.tabIndex = 0 > > Test file used to gather results: > > http://trac.bitstructures.com/browser/collected/trunk/html-test- > cases/getting-tabindex.html?format=raw > > Collected test results: > > http://trac.bitstructures.com/browser/collected/trunk/html-test- > cases/getting-tabindex-results.html?format=raw > > Please let me know if you see any shortcomings in the test file or > results. > > Simon Bates > Adaptive Technology Resource Centre > University of Toronto > >
Received on Friday, 14 December 2007 23:38:09 UTC