ariaActiveDescendantTabIndex
Reports elements with aria-activedescendant without tabIndex.
✅ This rule is included in the jsxlogicalandlogicalStrictpresets.
aria-activedescendant is used to manage focus within a composite widget.
Elements with this attribute should be tabbable, either through an inherent tabIndex (like <input>) or an explicit tabIndex attribute.
Without proper tabIndex, keyboard users cannot reach the element to interact with it.
Examples
Section titled “Examples”<any
div aria-activedescendant: any
aria-activedescendant={const someID: any
someID} />;<any
span aria-activedescendant: string
aria-activedescendant="item-1" /><any
div aria-activedescendant: any
aria-activedescendant={const someID: any
someID} tabIndex: number
tabIndex={0} />;<any
div aria-activedescendant: any
aria-activedescendant={const someID: any
someID} tabIndex: number
tabIndex={-1} />;<any
input aria-activedescendant: any
aria-activedescendant={const someID: any
someID} />;<any
button aria-activedescendant: any
aria-activedescendant={const someID: any
someID} />;When Not To Use It
Section titled “When Not To Use It”If you’re not using aria-activedescendant or have a custom focus management system, you can disable this rule.
Further Reading
Section titled “Further Reading”Equivalents in Other Linters
Section titled “Equivalents in Other Linters”
Made with ❤️🔥 around the world by
the Flint team and contributors.