Blog What the free audit finds Part 5 of 9

Embedding video without breaking accessibility

A pasted YouTube link arrives with no name for screen readers and often no captions. Here is what an embedded video needs and how to add it without touching the video.

What a screen reader hears

An embedded video is a frame from another website placed inside your page. A screen reader announces the frame before the visitor decides whether to enter it. If the frame has no title, the announcement is the word frame and nothing else, or the address of the video service. The visitor cannot tell whether it is a message from the director or a background loop.

The fix is a title attribute on the frame that says what the video is: the annual meeting keynote, a tour of the new clinic. Automated checks flag its absence on every page, and it is the single most common accessibility finding on organization sites we scan.

Captions are required

Prerecorded video with speech needs captions under WCAG 2.1 at level AA, the accessibility standard every public body and most funders point to. Automatic captions from the video service are only a starting point. They miss names, numbers, and anyone with an accent, and a wrong number in a caption is worse than no caption at all.

Budget for corrected captions. The video service lets you edit the automatic text in place, and a ten-minute video takes about half an hour to correct. Captions also make the video searchable, and they let people watch with the sound off, which is how most people watch on a phone.

Nothing plays by itself

Sound that starts on its own drowns out the audio a screen reader user depends on, and it annoys everyone else. The standard is plain: no audio that plays automatically for more than three seconds unless there is a control to stop it. Leave autoplay off. If a page needs a moving background, keep it muted, short, and easy to stop.

A transcript, or at least a summary

Some visitors cannot use the video at all: someone on a slow connection, someone whose office network blocks the video service, a deaf-blind visitor with a braille display. A transcript below the video works for them, and it is also text that search engines can index. When a full transcript is not available, a two-paragraph summary is the acceptable minimum.

Doing it on WordPress

The standard embed block takes a link and gives you no field for a frame title. The reliable way is a custom HTML block with the embed code from the video service, edited by hand.

The same snippet solves two other problems. The lazy attribute keeps the video player from loading until the visitor scrolls near it, so a heavy player is not slowing down the first paint. The service's privacy address, when it offers one, stops it from setting cookies until the visitor presses play. That matters for the privacy notice on your own site.

Show the code Hide the code HTML, 7 lines
<iframe
  src="https://www.youtube-nocookie.com/embed/VIDEO_ID"
  title="2026 annual meeting: the executive director's report"
  loading="lazy"
  allow="picture-in-picture"
  allowfullscreen>
</iframe>

Give the frame a width and height in the page's styles so it holds its space before it loads. Otherwise the page jumps when the player arrives, which is the subject of an earlier part of this series.

What the free audit catches

The free audit checks your homepage with the same automated accessibility rules a compliance reviewer starts with. It reports a frame without a title by name, and it reports autoplay when the player declares it. No machine can check captions or transcripts, so those two are yours to check by hand.

Run the free audit on your site

This check is part of the free audit. Enter your domain to see what it finds on your site.

Public information only. Results in about a minute.