Skip to content

A11Y Cheat Sheet

Powered byA11y University

Names, roles & states

A Frame on the Page Has No Name

Screen reader users reach an embedded frame — a video, map or form — but hear only "frame", so they can't tell what's inside or whether to enter.

frame-titleWCAG 2.0Introduced in WCAG 2.0.Level AA — the minimum. Missing it blocks people outright.

Status
SeriousSerious — Significant friction, or information that is lost.CurrentScanners run this rule today.
Owner
DevContentTest
Audit
Automated+ManualA scanner finds it; a person confirms the fix.

Why it matters

A frame (an iframe) puts another web page inside yours, like a YouTube video, a map or a payment form. Screen readers list frames and announce them as people move through the page.

Without a name, the person hears "frame" or a meaningless web address. They must go inside and explore to learn what it is, then find their way back out.

Who it affects

Who it affects, and how much
WhoWhat they experienceImpact
Screen reader usersThey hear "frame" or a long web address, with no clue whether it's a video, an ad or the checkout form.High impact
Low-vision users (magnification)Affected only if they also use a screen reader, as many do.Partial impact
Cognitive and neurodivergent usersScreen reader users with memory or attention difficulties lose track when frames sound the same.Partial impact

Business & product impact

Business & product impact, with how much each claim weighs
AreaWhyImpact
LegalIt fails WCAG 4.1.2 at Level A, the minimum. Complaints under Australia's Disability Discrimination Act point to WCAG 2.2 AA, and EN 301 549 applies in Europe.High impact
ConversionPayment, booking and chat tools often sit in frames. If people can't find them, they can't finish.Moderate impact
SEOSearch engines ignore frame titles for ranking. No real search benefit.Low impact
Brand trustUnlabelled third-party embeds make a site feel careless to screen reader users.Low impact
Cost to fixA one-attribute fix. Put it in the shared embed component and every frame gets it.High impact

Fixing it in code

An embedded video

Don't

<iframe src="https://www.youtube.com/embed/abc123"></iframe>

A screen reader says: “frame”

Do

<iframe src="https://www.youtube.com/embed/abc123" title="Video: How to set up your account"></iframe>

A screen reader says: “Video: How to set up your account, frame”

The title attribute gives the frame a name screen readers announce.

A hidden tracking frame

Don't

<iframe src="/tracker.html" width="0" height="0"></iframe>

A screen reader says: “frame”

Do

<iframe src="/tracker.html" width="0" height="0" title="Analytics, no content" aria-hidden="true" tabindex="-1"></iframe>

A screen reader says: “(nothing — the frame is skipped)”

Frames with nothing to read should be named and hidden from screen readers.

Designer's handoff note

When you place an embed in a design, write its frame title in the notes — short, unique and saying what it is, like "Map: our Sydney office".

Quick test

Tool

NVDA (opens in a new tab) (free, Windows)

Checklist

Pass
Each frame has a clear, unique name that says what it holds.
Fail
You hear just "frame", a web address, or the same name twice.

Check these at the same time

What a green scan still misses

A scanner checks that a name exists. It can't tell if "iframe1" or "Untitled" actually describes the content — a person must judge that.

Reference

Rule ID
frame-title
Raised by
  • axe-core: “Frames must have an accessible name”
WCAG
Other standards
EN 301 549 9.4.1.2 · RGAA 2.1.1
Last reviewed
14 October 2026