Understand the jsx-a11y/no-noninteractive-tabindex rule
mainThe jsx-a11y/no-noninteractive-tabindex rule ensures that tabIndex is only applied to elements that are actually interactive. Adding tabIndex to non-interactive elements (like <div>, <article>, or <li>) increases the size of the page's tab ring unnecessarily, as assistive technologies already provide mechanisms to traverse these containers.
This rule is enabled by default in the recommended and strict configurations.
Common interactive roles that ARE allowed to have a tabindex include:
buttonlinkcheckboxmenuitemmenuitemcheckboxmenuitemradiooptionradiosearchboxswitchtextbox