---
title: "Video has no captions (a11y/video-caption)"
description: "a11y/video-caption: Deaf and hard-of-hearing users miss everything said in a video without captions."
canonical: https://void-design.vercel.app/rules/a11y/video-caption
lastModified: 2026-09-16
---

# Video has no captions

`a11y/video-caption` · severity **error** · category Accessibility · detected by `void a11y` and `void audit`

## Why it matters

Deaf and hard-of-hearing users miss everything said in a video without captions. Captions also serve anyone watching with the sound off.

## How to fix it

Provide captions with <track kind="captions"> or burned-in captions from the video host.

## Example

```
<video controls><source src="/demo.mp4"><track kind="captions" src="/demo.en.vtt" srclang="en" label="English"></video>
```

## References

- https://dequeuniversity.com/rules/axe/4.13/video-caption

## More accessibility rules

`void a11y` reports 48 rules in this category. WCAG 2.2 AA through axe-core, plus checks axe can't do alone: visible keyboard focus, 24/44px target size on mobile, 320px reflow and disabled zoom.

- `link-in-text-block` Links in text are distinguished only by color — [a11y/link-in-text-block](https://void-design.vercel.app/rules/a11y/link-in-text-block)
- `autocomplete-valid` Invalid autocomplete value — [a11y/autocomplete-valid](https://void-design.vercel.app/rules/a11y/autocomplete-valid)
- `meta-viewport` Zooming is disabled — [a11y/meta-viewport](https://void-design.vercel.app/rules/a11y/meta-viewport)
- `bypass` No way to skip repeated content — [a11y/bypass](https://void-design.vercel.app/rules/a11y/bypass)
- `axe-other` Other axe-core accessibility violation — [a11y/axe-other](https://void-design.vercel.app/rules/a11y/axe-other)
- `target-size` Touch target is smaller than 24×24 px — [a11y/target-size](https://void-design.vercel.app/rules/a11y/target-size)
- `focus-not-visible` Keyboard focus is not visible — [a11y/focus-not-visible](https://void-design.vercel.app/rules/a11y/focus-not-visible)
- `reflow-overflow` Content overflows horizontally at 320px — [a11y/reflow-overflow](https://void-design.vercel.app/rules/a11y/reflow-overflow)

Detected by `void a11y` and `void audit`. Explain it in a terminal: `void rules a11y/video-caption`
