Skip to content
Returns an array of all focusable descendants of the given element.
JavaScript
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
src
test
.eslintrc
.gitignore
.npmrc
.travis.yml
LICENSE
README.md
babel.config.json
browser.json
index.js
karma.conf.js
package.json
webpack.docs.js
yarn.lock

README.md

makeup-focusables

Build Status Coverage Status Dependency status devDependency status

Returns an array of all focusable descendants of the given element.

A vanilla JavaScript port of jquery-focusable.

Experimental

This CommonJS module is still in an experimental state, until it reaches v1.0.0 you must consider all minor releases as breaking changes. Patch releases may introduce new features, but will be backwards compatible.

Install

// via npm
npm install makeup-focusables

// via yarn
yarn add makeup-focusables

Example

Markup:

<div class="widget">
    <h2 tabindex="-1">Widget Title</h2>
    <p>Widget Text</p>
    <button type="button">Widget Button</button>
    <a href="#">Widget Link</a>
</div>
// require the module
const focusables = require('makeup-focusables');

// get element reference
const widgetEl = document.querySelector('.widget');

// get array of all focusable elements (keyboard and programmatic)
const allItems = focusables(widgetEl);

console.log(allItems.length) // outputs: 3

// get array of only keyboard focusable elements
const keyboardItems = focusables(widgetEl, true);

console.log(keyboardItems.length) // outputs: 2

Parameters

  • el: the element to search (default: undefined)
  • keyboardOnly: return only elements focusable in sequential keyboard navigation (default: false)

Custom Events

  • None

Dependencies

  • None

Polyfills

  • None

CI Build

https://travis-ci.org/makeup-js/makeup-focusables

Code Coverage

https://coveralls.io/github/makeup-js/makeup-focusables

You can’t perform that action at this time.