In one paragraph
Iframe missing title attribute means a tested embed lacks the outer title this source check expects. Provide concise wording identifying the embedded purpose, and compare that title with any other naming declarations. The title does not make the inner document accessible or keyboard-operable. Review source and rendered scope separately when the custom check and axe report different results or severities.
Why it matters
An iframe presents another document within the page. A useful outer name helps users decide whether to enter a map, video, booking tool, or payment interface. A generic Frame label provides little context even though it is non-empty.
The outer title, embedded document title, and player or form labels solve different problems. Do not assume one attribute repairs all content inside a vendor widget. Accessibility evidence and testing should include the actual embedded interaction.
Hidden or tracking frames require intent review rather than a blanket instruction to expose them. A source parser cannot tell every frame's visibility or whether its role should be presented to users. Keep product heuristics distinct from a full conformance assessment.
How WebAuditOS evaluates this finding
The supplied custom rule reads served HTML and expects a non-blank title on iframe elements with non-empty src. Any missing title fails at low severity; no eligible frame or unparseable content is not graded. It does not inspect ARIA naming or runtime injection.
The source also covers an axe frame-title rule on rendered samples, with different visibility, negative-tabindex, and naming paths, and serious impact mapped to high severity. These are separate checks with different coverage. They can disagree without either result proving complete embedded-content accessibility.
How to fix it
- Identify the exact embed and its purpose. Inspect source, rendered DOM, title, computed name, and whether a consent or loader component creates the frame later.
- Provide a useful outer title. For example:
<iframe src="/office-map" title="Brno office location map"></iframe>
This is illustrative. Use the actual resource and appropriate dimensions, security settings, and alternative information.
- Keep other names coherent. If aria-label or aria-labelledby is already intentional, inspect its precedence and meaning rather than adding a conflicting title solely for the source check.
- Distinguish different embeds naturally. Several videos can need subject-specific titles, while genuinely equivalent repeated content may not need arbitrary numeric names. Uniqueness and presence are separate review questions.
- Configure the template or provider integration at the source. Avoid fragile scripts that rename only the first iframe and leave later instances or responsive replacements untouched.
- Test dynamic and lazy-loaded frames after consent or interaction, alongside the initial HTML. A rendered finding can see content absent from a source check, while a source finding can include a hidden frame that axe skips.
- Test keyboard entry and exit, focus visibility, and the embedded task separately. For owned content, inspect its document and controls directly; for third parties, combine supplier evidence with integration testing.
- Rescan both outer naming checks and review any remaining scope differences. A clean title does not validate captions, forms, internal document structure, or cross-origin content the scanner does not inspect.
What the fix can break
Adding a meaningful title normally changes little visually, but scripts or tests may misuse it as an internal selector. Keep machine identifiers separate from human names.
A title copied from the provider can remain generic or stale after the content changes. Update metadata with the actual embed subject.
Do not weaken sandbox or other security settings just to simplify naming or focus tests. Repair the appropriate layer without discarding necessary protections.
Questions
Why can two checks show different severities?
The supplied source parser and rendered axe rule have different inputs and grading. Inspect which rule reported which element.
Does aria-label always satisfy the custom title check?
No. Its documented requirement is specifically the title attribute, while axe has other naming paths.
Does a title certify the embedded resource?
No. It identifies the outer context; internal accessibility requires separate assessment.
Which related checks help?
Review frame-title distinctions, frame keyboard access, and the automation limits guide.