Skip to content
StoreA11y

Shopify · 1.1.1 Non-text Content (Level A)

<object> embeds have no text alternative on Shopify

Some <object> elements carry no alternative text. A screen reader announces an unlabelled embedded object with nothing to identify it. On a store this is usually an embedded PDF size guide or a legacy media embed.

Which WCAG criterion this fails

  • Does not meet 1.1.1 Non-text Content (Level A)

How to fix it on Shopify

Everything below is done from Online Store > Themes > Edit code. Take a copy of the theme before editing.

  1. Put descriptive text inside the <object> element — it is read when the object cannot be rendered — and add aria-label with the same description.
  2. For a PDF, a plain link to the file is more usable than an embed: shoppers can then open it in their own reader with their own zoom and voice settings.
  3. For video or audio, replace <object> with <video>/<audio> or a titled <iframe>.

Where this usually lives

Custom Liquid blocks, sections/main-page.liquid, rich-text content pasted into a page

Paths given for Dawn and its derivatives (Sense, Craft, Refresh, Studio). A heavily customised theme may differ; the CSS selector in your scan report points at the exact element.

Code

<object data="/files/size-guide.pdf" type="application/pdf" aria-label="Size guide, PDF">
  <a href="/files/size-guide.pdf">Download the size guide (PDF, 240 KB)</a>
</object>

How to confirm it is fixed

Re-run the scan. This rule should drop out of the findings entirely. If the instance count falls but does not reach zero, the same defect exists in another template — product cards and quick-view modals are the usual second home for it.

Effort: low. Rule id: object-alt (axe-core).