Skip to content

fix(TabsItem): let renderless items supply a focus target #912

Description

@johnleider

Surfaced by @paper/bulma in #760.

TabsItem in renderless mode (as={null}) registers Atom's null element, so focusSelectedTab / focusAdjacent are no-ops. ArrowLeft/ArrowRight still update selection, panels, and aria-selected, but the visible focus ring and screen-reader announcement stay on the previously focused node.

BuTab has to render li > a with is-active on the li (Bulma's fixture). Emerald uses a real <button> tab and never hits this.

This is an APG tabs deviation the axe sweep cannot catch.

Expected

Let TabsItem accept an element input at registration so a renderless consumer can point focus-follow at the real control (the <a> inside the <li>).

Activity

  1. added this to the v1.2.0 milestone on Aug 24, 2026
  2. self-assigned this
    on Aug 24, 2026
  3. modified the milestones: v1.2.0, v1.3.0 on Aug 26, 2026
  4. added a commit that references this issue on Sep 9, 2026
    2bfaf60
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

C: TabsTabs componentT: bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions