accessibility-checker-engine
Version:
An automated accessibility checking engine for use by other tools
112 lines (97 loc) • 4.8 kB
HTML
<html lang="en-US">
<head>
<title>media_keyboard_controllable - Accessibility Checker Help</title>
<script>
RULE_MESSAGES = {"en-US":{"Pass_0":"Rule Passed","Manual_1":"Verify media using <audio> and/or <video> elements have keyboard accessible controls","group":"Media using <audio> and/or <video> elements must have keyboard accessible controls"}};
RULE_ID = "media_keyboard_controllable"
</script>
<!--
/******************************************************************************
Copyright:: 2022- IBM, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*****************************************************************************/
-->
<!-- Title and messages generated at build time -->
<link rel="icon" href="https://ibm.com/able/favicon-32x32.png" type="image/png">
<link rel="icon" href="https://ibm.com/able/favicon.svg" type="image/svg+xml">
<link rel="stylesheet" href="../common/help.css" />
<script type="module">
import "https://1.www.s81c.com/common/carbon/web-components/version/v1.35.0/code-snippet.min.js";
import "https://1.www.s81c.com/common/carbon/web-components/version/v1.35.0/list.min.js";
</script>
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
<script src="../common/help.js"></script>
</head>
<body>
<div class="bx--grid toolHelp">
<div class="bx--row">
<div class="bx--col-sm-4 bx--col-md-8 bx--col-lg-16 toolHead">
<!-- Group message injected here -->
<h3 id="ruleMessage"></h3>
<!-- Severity level injected here -->
<div id="locLevel"></div>
<!-- Rule specific message injected here -->
<p id="groupLabel"></p>
</div>
</div>
<div class="bx--row">
<div class="bx--col-sm-4 bx--col-md-5 bx--col-lg-8 toolMain">
<!-- Start main panel -->
<mark-down><script type="text/plain">
### Why is this important?
HTML5 `<audio>` and `<video>` elements embed media on the page.
Keyboard-only users must have keyboard access to the media controls to play, pause, increase and decrease volume.
A deaf user who cannot use a pointing device would need keyboard access to turn on captions.
<!-- This is where the code snippet is injected -->
<div id="locSnippet"></div>
### What to do
* If using custom audio and/or video controls, ensure they are made keyboard-operable by scripting
* **Or**, check to ensure default playback controls provided by the player allow easy keyboard navigation and control
For example:
```
<video id="demo" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support video.
</video>
<div>
<button onclick="document.getElementById('demo').play()">Play the Video</button>
<button onclick="document.getElementById('demo').pause()">Pause the Video</button>
<button onclick="document.getElementById('demo').volume+=0.1">Increase Volume</button>
<button onclick="document.getElementById('demo').volume-=0.1">Decrease Volume</button>
<button onclick="document.getElementById('demo').captions()">CC</button>
</div>
```
</script></mark-down>
<!-- End main panel -->
<!-- This is where the rule id is injected -->
<div id="ruleInfo"></div>
</div>
<div class="bx--col-sm-4 bx--col-md-3 bx--col-lg-4 toolSide">
<!-- Start side panel -->
<mark-down><script type="text/plain">
### About this requirement
* [IBM 2.1.1 Keyboard](https://www.ibm.com/able/requirements/requirements/#2_1_1)
* [Planning for video](https://www.ibm.com/able/toolkit/plan/release#planning-for-video)
* [Design UX - Media players](https://www.ibm.com/able/toolkit/design/ux/#media-players)
* [HTML - Media](https://html.spec.whatwg.org/multipage/media.html)
### Who does this affect?
* People using a screen reader, including blind, low vision, and neurodivergent people
* People with low vision who have trouble finding or tracking a pointer indicator on the screen
* People who physically cannot use a pointing device
</script></mark-down>
<!-- End side panel -->
</div>
</div>
</div>
</body>
</html>