Files
dewedev/node_modules/eslint-plugin-jsx-a11y/docs/rules/aria-activedescendant-has-tabindex.md
dwindown 7f2dd5260f Initial commit: Developer Tools MVP with visual editor
- Complete React app with 7 developer tools
- JSON Tool with visual structured editor
- Serialize Tool with visual structured editor
- URL, Base64, CSV/JSON, Beautifier, Diff tools
- Responsive navigation with dropdown menu
- Dark/light mode toggle
- Mobile-responsive design with sticky header
- All tools working with copy/paste functionality
2025-08-02 09:31:26 +07:00

2.0 KiB

jsx-a11y/aria-activedescendant-has-tabindex

💼 This rule is enabled in the following configs: ☑️ recommended, 🔒 strict.

aria-activedescendant is used to manage focus within a composite widget. The element with the attribute aria-activedescendant retains the active document focus; it indicates which of its child elements has secondary focus by assigning the ID of that element to the value of aria-activedescendant. This pattern is used to build a widget like a search typeahead select list. The search input box retains document focus so that the user can type in the input. If the down arrow key is pressed and a search suggestion is highlighted, the ID of the suggestion element will be applied as the value of aria-activedescendant on the input element.

Because an element with aria-activedescendant must be tabbable, it must either have an inherent tabIndex of zero or declare a tabIndex attribute.

Rule details

This rule takes no arguments.

Succeed

<CustomComponent />
<CustomComponent aria-activedescendant={someID} />
<CustomComponent aria-activedescendant={someID} tabIndex={0} />
<CustomComponent aria-activedescendant={someID} tabIndex={-1} />
<div />
<input />
<div tabIndex={0} />
<div aria-activedescendant={someID} tabIndex={0} />
<div aria-activedescendant={someID} tabIndex="0" />
<div aria-activedescendant={someID} tabIndex={1} />
<div aria-activedescendant={someID} tabIndex={-1} />
<div aria-activedescendant={someID} tabIndex="-1" />
<input aria-activedescendant={someID} />
<input aria-activedescendant={someID} tabIndex={0} />
<input aria-activedescendant={someID} tabIndex={-1} />

Fail

<div aria-activedescendant={someID} />

Accessibility guidelines

General best practice (reference resources)

Resources