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.mjsinstead ofindex.js.
Forwebpack, that's{ resolve: { alias: { 'get-focusables': 'get-focusables/es5.mjs } } }'
Retrieves all focusable descendents of the given DOM element.
contextElement The DOM Element in which to look for focusable elements (optional, defaultdocument)tabbableboolean Restrict to tabbable elements (optional, defaulttrue)
Returns (NodeList | NodeListDummy)
Same as getFocusableElements but returns an Array
contextElement The DOM Element in which to look for focusable elements (optional, defaultdocument)tabbableboolean 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
lengthnumber always 0