How to ignore HTML element from tabindex?
To have any element skip tabbing, introduce tabindex="-1"
to the rescue:
Quick, painless, non-tabbable. Support is almost universal.
What about accessibility?
tabindex="-1"
successfully removes elements from tab focus, but at a potentially high cost to accessibility. Remember, your goal should be to uphold the principle of equal access for all users. Given that, ensure any removal of elements from the tab sequence does not impair the ability of keyboard navigation.
JavaScript to the rescue
If you need to dynamically adjust the tabindex, JavaScript has your back:
In JavaScript, it's tabIndex
, not tabindex
. Case sensitivity - it's a minefield out there.
The age-old battle: HTML 4.01 vs HTML5
In the world of HTML 4.01, you're pretty much stuck with positive numbers for your tabindex. On the other hand, HTML5 is all about that freedom, allowing for a tabindex="-1"
. Just remember your audience - not every browser's caught up to the HTML5 train.
Disabled vs. tabindex?
For form elements, consider the disabled
attribute, a double whammy that removes the element from the tab order and prevents interaction. Pretty neat, huh?
A helping hand from ARIA
To give assistive technologies a nudge in the right direction, consider aria-hidden="true"
:
Automating with jQuery
Need to automate the addition of the disabled
attribute? Give jQuery a go:
Comprehensive understanding
When to go negative with tabindex?
Use tabindex="-1"
as necessary:
- Non-interactive content requiring focus
- Repeated elements
- Elements within modals or popups
- Non-functional elements
Dynamically updating content
Handle dynamic content cleverly:
- Add
tabindex="-1"
programmatically when needed - Once tab order is essential, remove it
- Use JS listeners to manage special focus cases
Cross-browser compatibility
Account for varying degrees of compatibility across browsers:
- Test in multiple browsers for consistency
- Be aware of assistive tools' interpretation of
tabindex
- Validate HTML
Things to watch out for
Guard against potential pitfalls:
- Excessive use of
tabindex
can disorient - Negative values other than "-1" are a no-go
- Changing tab order can hinder screen readers
Was this article helpful?