mirror of
https://github.com/videojs/video.js.git
synced 2024-11-28 08:58:46 +02:00
fix: add support for :focus-visible selector (#5483)
Add support for focus-visible so that mouse-users don't need to see focus outlines but keyboard and Screen Reader users still do. It includes both the standard selector and the selector intended to work with the polyfill: https://github.com/WICG/focus-visible. The polyfill is *not* included in Video.js and must be included on the page separately. Fixes #5474.
This commit is contained in:
parent
4827110bba
commit
b8fe624f9e
41
sandbox/focus-visible.html.example
Normal file
41
sandbox/focus-visible.html.example
Normal file
@ -0,0 +1,41 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Video.js Sandbox</title>
|
||||
|
||||
<!-- Load the source files -->
|
||||
<link href="../dist/video-js.css" rel="stylesheet" type="text/css">
|
||||
<script src="../dist/video.js"></script>
|
||||
<script src="../node_modules/videojs-flash/dist/videojs-flash.js"></script>
|
||||
|
||||
<!-- Set the location of the flash SWF -->
|
||||
<script>
|
||||
videojs.options.flash.swf = '../node_modules/videojs-flash/node_modules/videojs-swf/dist/video-js.swf';
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div style="background-color:#eee; border: 1px solid #777; padding: 10px; margin-bottom: 20px; font-size: .8em; line-height: 1.5em; font-family: Verdana, sans-serif;">
|
||||
<p>You can use /sandbox/ for writing and testing your own code. Nothing in /sandbox/ will get checked into the repo, except files that end in .example (so don't edit or add those files). To get started make a copy of index.html.example and rename it to index.html.</p>
|
||||
<pre><b>npm start</b> will automatically copy these files over from .example if they don't already exist.</pre>
|
||||
<pre>open http://localhost:9999/sandbox/focus-visible.html</pre>
|
||||
</div>
|
||||
|
||||
<video id="vid1" class="video-js vjs-default-skin" controls preload="auto" width="640" height="264"
|
||||
poster="http://vjs.zencdn.net/v/oceans.png"
|
||||
data-setup='{"controlBar": {"volumePanel": {"inline": false}}}'>
|
||||
<source src="http://vjs.zencdn.net/v/oceans.mp4" type="video/mp4">
|
||||
<source src="http://vjs.zencdn.net/v/oceans.webm" type="video/webm">
|
||||
<source src="http://vjs.zencdn.net/v/oceans.ogv" type="video/ogg">
|
||||
<track kind="captions" src="../docs/examples/shared/example-captions.vtt" srclang="en" label="English">
|
||||
<p class="vjs-no-js">To view this video please enable JavaScript, and consider upgrading to a web browser that <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a></p>
|
||||
</video>
|
||||
<p>This demo shows how to implement polyfill for the <b>:focus-visible</b> selector. You can read more about the polyfill <a href="https://github.com/WICG/focus-visible"> here</a>.</p>
|
||||
<script>
|
||||
var vid = document.getElementById("vid1");
|
||||
var player = videojs(vid);
|
||||
|
||||
</script>
|
||||
<script src="https://unpkg.com/focus-visible"></script>
|
||||
</body>
|
||||
</html>
|
@ -52,3 +52,12 @@
|
||||
border: none;
|
||||
z-index: -1000;
|
||||
}
|
||||
|
||||
// The rule is needed for :focus-visible polyfill
|
||||
.js-focus-visible .video-js *:focus:not(.focus-visible) {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.video-js *:focus:not(:focus-visible) {
|
||||
outline: none;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user