com um clique
media-accessibility
Video/audio accessibility: WebVTT/SRT/TTML captions, audio descriptions, accessible media player ARIA, and WCAG 1.2.x compliance.
Menu
Video/audio accessibility: WebVTT/SRT/TTML captions, audio descriptions, accessible media player ARIA, and WCAG 1.2.x compliance.
Baseado na classificação ocupacional SOC
Use for web accessibility work in HTML, JSX, CSS, ARIA, keyboard, forms, contrast, modals, live regions, headings, links, tables, or WCAG review; starts accessibility-lead first and uses tool_search if subagent tools are lazy-loaded.
Developer tools accessibility router for Python, wxPython, desktop accessibility APIs, NVDA add-ons, scanner tooling, CI tooling, and accessibility developer experience.
Document accessibility router for Word, Excel, PowerPoint, PDF, EPUB, Office remediation, PDF remediation, and accessible generated documents.
GitHub workflow accessibility router for PR review, issues, Actions, releases, projects, security alerts, notifications, repository management, and accessible contributor workflows.
Markdown accessibility router for docs, README files, headings, links, tables, alt text, diagrams, generated docs, and publication-ready accessible markdown.
Compute web accessibility scores (0-100, A-F grades) with severity scoring, confidence levels, and remediation tracking across audits.
| name | media-accessibility |
| description | Video/audio accessibility: WebVTT/SRT/TTML captions, audio descriptions, accessible media player ARIA, and WCAG 1.2.x compliance. |
Reference data for video, audio, and streaming media accessibility. Used by media-accessibility agent and any web agent encountering <video> or <audio> elements.
| SC | Level | Requirement | Test |
|---|---|---|---|
| 1.2.1 | A | Audio-only/video-only: provide text transcript or audio track | Transcript exists alongside media |
| 1.2.2 | A | Captions for prerecorded audio in video | Synchronized captions present |
| 1.2.3 | A | Audio description OR text alternative for prerecorded video | Description track or full transcript |
| 1.2.4 | AA | Captions for live audio in video | Real-time captioning active |
| 1.2.5 | AA | Audio description for prerecorded video | Description track present |
| 1.2.6 | AAA | Sign language for prerecorded audio | Sign language interpretation video |
| 1.2.7 | AAA | Extended audio description | Paused video for long descriptions |
| 1.2.8 | AAA | Media alternative for prerecorded video | Full text alternative document |
| 1.2.9 | AAA | Audio-only (live): text alternative | Real-time text transcript |
WEBVTT
00:00:01.000 --> 00:00:04.000
Welcome to the accessibility course.
00:00:04.500 --> 00:00:08.000
Today we'll cover caption best practices.
00:00:08.500 --> 00:00:12.000
<v Speaker 2>Let's start with file formats.
Key rules:
WEBVTT headerHH:MM:SS.mmm --> HH:MM:SS.mmm<v Speaker Name>Text1
00:00:01,000 --> 00:00:04,000
Welcome to the accessibility course.
2
00:00:04,500 --> 00:00:08,000
Today we'll cover caption best practices.
Key rules:
| Metric | Requirement |
|---|---|
| Accuracy | 99%+ word accuracy |
| Synchronization | Within 1 second of audio |
| Speaker identification | Required when 2+ speakers |
| Sound effects | Describe in brackets: [applause], [phone rings] |
| Music | Describe: [upbeat music], [dramatic orchestral score] |
| Caption rate | Maximum 200 words per minute (3 words/second) |
| Line length | Maximum 32 characters per line |
| Lines per caption | Maximum 2 lines |
| Placement | Bottom center default; move for on-screen text |
Audio description narrates visual information during pauses in dialogue.
Requirements:
HTML implementation:
<video controls>
<source src="video.mp4" type="video/mp4">
<track kind="captions" src="captions-en.vtt" srclang="en" label="English" default>
<track kind="descriptions" src="descriptions-en.vtt" srclang="en" label="English Audio Descriptions">
</video>
Every media player must have keyboard-accessible controls for:
role="button", aria-label="Play" / aria-label="Pause")role="slider", aria-label="Volume", aria-valuemin, aria-valuemax, aria-valuenow)role="slider", aria-label="Seek", aria-valuetext="2 minutes 30 seconds")role="button", aria-pressed, aria-label="Toggle captions")role="button", aria-label="Enter fullscreen" / aria-label="Exit fullscreen")<div aria-live="polite" class="sr-only" id="player-status">
<!-- Announce: "Playing", "Paused", "Video ended", "Captions on", "Captions off" -->
</div>
| Key | Action |
|---|---|
| Space / Enter | Play/Pause |
| Left Arrow | Rewind 5 seconds |
| Right Arrow | Forward 5 seconds |
| Up Arrow | Volume up |
| Down Arrow | Volume down |
| M | Mute/Unmute |
| C | Toggle captions |
| F | Toggle fullscreen |
<div aria-live="polite"> container| Issue | WCAG SC | Severity |
|---|---|---|
| No captions on prerecorded video | 1.2.2 | Critical |
| Auto-generated captions without review | 1.2.2 | Serious |
| No audio description for visual-only content | 1.2.5 | Serious |
| Inaccessible media player controls | 2.1.1, 4.1.2 | Critical |
| No keyboard access to play/pause | 2.1.1 | Critical |
| Autoplay without user control | 1.4.2 | Serious |
| Volume slider not keyboard-operable | 2.1.1 | Serious |
| No transcript for audio-only content | 1.2.1 | Critical |
| Captions poorly synchronized (>2s drift) | 1.2.2 | Moderate |
| Missing speaker identification in captions | 1.2.2 | Moderate |