Automattic / Automattic/jetpack
VideoPress: Tab navigation gets hidden inside non-playing videos.
- Dominant language
- PHP
- Stars
- 1.8k
- Forks
- 898
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 774
Description
### Impacted plugin
VideoPress
### Quick summary
Navigating through the page with TAB feels like it gets hijacked by the VideoPress iFrame, as visually, the only component available is the play button, however all other controls in the iFrame (which are non-visible in this state) also pick up focus.
This gives the impression that TAB navigation has become broken, due to focussing on hidden elements.
### Steps to reproduce
1. Start at https://jetpack.com/support/jetpack-videopress/changing-a-videos-thumbnail/
2. TAB navigate through the page until you get focus on the play icon on the video in this page.
3. Do not hit enter to trigger playing.
4. TAB once more, notice your TAB focus is no longer visible.
It will take another 9 TABS before your focus re-appears on the play button, and a further TAB to continue on the page.
### A clear and concise description of what you expected to happen.
TAB navigation should be limited to visually available elements. I expected to TAB onto the play button, and then TAB onto the next focus element on the page if I chose not to hit ENTER and play.
### What actually happened
TAB navigation disappeared onto focusable elements in the VideoPress iFrame that are visually hidden.
### Impact
All
### Available workarounds?
No but the platform is still usable
### Platform (Simple and/or Atomic)
Simple, Atomic, Self-hosted
### Logs or notes
_No response_
Contributor guide
Research direction
Start by reproducing the issue from the linked Jetpack VideoPress support page and inspect the VideoPress iFrame's focus order after the play button receives focus. Done means TAB moves directly from the inactive play button to the next visible focusable element on the page without entering hidden video controls.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- accessibility, frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100