How to fix aria dialog name on Shopify

Add a visible or programmatic accessible name to every dialog element so screen readers can announce what the dialog is about when it opens.

Steps for Shopify

  1. In your Shopify admin, go to Online Store → Themes → click the (…) menu next to your active theme → Edit code.
  2. Search across all .liquid files for 'role="dialog"' or 'role="alertdialog"' using the search box in the code editor (or look in sections/cart-drawer.liquid, sections/header.liquid, assets/theme.js for modal templates).
  3. For each match, find the visible heading inside the modal (e.g., <h2>Shopping cart</h2>), add a unique id to it (e.g., id="cart-dialog-title"), then add aria-labelledby="cart-dialog-title" to the element with role="dialog".
  4. If there is no heading, add aria-label="Cart" (or an appropriate name) directly to the role="dialog" element.
  5. Save the file and preview the theme. Use a screen reader or the axe DevTools browser extension to verify the dialog announces its name correctly.
Official Shopify documentation ↗

What is aria dialog name?

Any popup, modal, or overlay that uses `role="dialog"` or `role="alertdialog"` must have an accessible name — a short label that tells users what the dialog is for. This name is provided either by pointing to the dialog's own heading with `aria-labelledby`, or by writing the label directly into an `aria-label` attribute on the dialog element itself. Without it, a screen reader user hears something like "dialog" with no context when the popup opens, giving them no idea whether it's a cart, a cookie notice, a sign-in prompt, or anything else.

Screen reader users — including many people with visual impairments — rely entirely on the announced name of a dialog to orient themselves when it opens. A nameless dialog is effectively invisible to them: they may not know a popup has appeared, what it contains, or how to close it, which can block them from completing a purchase or any other task. This violates WCAG 2.1 Success Criterion 4.1.2 (Name, Role, Value) at Level A — the most basic level of conformance — creating real legal exposure under the ADA (US), EN 301 549 (EU), and equivalent laws in many other countries. Fixing it also signals to Google that your site is well-structured, and it prevents cart-abandonment from users who cannot interact with a broken modal (e.g., a checkout popup or cookie consent dialog).

See the complete Aria dialog name guide for every platform and the full background.

Not sure if your Shopify store has this?

Run a free SEOLZ scan — we’ll find aria dialog name and every other issue across your whole site.

Scan my site free

Fix aria dialog name on another platform