A webpage is not always broken because of a large mistake. Small details can produce exactly this problem: debugging: captions do not load. This guide shows you what to look for, a concrete fix, and how to check that it worked.
The Idea in Plain English
A track needs an accessible WebVTT file, correct relative URL, language and kind. Server MIME configuration can also matter.
You can test this using a small local HTML file. Change one part at a time and check the result in the browser before adding more code.
A Working Example
The first part shows a problem. The second part shows a safer or more accurate version. Compare them before reading the explanation.
<!-- Problem -->
<video controls src="lesson.mp4"><track src="captions.txt"></video>
<!-- Corrected example -->
<video controls src="lesson.mp4">
<track src="captions-en.vtt" kind="captions" srclang="en" label="English" default>
</video>
What Each Part Does
- The video element provides a video player when a compatible source exists.
- A track can provide subtitles, captions or other timed text.
- src points to the asset the browser should load.
Before the fix, the browser can behave incorrectly or report a warning. After the change, test the exact failure rather than assuming the page is fixed.
Try It Yourself
Load the .vtt URL directly and inspect its WebVTT header. Test the caption menu.
Common Beginner Mistakes
- Check the underlying cause before changing unrelated tags.
- Changing several parts of the example at once, making it difficult to see which part caused a different result.
- Choosing a tag only because its default appearance looks right, without checking whether it describes the content correctly.
Key Takeaways
- A track needs an accessible WebVTT file, correct relative URL, language and kind. Server MIME configuration can also matter.
- Before the fix, the browser can behave incorrectly or report a warning. After the change, test the exact failure rather than assuming the page is fixed.
- Test the markup in a browser, and check accessibility and real-world behavior where relevant.