WCAGdesk
axe-core: frame-title · WCAG 2.4.1 Bypass Blocks / Page Titled · Level A

How to fix the “frame-title” accessibility issue

The axe-core frame-title rule fails when an <iframe> has no title. Screen readers list frames by title; without one the user hears “frame” with no idea what it contains. WCAG 2.2 (4.1.2 / 2.4.1, Level A) requires a meaningful title.

What axe-core checks

axe-core fails any <iframe> or <frame> with no title attribute, or an empty/whitespace one.

Which standard this maps to

WCAG 2.22.4.1 Bypass Blocks / Page Titled (Level A)
EN 301 5499.2.4.1
BFSG / EAABFSG § 12 via EN 301 549 · EAA Annex I
CategoryStructure & Landmarks

Why it matters

Shops embed payment widgets, maps, videos and chat as iframes. An untitled payment iframe at checkout is the worst place to lose a screen-reader user — and a Level A failure.

Common causes

  • Embedded video/map/chat iframes with no title
  • Payment provider iframes inserted by a script
  • Tracking/ad iframes that should be hidden instead
  • Same generic title repeated on every frame

How to fix it

Add a concise title describing the frame's content. Hide purely decorative or off-screen tracking iframes with aria-hidden where appropriate.

<!-- Fails -->
<iframe src="/checkout-widget"></iframe>

<!-- Passes -->
<iframe src="/checkout-widget" title="Secure card payment"></iframe>

FAQ

Title or aria-label on the iframe?

title is the conventional and best-supported way to name an iframe. aria-label also works but title is preferred here.

What about hidden tracking iframes?

If a frame carries no user-facing content, it is better hidden from the accessibility tree than given a title.

Find every issue like this on your site

Run a free WCAG 2.2 AA scan — real axe-core engine, no signup. Or get a timestamped evidence report for €29.