Skip to main content

iFrame Titles

iFrame Titles

iFrames are used to embed content like videos, maps, forms, and chat widgets on a page. If an iframe contains meaningful content, it needs an accessible name so screen reader users know what it is.

Why titles matter

Screen readers may announce an iframe as just “frame.” With a title, users hear something like “frame, Customer support chat,” which helps them:

  • understand what the embed is for,
  • move through the page faster (especially with multiple iframes),
  • know when an iframe includes controls they can use.

What makes a good title

A good iframe title is:

  • Specific (“Store locator map”)
  • Short
  • Helpful in context (add details when needed)
  • Unique (when there’s more than one)

Avoid vague titles like “iframe,” “widget,” or “embedded content.”

Techniques

There are several techniques available for adding a title to an iFrame

Add a title (recommended default)

The easiest and most reliable way is to add a title.

<iframe src="https://example.com/newsletter-signup" title="Newsletter signup form" >
  </iframe>

If you have multiple iframes, make titles unique

<iframe src="..." title="Product demo video: Model A"></iframe>
  <iframe src="..." title="Product demo video: Model B">
</iframe>

ARIA options

While using title is usually preferred, use aria-labelledby if there’s visible text you want to reuse such as a nearby heading:

<h2 id="chat-heading">Customer support chat</h2>
<iframe src="..." aria-labelledby="chat-heading">
</iframe>

Use aria-label if there’s no visible label:

<iframe src="..." aria-label="Customer support chat">
</iframe>
Last modified