Get focusable or tabbable elements within a DOM node
The package includes versions for ES6+ and ES5, both as an ESM module (browser-compatible) and a CJS module (npm-compatible).
Here's the included file variants:
CJS | ESM | importing | |
---|---|---|---|
ES6 | index.js | index.mjs | const getFocusableElements = require('get-focusables') |
ES5 | es5.js | es5.mjs | import getFocusableElements from 'get-focusables' |
Each version gives you the getFocusableElements function.
get-focusables
is written in ES6 syntax and packaged node-style.
It is converted to ES5/ESM for wider distribution.
The default is therefore the ES6 CJS variant index.js
.
NOTE
In order to get a non-default version, you will need to tell your bundler to useindex.mjs
/es5.js
/es5.mjs
instead ofindex.js
.
Forwebpack
, that's{ resolve: { alias: { 'get-focusables': 'get-focusables/es5.mjs } } }'
Retrieves all focusable descendents of the given DOM element.
context
Element The DOM Element in which to look for focusable elements (optional, defaultdocument
)tabbable
boolean Restrict to tabbable elements (optional, defaulttrue
)
Returns (NodeList | NodeListDummy)
Same as getFocusableElements
but returns an Array
context
Element The DOM Element in which to look for focusable elements (optional, defaultdocument
)tabbable
boolean Restrict to tabbable elements (optional, defaulttrue
)
Returns Array
The NodeListDummy is an object with a length property of 0.
This ensures that the result of getFocusableElements
can always be used and checked for length.
That makes checks for a truthy/falsy return value unnecessary.
Type: Object
length
number always 0