Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

tabbable

Package Overview
Dependencies
Maintainers
2
Versions
47
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tabbable - npm Package Versions

1245

5.1.3

Diff

Changelog

Source

5.1.3

Patch Changes

  • 5579825: fixes to details elements
    • ignore elements nested under a closed details element
    • ignore any extra summary elements after the first summary element
    • add details element as tabbable in case it has no direct summary element
stefcameron
published 5.1.2 •

Changelog

Source

5.1.2

Patch Changes

  • d3c6514: Fix UMD build incorrectly using focusTrap as output name.
  • 95563c2: Fix #99: Transpile ESM bundle down to the same browser target used for the CJS and UMD bundles. ESM is just the module system, not the browser target.
stefcameron
published 5.1.1 •

Changelog

Source

5.1.1

Patch Changes

  • fb49d23: Fix #96: Transpile non-minified bundles for expected browser targets.
stefcameron
published 5.1.0 •

Changelog

Source

5.1.0

Minor Changes

  • bd21d91: Add focusable() for getting all focusable nodes.

Patch Changes

  • 3665d0b: The TypeScript return type of tabbable has been fixed: Was Array<Element> (an Element is technically not focusable), is now Array<HTMLElement | SVGElement> (which are both still/also Element instances).
  • 8a25135: Fixed: Tabbable elements in fixed-position (position: fixed) containers should now be consistently found in supported browsers.
  • 9544de2: Replace prepublishOnly script with prepare script. This has the added benefit of running automatically when installing the package from GitHub (as supported by NPM) where the published ./dist directory is not automatically included.
  • 672f4a2: Add focusable() type definition.
  • 2424c0f: Small improvements for improving tree-shakeability of this package. A missing #__PURE__ annotation has been added to allow dropping one of the top-level calls (if its result stays unused) and removed minification of the file referenced as package.json#module to avoid dropping the comments (including existing #__PURE__ annotations).
stefcameron
published 5.0.0 •

Changelog

Source

5.0.0

  • Changed code formatting to use dangling commas where ES5 supports them.
  • Fixed a bug where <audio controls /> and <video controls /> elements without tabindex attribute specified would be deemed NOT tabbable in Chrome, but would be in FireFox, because Chrome has tabIndex (the DOM Element property) returning -1 (focusable, but not tabbable), while FireFox has tabIndex returning 0 (focusable, and tabbable), yet both browsers include these elements in the regular tab order (as if tabIndex was 0 for both browsers). Now these elements are considered tabbable in Chrome too!
  • Add any <summary> element directly under a <details> element as tabbable and focusable.
  • BREAKING: Changes to the isTabbableRadio() internal function in order to better support nested radio buttons:
    • In case a form parent element exists, include only nested radio inputs from that form.
    • Ignore checked radio elements from forms different from the one the validated node belongs to.
    • NOTE: This may result in less radio elements being flagged as tabbable depending on context from the "root" node given to tabbable().
  • BREAKING: The exports have changed to be all named, and separate, as follows in order to help make the module more compatible with tree shaking:
    • tabbable -> `import { tabbable } from 'tabbable';
    • tabbable.isTabbable -> `import { isTabbable } from 'tabbable';
    • tabbable.isFocusable -> `import { isFocusable } from 'tabbable';
  • Also to help with tree shaking, package.json now states sideEffects: false to mark this module as having no side effects as a result of merely importing it.
  • Added new UMD build, see ./dist/index.umd.*.
davidtheclark
published 4.0.0 •

Changelog

Source

4.0.0

  • 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.
davidtheclark
published 3.1.2 •

Changelog

Source

3.1.2

  • Fix reference to root element that caused errors within Shadow DOM.
davidtheclark
published 3.1.1 •

Changelog

Source

3.1.1

  • Allow module to be imported by non-browser JavaScript.
davidtheclark
published 3.1.0 •

Changelog

Source

3.1.0

  • Add tabbable.isFocusable and tabbable.isTabbable functions.
davidtheclark
published 3.0.0 •

Changelog

Source

3.0.0

  • Add [contenteditable] elements.
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc