
<object> element has no text alternative, so screen readers and crawlers see nothing. Fix it by adding fallback content inside the element or an aria-label, or by swapping to a proper <img> or <svg> where that fits.What the check is flagging
The HTML <object> element embeds an external resource: a PDF, an SVG, a legacy Flash movie, an image, or another nested browsing context. Unlike <img>, an <object> has no alt attribute. Its text alternative comes from a different place, and when that place is empty, assistive technology and crawlers get handed a black box with no idea what it contains.
So "Object Needs Alt" is not literally asking for an alt= attribute. It is telling you the element exposes no accessible name and no fallback text. A screen reader lands on it and announces something useless like "object" or nothing at all. That is a real barrier for the person using it, and it trips accessibility scanners because it fails WCAG 2.1 success criterion 1.1.1, Non text Content, which requires a text alternative for anything that is not text.
Why it matters beyond ticking a box
Two reasons, and I care about both. First, accessibility is the point, not a side effect. If your embedded chart, diagram, or document carries information and there is no text alternative, a blind or low vision user simply does not get that information. Second, there is an SEO overlap. Search engines lean on the same text signals assistive tech does. Content locked inside an opaque embedded object with no surrounding description is content a crawler struggles to understand or index. An empty object is a dead spot on the page for both audiences.
Honestly, a lot of these flags show up on old PDFs and diagrams that someone dropped in years ago and forgot. The fix is usually quick. The annoying part is that there are several right answers depending on what the object is, so let me lay those out.
How an object gets its accessible name
The fixes, in order of preference
1. Provide fallback content inside the object. Anything between the opening and closing tags is shown when the object cannot render and is used as the accessible description. This is the native, best supported route.
<object data="q3-revenue.pdf" type="application/pdf"> <p>Q3 revenue report. <a href="q3-revenue.pdf">Download the PDF</a>.</p> </object>
2. Add an aria-label or aria-labelledby. When you cannot restructure the markup, name the object directly. Use aria-labelledby to point at a visible caption so the sighted and unsighted descriptions stay in sync.
<object data="org-chart.svg" type="image/svg+xml"
aria-label="Company org chart, 2026"></object>3. Swap to a better element. If the object is really just an image or an SVG, do not embed it as an object at all. Use <img> with a proper alt, or inline <svg> with a <title> and role="img". Simpler markup, fewer edge cases.
4. If it is purely decorative, mark it aria-hidden="true" so assistive tech skips it cleanly instead of announcing an unnamed object. Only do this when the object carries zero information.
Which fix for which case
| Object contains | Best fix | Why |
|---|---|---|
| Embedded PDF | Fallback text plus download link | Gives everyone a way to reach the file |
| Informative SVG or chart | aria-label, or inline the svg with a title | Conveys the data the graphic shows |
| A plain image | Replace with an img and alt | Native alt support, simpler markup |
| Decorative flourish | aria-hidden true | Removes noise for screen readers |
How to detect it at scale
You will not find these by eyeballing pages. Use tools that parse the DOM:
- Screaming Frog crawls the site and its accessibility and custom extraction features can surface object elements missing a name.
- axe DevTools and WAVE in the browser flag objects with no text alternative directly against WCAG 1.1.1.
- Lighthouse in Chrome DevTools includes accessibility audits that catch unnamed embedded content.
- Sitebulb runs accessibility checks across a full crawl, handy for finding every offending object at once.
- A real screen reader pass with NVDA or VoiceOver is the ground truth. If it announces "object" and moves on, you have a problem no scanner report replaces.
DO and DON'T
- Put meaningful fallback content inside the object tag.
- Use aria-labelledby to reuse a visible caption.
- Swap to img or inline svg when that is what it really is.
- Give a PDF object a plain download link.
- Confirm the fix with an actual screen reader.
- Leave the object empty and hope crawlers cope.
- Add aria-hidden to something that carries information.
- Stuff the filename in as the description.
- Assume an object supports a plain alt attribute.
- Ship the fix on scanner green alone, with no manual test.
FAQ
Can I just add alt to the object tag?
Does this affect SEO or only accessibility?
Should I still be using object at all?
What if the object is decorative?
How do I test the fix worked?
We run a full technical and accessibility crawl, catch every unnamed object, missing alt, and crawl trap, and hand you a prioritized fix list.
Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.
About SEO ProCheck
Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.
Work With Me
Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.







