CaptionPass
ProductConvertLearnPricingComplianceEnterpriseDocs
Sign inCreate accountDashboardConvert & fix free
CaptionPass

Professional caption delivery QA for editors and producers.

Product

  • Free caption converter
  • Fix captions
  • Pricing
  • What is CaptionPass?
  • API
  • Sign in
  • Dashboard
  • Compliance
  • Accessibility
  • Enterprise
  • Verify a receipt
  • About
  • Changelog

Learn

  • SRT vs VTT
  • YouTube caption upload issues
  • Why your captions are not showing
  • Fix overlapping subtitles
  • Educators
  • All guides →

Legal

  • info@captionpass.com
  • Privacy
  • Terms

© 2026 CaptionPass. Caption reliability layer for delivery.CaptionPass is in early access — features and limits may change. Spotted something off? Use Send feedback above.

Home/Learn/Checking captions against WCAG 2.1 AA

Last updated August 28, 2026 (UTC)

How to check captions against WCAG 2.1 AA

“Are these captions WCAG compliant?” is not quite answerable as asked, and the gap between what people mean and what a file can establish is where most caption compliance claims go wrong. This page is about running the check honestly: per criterion, with the criteria that cannot be settled named rather than quietly dropped.

A check that reports only what it found is easy to pass. The result worth having names what it could not determine too — here is one that does.

See a real conformance receipt — generated through the production engine on every page load, no account needed.

Verify a receipt you were sent — including one we hold no copy of.

What CaptionPass does about compliance — for a reader who arrived here having never heard of it.

The criteria a caption file bears on

WCAG 2.1 Level AA contains a great deal that has nothing to do with captions. For a caption track it comes down to these, and to how much of each a file can settle:

WCAG 2.1 Level AA caption criteria and what a caption file can settle
CriterionWhat it requiresWhat a caption file can settle
1.2.2Captions (Prerecorded)Captions are provided for all prerecorded audio content in synchronized media.Partly checkedThe file can show this failing, but cannot show it passing. No findings means nothing detectable is wrong — not that the criterion is met.A caption file proves captions exist, and can show they start late or skip stretches of the programme. It cannot prove they cover all audio, because that comparison needs the audio.
1.2.4Captions (Live)Captions are provided for all live audio content in synchronized media.Not evaluatedNothing in a caption file can settle this. It is reported as not evaluated and is never marked passed.Live captioning is a property of the broadcast, not of a delivered file. Nothing in a sidecar can settle it.

Cited from W3C Web Content Accessibility Guidelines 2.1, Level AA (W3C Recommendation, 5 June 2018) — read the standard.

Running the check

The thing that makes a result citable is that the standard was named on the request, so the verdict comes back per criterion rather than as a score. In CaptionPass that is a standard selection in the project workbench, or a standard field on POST /api/v1/process for a scripted check in CI.

The anonymous converter on the home page does not take a standard — it grades against a delivery preset, which answers the different question of whether a platform will accept the file. Both are useful; only one of them produces evidence.

The check is deterministic. The same file gives the same verdict, and every finding points at the cue that caused it, which is what lets somebody argue with the result instead of having to trust it.

What a clean result establishes

Less than it looks like, and saying so is the difference between evidence and marketing. For a criterion the file can only ever disprove, no findings means nothing detectable is wrong — not that the criterion is met.

WCAG conformance is also a property of the delivered experience: the player, the page, and the audio together. A caption file is one input. What a check establishes is what that input was tested against and what it found — which is precisely what a VPAT caption row needs, and precisely what an assurance does not provide.

Related reading

For authoring practice — reading speed, sound tags, contrast on burned-in captions — see WCAG-minded captions. That guide is about making captions good; this one is about establishing what they were checked against. If you are here because of a deadline, start with evidencing ADA Title II captions.

What this is not. A conformance receipt is evidence of what was checked, by which engine, against which version of which standard, and what it found. It is not a legal opinion, an audit, or a safe harbour. CaptionPass reads the caption file and never the audio, so anything that needs the audio — above all whether the captions match what was said — is reported as not evaluated rather than assumed.

Common questions

How do I check captions against WCAG 2.1 AA?
Name the standard on the request. In CaptionPass that is a standard selection in the project workbench, or a "standard" field on POST /api/v1/process for a scripted check. The anonymous converter on the home page does not take one — it grades against a delivery preset, which answers a different question. The check itself is deterministic: the same file gives the same verdict, per criterion, with each finding pointed at the cue that caused it, and the criteria it could not settle named rather than omitted.
Which WCAG criteria apply to captions?
1.2.2 Captions (Prerecorded) — Captions are provided for all prerecorded audio content in synchronized media. 1.2.4 Captions (Live) — Captions are provided for all live audio content in synchronized media.
Does passing the check mean the captions are WCAG conformant?
Not on its own. WCAG conformance is a property of the delivered experience — the player, the page, and the audio together — and a caption file is one input to it. What the check establishes is what the file was tested against and what it found, per criterion, with the untestable ones named as untestable rather than quietly omitted.
Why does WCAG 2.1 AA matter for US public bodies?
The technical standard named by the ADA Title II web rule for state and local government content, due 26 April 2027 for large entities and 26 April 2028 for small ones. Takes effect 26 April 2027 — 7 months away.

Convert your captions free

Upload on CaptionPass, pick a delivery preset, and download upload-ready output with optional enhanced formatting — free tier, no account required.

Convert & fix free →

More guides

  • Free online caption converter — SRT, VTT, and delivery QAHow CaptionPass works as a free caption converter with upload-ready and enhanced exports, platform presets, and explainable fixes. Try the same presets on the homepage tool or Quick fix before you open a Pro project.
  • SRT to VTT converter guide — headers, timestamps, and pitfallsWhen to convert SRT to WebVTT, what breaks if you rename extensions, and how to validate before HTML5 or YouTube delivery. CaptionPass converts and validates both formats in the dashboard workbench and v1 API.
  • SRT vs VTT — when each format silently failsComma vs dot timestamps, WEBVTT headers, and where YouTube, TikTok, and HTML5 bite. Run either format through the homepage tool or POST /api/v1/process to see explainable fixes before delivery.
  • Caption file encoding — UTF-8, BOM, and garbled textWhy uploads show mojibake or blank cues: UTF-8 vs legacy encodings and quick fixes. CaptionPass ingest reports flag encoding issues in the workbench Checks tab and v1 processing errors.
  • Burned-in vs soft subtitles — what to deliver whenOpen captions burned into the picture vs separate SRT/VTT tracks — tradeoffs for editors and clients. Pro users can mux or burn-in via v1 render jobs after sidecar QA in the workbench.
  • Reading speed for captions — CPS, line length, and platformsCharacters per second, lines per cue, and where YouTube, TikTok, and HTML5 push back. Platform presets in the dashboard and v1 API apply the same CPS and line-length rules automatically.
  • YouTube caption upload issues — silent rejection and timingWhen Studio accepts a file but captions vanish: format, line length, drift, and how to validate before publish. Export with the YouTube preset from Deliver or v1 before you upload to Studio.
  • YouTube rejected my SRT — invalid file and Studio errorsWhen YouTube Studio blocks an SRT upload: encoding, index gaps, bad timestamps, and how to validate before you retry. Quick fix and the homepage tool surface the same diagnostics as a failed v1 run.
  • Caption timing drift after export from Premiere or DaVinciWhy captions slip after NLE export: frame rates, timecode starts, and how to normalize before YouTube or client delivery. Pro drift diff in the workbench compares revisions after you re-import from an NLE.
  • CaptionPass vs generic subtitle convertersFormat swap tools vs delivery QA: explainable fixes, platform presets, and when each approach fits your workflow. CaptionPass adds Checks, receipts, and handoff packs on top of one-shot homepage conversions.
  • CaptionPass vs Subtitle EditDesktop authoring vs delivery QA: when to use Subtitle Edit for editing and CaptionPass for platform-safe validation and API automation. Ship Subtitle Edit exports through the dashboard workbench or v1 API for final QA.
  • Caption QA API for CI/CD pipelinesAutomate SRT and VTT validation in GitHub Actions or your build pipeline with POST /api/v1/process and Bearer API keys. Keys and usage meters live under dashboard Automate alongside export webhooks.
  • TikTok subtitle format — short lines, CPS, and clean SRTVertical video reading speed, styling stripped on upload, and export settings that survive TikTok delivery. Use the social-shorts handoff profile or TikTok preset from Deliver before upload.
  • Why your captions are not showing — a triage guideHTML5, YouTube, and TikTok checks when subtitles vanish after upload. Cross-check workbench preflight and History receipts to confirm what CaptionPass actually exported.
  • Fix overlapping subtitlesWhat overlap means and why some players drop overlapping cues. CaptionPass flags overlapping_cues in Checks and can auto-fix via Fix again or v1 process.
  • TTML and DFXP — broadcast-style timed text on the webNamespaces, timing, styling stripped in practice, and when TTML is the right interchange vs SRT or WebVTT. Convert inbound TTML through v1 or the homepage tool when clients deliver broadcast sidecars.
  • CaptionPass JSON IR and the developer-json presetLossless-ish cue interchange for tooling: when to use JSON IR, version tag, and how it pairs with the HTTP API. Request the developer-json preset from POST /api/v1/process or export it from the workbench.
  • Timecode, frame rate, and caption syncWhy captions drift or jump: drop-frame vs non-drop, fractional frame rates, and export settings that survive upload. Pro drift panel and v1 diff help confirm sync after re-export from an NLE.
  • WCAG-minded captions — reading speed, sound tags, and burned-in contrastHow WCAG 1.2.x thinking maps to real files: CPS, line length, SDH-style cues, and contrast for open captions. Platform presets in the dashboard enforce readable CPS before you hand off to clients.
  • Educators & classrooms — CaptionPass for instructionPartner program for instructors: API keys, workspace pilots, Learn guides, and classroom-appropriate access. Students can start with the free homepage tool before moving to dashboard projects.
  • How to evidence ADA Title II captionsWhat the DOJ web rule requires for captions, what counts as evidence rather than an assurance, and what a per-asset conformance record contains. Deadlines are dated and cited, and the tense is computed so the page cannot describe a passed deadline as upcoming.
  • What goes in the caption rows of a VPATWhich WCAG criteria are the caption rows of an Accessibility Conformance Report, which conformance level each evidence outcome actually supports, and why Not Evaluated beats an unjustified Not Applicable.
  • The FCC's four caption quality standardsAccuracy, synchronicity, completeness and placement under 47 CFR 79.1(j)(2) — what each requires, and precisely which of them a caption file can and cannot settle.

Fix in CaptionPass

Free caption converter · Homepage tool · HTTP API (v1) · Pro workspace