object-text-alternative-quality
<object> text alternative must be appropriate (manual review)
Flags <object> elements with detected fallback or name for human review of equivalence and appropriateness.
Applies to. Applies to <object> elements that already carry a text alternative: fallback text content, a non-empty aria-label, an aria-labelledby that resolves to non-empty text, or a non-empty title. An <object> with none of those is object-text-alternative-present's failure, not a quality question. The element must be included in the accessibility tree, and role="presentation"/"none" takes it out of scope unless it is focusable, which restores its role. An object whose type, or failing that its data URL's extension, names an HTML page, a PDF or plain text is left out, as object-text-alternative-present leaves it out: it renders no non-text content (ACT 8fc3b6). So is a Flash object (type="application/x-shockwave-flash", or with no type a data URL ending in .swf): no current browser runs Flash (support ended in 2021), so the object draws nothing itself and the browser shows its fallback content, ordinary HTML the other rules judge. Nothing non-text is left for 1.1.1 (ACT 8fc3b6).
Expectation. Human review is required to confirm that the provided text alternative is accurate and appropriate.
What a finding reports.
reasonCode:TEXT_ALTERNATIVE_REVIEW.fallbackText: the text content inside the <object>, trimmed, ornullwhen there is none.ariaLabel: thearia-labelvalue, ornullwhen there is none.ariaLabelledBy: thearia-labelledbyvalue, the ids it points to, ornullwhen there is none.ariaLabelledByText: the text of the elementsaria-labelledbypoints to. Only looked up when there is noaria-label;nullotherwise or when it resolves to nothing.title: thetitlevalue, ornullwhen there is none.
These data.details fields help to read and reproduce a finding. Apart from reasonCode and the few fields Output schema names as stable, they are not a stable contract: a field may be renamed or dropped in a minor release, so don’t build on them.
Examples
<object data="sales-chart.png" type="image/png">Sales chart</object>
Fallback text is present — worth confirming "Sales chart" is genuinely equivalent to the image, not just a filler caption.
<object data="sales-chart.png" type="image/png"></object>
No fallback content, ARIA name, or title exists to review; that's object-text-alternative-present's failure instead.
<object data="brochure.pdf" type="application/pdf">Product brochure (PDF)</object>
A PDF renders text, not non-text content, so 1.1.1 asks nothing of it (ACT 8fc3b6), as object-text-alternative-present has it too.
How to check
When this rule can’t decide, it reports cantTell and leaves the question to a person. Each question it can ask is listed here under its reason code, with the steps to answer it. A finding carries the same steps as howToCheck, in the scan’s language. See Output schema.
TEXT_ALTERNATIVE_REVIEW
- Look at the object the report names and note what it shows or does (image, chart, animation, player).
- Read its text alternative from the report (fallback text, aria-label, aria-labelledby text or title), or in the Accessibility pane of the developer tools.
- If the text alternative only names the object, as is common for charts and diagrams, the details may be given elsewhere: in a caption, text or a table next to it, or a link beside it. That counts only if a screen reader user can find it from the object and it gives everything the object shows.
- Compare: does the text, with any such description, say what the object shows, or, for a control or player, what it is for?
Pass. The text alternative, alone or with a description a screen reader user can reach from it, describes the object's content or purpose accurately.
Fail. The text alternative is wrong or vague (such as "object" or a file name), or misses what the object conveys and no description reachable from it gives that, which fails WCAG 1.1.1.