Captions are the primary mechanism through which deaf and hard-of-hearing users access spoken video content. WCAG 2.2 SC 1.2.2 (Level A) requires captions for all prerecorded synchronized media; SC 1.2.4 (Level AA) extends this to live video. Section 508 2018 Refresh 503.4 mandates caption controls for AT users. An uncaptioned product demo, testimonial, or tutorial video excludes deaf users entirely from that content. Auto-generated captions from hosting platforms (YouTube, Vimeo) are frequently inaccurate and do not satisfy the synchronization or accuracy standards required by Section 508 procurement evaluators.
Medium because missing captions exclude deaf and hard-of-hearing users from video content specifically, but the failure is scoped to video elements rather than blocking site-wide navigation.
For self-hosted video, generate a WebVTT caption file and attach it with a <track> element:
<video controls width="100%">
<source src="/videos/product-demo.mp4" type="video/mp4" />
<track
kind="captions"
src="/captions/product-demo-en.vtt"
srclang="en"
label="English captions"
default
/>
</video>
For YouTube embeds, ensure the original video on YouTube has accurate captions (not just auto-generated). Validate accuracy—auto-generated captions often fail on proper nouns, technical terms, and accented speech. For Vimeo, upload a .vtt file through Vimeo's caption manager. Use tools like caption.ninja or Otter.ai to generate a first-pass VTT file, then manually correct errors before publishing.
gov-section-508.multimedia-documents.video-captionsmedium<video> tags and embedded video players (YouTube, Vimeo, etc.) throughout the project. Check whether each video has captions or subtitles. Captions should be synchronized to audio and include speaker identification if multiple speakers are present. Closed captions (CC) are preferred and must be toggled on by default or always visible."6 videos embedded via YouTube iframes. None have captions enabled or auto-generated. 2 product demo videos on /products have no captions. 1 testimonial video has open captions but they are misaligned with the audio by 2-3 seconds."<video> elements, add <track> tags with VTT caption files:
<video width="640" height="480" controls>
<source src="product-demo.mp4" type="video/mp4" />
<track kind="captions" src="captions-en.vtt" srclang="en" label="English" />
</video>
For YouTube embeds, enable captions in the embed settings or ensure videos on YouTube have captions. For Vimeo, use Vimeo's caption feature or upload a VTT file.