microsoft / microsoft/tabster

mover doesn't handle focusable/tabbable elements within closed <details>

Open
#553 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
165
Forks
42
Avg merge
1d 11h
Merged PRs (30d)
9

Description

When you set up a mover and the page or the children of the mover container contains a closed details element which has interactive elements, like buttons within, as you navigate through the children, the focus is stuck on the non-visible button, and there is no way to move past this state.
Example:

<div data-tabster='{"mover":{}'>
  <button>item</button>
  <details>
    <summary>summary</summary>
    <button>item</button>
  </details>
  <button>item</button>
  <details>
    <summary>summary</summary>
    <button>item</button>
  </details>
  <button>item</button>
</div>

There is no way to move past the details elements' button with cursor keys.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the HTML example with a mover and closed details elements, then trace the mover's cursor-key navigation handling. Add regression coverage for the non-visible buttons and verify that navigation moves past each closed details element without becoming stuck.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
accessibility, frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.