`, for instance or on `` items; assistive technologies provide affordances to users to find and traverse these containers. Most elements that require a tabindex -- ``, ``, ``, `` -- have it already. Your application might require an exception to this rule in the case of an element that captures incoming tab traversal for a composite widget. In that case, turn off this rule on a per instance basis. This is an uncommon case. If you know that a particular element will be scrollable, you might want to add `tabindex="0"` if your website supports browsers that don't make these containers keyboard-focusable. The current status for this platform feature can be tracked in [Chrome Platform Status "Feature: Keyboard-focusable scroll containers"](https://www.chromestatus.com/feature/5231964663578624). ```jsx // eslint-disable-next-line no-noninteractive-tabindex {someLongCode} ``` ## Rule details The recommended options for this rule allow `tabIndex` on elements with the noninteractive `tabpanel` role. Adding `tabIndex` to a tabpanel is a recommended practice in some instances. ```javascript 'jsx-a11y/no-noninteractive-tabindex': [ 'error', { tags: [], roles: ['tabpanel'], }, ] ``` ### Succeed ```jsx ``` ### Fail ```jsx ``` ## Accessibility guidelines - [WCAG 2.1.1](https://www.w3.org/WAI/WCAG21/Understanding/keyboard) ### Resources - [Fundamental Keyboard Navigation Conventions](https://www.w3.org/TR/wai-aria-practices-1.1/#kbd_generalnav)