Make <video> and <audio> controls keyboard navigable
Categories
(Toolkit :: Video/Audio Controls, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox86 | --- | fixed |
People
(Reporter: davidb, Assigned: Jamie)
References
(Depends on 1 open bug, Blocks 1 open bug)
Details
(6 keywords)
Attachments
(10 files, 1 obsolete file)
(deleted),
patch
|
MarcoZ
:
review+
Dolske
:
review-
|
Details | Diff | Splinter Review |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details |
Reporter | ||
Comment 1•16 years ago
|
||
Reporter | ||
Comment 2•16 years ago
|
||
Comment 3•16 years ago
|
||
Comment 4•16 years ago
|
||
Reporter | ||
Comment 5•16 years ago
|
||
Comment 6•16 years ago
|
||
Comment 7•16 years ago
|
||
Comment 8•16 years ago
|
||
Comment 9•16 years ago
|
||
Comment 10•16 years ago
|
||
Comment 11•16 years ago
|
||
Comment 12•16 years ago
|
||
Comment 13•16 years ago
|
||
Reporter | ||
Comment 14•16 years ago
|
||
Comment 15•16 years ago
|
||
Comment 16•16 years ago
|
||
Comment 17•16 years ago
|
||
Reporter | ||
Comment 18•16 years ago
|
||
Comment 19•16 years ago
|
||
Reporter | ||
Comment 20•16 years ago
|
||
Reporter | ||
Comment 21•16 years ago
|
||
Reporter | ||
Comment 22•16 years ago
|
||
Comment 23•16 years ago
|
||
Reporter | ||
Comment 24•16 years ago
|
||
Comment 25•16 years ago
|
||
Comment 26•16 years ago
|
||
Comment 27•16 years ago
|
||
Comment 28•16 years ago
|
||
Reporter | ||
Updated•16 years ago
|
Reporter | ||
Comment 29•16 years ago
|
||
Updated•16 years ago
|
Reporter | ||
Comment 30•15 years ago
|
||
Reporter | ||
Comment 31•15 years ago
|
||
Reporter | ||
Comment 32•15 years ago
|
||
Comment 33•15 years ago
|
||
Reporter | ||
Comment 34•15 years ago
|
||
Comment 37•15 years ago
|
||
Updated•15 years ago
|
Comment 38•14 years ago
|
||
Comment 39•14 years ago
|
||
Comment 40•12 years ago
|
||
Reporter | ||
Updated•10 years ago
|
Comment 41•10 years ago
|
||
Reporter | ||
Updated•10 years ago
|
Comment 42•9 years ago
|
||
Reporter | ||
Comment 43•8 years ago
|
||
Comment 45•8 years ago
|
||
Comment 46•8 years ago
|
||
Comment 47•7 years ago
|
||
Comment 48•7 years ago
|
||
Comment 49•7 years ago
|
||
Comment 50•7 years ago
|
||
Updated•6 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 52•5 years ago
|
||
On second thought, access-p2 because the controls are still operable with keyboard, despite the lack of discoverability.
Comment 53•5 years ago
|
||
Updating the Accessibility Team's impact assessment to conform with the new triage guidelines. See https://wiki.mozilla.org/Accessibility/Triage for descriptions of these whiteboard flags.
Assignee | ||
Comment 54•4 years ago
|
||
Firefox's lack of keyboard focusable video/audio controls is a reason cited for using custom video players instead of native controls. See this article. All other browsers have keyboard focusable controls (albeit with various problems); see this table. Prominent custom video players have keyboard focusable controls, including Youtube.
While our current keyboard shortcuts for controlling a video might be more efficient than individually focusable controls, they're not at all discoverable. It's also difficult for a screen reader user to know when they can be used; i.e. when focus lands in a place where they'll work. Furthermore, there's no reason we can't have both and that's precisely what Youtube and others do.
As for the concerns raised in comment 23 and elsewhere, I think we should follow Youtube here. Given the prominence of Youtube, it doesn't seem unreasonable to assume that this has not caused significant challenges for users.
- The controls should be shown when you press tab/shift+tab and then hide after a few seconds, similar to the mouse over behaviour.
- Individual controls should get a focus indicator if you tab to them.
- The focused control should not lose focus when it gets hidden. That does mean that keyboard behaviour will potentially be impacted by a control that is currently visually hidden. However, users can easily tab/shift+tab if they need to confirm where focus is.
- When focused on a button, space/enter should activate that button, not unconditionally play/pause.
- When focused on a slider, the cursor keys should be handled solely by that slider.
Assignee | ||
Comment 55•4 years ago
|
||
(In reply to James Teh [:Jamie] from comment #55)
- When focused on a slider, the cursor keys should be handled solely by that slider.
I've run into a snag here. Making this change reintroduces bug 1350191: when you click on the scrubber, the scrubber gets focus, so up/down arrows now interact with the scrubber and seek the video.
I can't find a way to fix this. We don't want the scrubber to get focus when clicked, but there's no way to prevent this except to preventDefault() for mousedown, which breaks the scrubber altogether.
Interestingly, Youtube's video controls have the same issue.
I'm also fairly sure this bug already exists for the mute button. If you click the mute button, it gets focus, so now pressing space toggles mute instead of play/pause.
Assignee | ||
Comment 56•4 years ago
|
||
Updated•4 years ago
|
Assignee | ||
Comment 57•4 years ago
|
||
This was added to prevent visual confusion, since otherwise, the full screen button could be focused while the controls were hidden.
Now that the controls show when focused, this is no longer necessary.
Assignee | ||
Comment 58•4 years ago
|
||
Assignee | ||
Comment 59•4 years ago
|
||
For example, if we're focused on the volume slider, rightArrow should increase the volume, not seek.
In order to prevent up/down arrows from seeking after clicking on the scrubber (which focuses it), we redirect focus after a mousedown on the scrubber.
The same is done for the volume control.
Assignee | ||
Comment 60•4 years ago
|
||
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Assignee | ||
Comment 61•4 years ago
|
||
Assignee | ||
Comment 62•4 years ago
|
||
Updated•4 years ago
|
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 63•4 years ago
|
||
Assignee | ||
Comment 64•4 years ago
|
||
Updated•4 years ago
|
Comment 65•4 years ago
|
||
Comment 66•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/99453fec6d45
https://hg.mozilla.org/mozilla-central/rev/e0b6a37114e2
https://hg.mozilla.org/mozilla-central/rev/8a6d25038f81
https://hg.mozilla.org/mozilla-central/rev/405075fec7c7
https://hg.mozilla.org/mozilla-central/rev/6a8138e05fba
https://hg.mozilla.org/mozilla-central/rev/121f91db6fa9
https://hg.mozilla.org/mozilla-central/rev/10ca44a47b2f
https://hg.mozilla.org/mozilla-central/rev/1979dc1e3d86
https://hg.mozilla.org/mozilla-central/rev/26bbc0bbde69
Updated•1 year ago
|
Updated•1 year ago
|
Description
•