Skip to content

jQuery UI Tabs Creates Nested Focusable Elements Violating WCAG 2.1 AA #2402

@Nikhil-porter

Description

@Nikhil-porter

jQuery UI Tabs widget generates invalid ARIA markup that creates nested interactive elements, causing multiple accessibility violations including:

  • Nested focusable elements (<li> and <a> both focusable)
  • Invalid ARIA role hierarchy
  • Screen reader announcement conflicts
  • Keyboard focus management issues

Technical Details
Current Problematic Output

<ul role="tablist">
  <li role="tab" tabindex="0" aria-selected="true">
    <a href="#tab1" class="ui-tabs-anchor">Tab 1</a>
  </li>
</ul>

<li role="tab" tabindex="0">is focusable
Child <a> element receives focus events
Creates ambiguous focus target for assistive technologies
Invalid ARIA Role Inheritance
Parent <li> has role="tab"
Child <a> has no role but receives focus
Breaks expected ARIA tab pattern
Programmatic Focus Issues

jQuery UI internally adds tabindex="0" to LIs via _tabindex() method
Manual removal of tabindex is overwritten during widget refresh
Keyboard navigation events conflict between LI and anchor

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions