iframe and frame titles: why each embedded frame needs a title
Every <iframe> needs a title attribute that describes its content to assistive tech. Without one, screen reader users hear "frame" and have no idea what's inside. It's a WCAG Level A failure and a one-attribute fix.
Every <iframe> needs a title attribute that describes its content to assistive tech. Without one, screen reader users hear "frame" and have no idea what's inside. It's a WCAG Level A failure and a one-attribute fix. The title attribute on an iframe gives screen readers a verbal description of the embedded content ("YouTube video player: Spring product launch", "Stripe payment form"). Without it, the iframe is opaque to assistive tech.
Last updated·
What it is
The title attribute on an iframe gives screen readers a verbal description of the embedded content ("YouTube video player: Spring product launch", "Stripe payment form"). Without it, the iframe is opaque to assistive tech.
Why it matters
WCAG 4.1.2 (Name, Role, Value) requires UI components have an accessible name. iframes without titles fail it. Search engines also use the title as context for the embedded content.
How to fix it
- Add title to every iframe. <iframe src="..." title="Stripe checkout form for Pro plan">. Describe what's inside, not "frame" or "iframe".
- Audit third-party embeds. YouTube, Vimeo, Twitter, Stripe — each embed comes with a default iframe. Wrap or modify to set a meaningful title per embed.
- Verify with screen reader. NVDA or VoiceOver should announce the iframe by its title, not "frame".
Authoritative sources
- Google Search Central documentation — Google
- Schema.org vocabulary — schema.org
- SEO Starter Guide — Google Search Central
- MDN — HTML meta and link elements — Mozilla MDN