- Improve performance by changing the method for detecting whether a DOM node is focusable or not. It's expected that this change will not affect results; but this is a major version bump as a warning for you to check your edge cases before upgrading.
- Fix reference to root element that caused errors within Shadow DOM.
- Allow module to be imported by non-browser JavaScript.
- Add
tabbable.isFocusable
andtabbable.isTabbable
functions.
- Add
[contenteditable]
elements.
- Add
<audio>
and<video>
elements withcontrols
attributes. - Only consider radio buttons tabbable if they are the
checked
on in their group, or if none in their group arechecked
.
- Fix bug causing SVG elements to precede elements they should follow in the tab order in IE.
- Ensure
querySelectorAll
receives a string argument.
- Fix crash when you call
tabbable(document)
(passing thedocument
element).
- Add
includeContainer
option.
- Allows operation against elements that reside within iframes, by inspecting the element to determine its correct parent
document
(rather than relying on the globaldocument
object).
- Ensure stable sort of
tabindex
ed elements even in browsers that have an unstableArray.prototype.sort
.
- Check
tabindex
attribute (viagetAttribute
), in addition tonode.tabIndex
, to fix handling of SVGs withtabindex="-1"
in IE.
- Children of
visibility: hidden
elements that themselves havevisibility: visible
are considered tabbable.
- Fix IE9 compatibility.
- Further improvements to caching.
- Fix overaggressive caching that would prevent
tabbable
from knowing an element's children had changed.
- Fix handling of
<a>
elements withtabindex="0"
.
- Initial release.