# Changelog ## 6.2.0 ### Minor Changes - 18a093f: Add new `getTabIndex()` API which enables Focus-trap to determine tab indexes in the same way as Tabbable when necessary (see [focus-trap#974](https://github.com/focus-trap/focus-trap/pull/974)). ## 6.1.2 ### Patch Changes - b39b217: Pin jsdom downstream dependency nwsapi to v2.2.2 while awaiting fix ([#982](https://github.com/focus-trap/tabbable/issues/982)) ## 6.1.1 ### Patch Changes - 97373cc: Fix JSDom not supporting HTMLElement.inert and HTMLElement.contentEditable APIs, and not supporting CSS selector ':not([inert *])' resulting in no nodes found and "focus-trap must have at least one tabbable node..." error in focus-trap. ## 6.1.0 ### Minor Changes - 1756c90: Add support for new [inert](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/inert#browser_compatibility) attribute ([#292](https://github.com/focus-trap/tabbable/issues/292)) ### Patch Changes - b8c7550: Fix a corner case where a node's root node can be itself, indicating detachment from the DOM, leading to a crash in `isHidden() -> isNodeAttached() -> getRootNode()` if not handled properly ([focus-trap-react #905](https://github.com/focus-trap/focus-trap-react/issues/905)) ## 6.0.1 ### Patch Changes - 0aab1e3: Fix crash with tabbable scoped table header elements ([#832](https://github.com/focus-trap/tabbable/issues/832)) ## 6.0.0 ### Major Changes - 5f40c8e: Revised and clarified official browser support (still as broad and deep as _reasonably_ possible). - 5f40c8e: 🚨 **Breaking:** Dropped support of IE browsers, all versions. - IE11 was [officially retired](https://blogs.windows.com/windowsexperience/2022/06/15/internet-explorer-11-has-retired-and-is-officially-out-of-support-what-you-need-to-know/) on June 15, 2022 (6 weeks ago). There are no longer any versions of IE that are still maintained or even supported by Microsoft. - a09ba0b: 🚨 **Breaking:** Default `displayCheck` 'full' option no longer treats detached nodes as visible. Use the new 'legacy-full' option to restore old (incorrect) behavior only if you must. Ideally, make sure tabbable only runs once all nodes of interest have been attached to the document. ## 5.3.3 ### Patch Changes - 0210a1c: fix: align with browser behaviour when a web component has a negative tabindex ## 5.3.2 ### Patch Changes - 320bfd1: Updated docs for `displayCheck` configuration. - aa2a699: Fixed an issue with `displayCheck=full` (default setting) determining all nodes were hidden when the container is not attached to the document. In this case, tabbable will revert to a `displayCheck=none` mode, which is the equivalent legacy behavior. Also updated the `displayCheck` option docs to add warnings about this corner case for the `full` and `non-zero-area` modes. `non-zero-area` behaves differently in the corner case. See the docs for more info. ## 5.3.1 ### Patch Changes - cf1da66: Add warnings and help in documentation about running tabbable under JSDom (e.g. with Jest). JSDom is not technically supported, and 5.3.0 introduced some changes that use DOM APIs that JSDom stubs out, which may cause some JSDom-based tests to fail. Also revamp the API docs a bit to make them clearer, and add missing `getShadowRoot` option to `isTabbable()` and `isFocusable()` (docs only; no code changes necessary). ## 5.3.0 ### Minor Changes - 685a906: Adds new Shadow DOM support (must be explicitly enabled using the new `getShadowRoot` option). - When enabled, supports open shadows by default, and can support closed shadows if the option is a function that returns the shadow for a given node. See documentation for more information. - Includes all updates from `5.3.0-beta.0` and `5.3.0-beta.1` releases. ### Patch Changes - b341412: Made "isDisabledFromFieldset" more readable and concise (even marginally faster). - 685a906: Fixed a bug in `getTabIndex`: the tab index of `