reactjs / reactjs/react-tabs

keyboard accessibility of https://reactcommunity.org/react-tabs/

Open
#479 5 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
3.1k
Forks
455
Avg merge
5h 9m
Merged PRs (30d)
2

Description

currently, there are two quite fundamental keyboard access issues on the demo page at https://reactcommunity.org/react-tabs/

  • the <textarea> containing the source swallows Tab presses. once focus is in the textarea, there's no way for a keyboard user to jump back out. worse, even if the related "view source" checkbox is not checked, i.e. the textarea isn't visible, it still receives keyboard focus/is still in the regular tab cycle
  • when the tab/tablist receives focus, there is no visible focus indication that this is actually the case

Video showing the issue (using Chrome on Windows)

https://user-images.githubusercontent.com/895831/173188543-011a8b79-d55b-4eeb-b907-1fb9b0033cf9.mp4

0:00 - 0:25 tabbing through the page. note the focus disappears after the "View source" checkbox. ticking the checkbox with the mouse, and carrying on tabbing, shows that tab was in the textarea (and it's stuck in there)
0:25 - 0:32 focus is on the tab/tablist, can use cursor keys to change active tab. but there's no visible indication that focus is indeed on that tab/tablist

Contributor guide

No contributing guide indexed for this repository

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 at the demo page at https://reactcommunity.org/react-tabs/ and reproduce the keyboard sequence described in the issue, including the hidden source textarea and the tab/tablist focus state. Done means keyboard users can leave the source area normally, hidden content is not in the tab cycle, and focus on the tab or tablist is visibly indicated.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, react
Domain
accessibility, frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.