How to fix aria roles on Shopify
Audit every element that has a `role` attribute and replace any invalid, misspelled, or non-existent ARIA role value with a valid WAI-ARIA role from the official specification.
Steps for Shopify
- In your Shopify Admin, go to Online Store → Themes → (your active theme) → Actions → Edit code.
- Search across all Liquid/HTML files using the search box (top-left of code editor) for `role=` to find every instance.
- Open the relevant template file (e.g., `sections/header.liquid`, `snippets/product-card.liquid`, `layout/theme.liquid`) and fix or remove invalid role values.
- If the issue is in an app-injected widget (e.g., a chat widget, popup, or review app), contact the app developer — you cannot edit third-party app HTML directly.
- If using a theme with a built-in accessibility settings panel (e.g., Dawn), check Online Store → Themes → Customize for any role-related options.
- Save changes and verify with axe DevTools browser extension.
<!-- ❌ INVALID — role value does not exist in WAI-ARIA spec -->
<div role="card">Featured Product</div>
<nav role="navagation">...</nav>
<div role="flyout">...</div>
<!-- ✅ VALID — use correct WAI-ARIA role or native HTML element -->
<div role="region" aria-label="Featured Product">Featured Product</div>
<nav>...</nav> <!-- <nav> has implicit role="navigation" — no role attr needed -->
<div role="dialog" aria-modal="true" aria-label="Quick view">...</div>What is aria roles?
ARIA roles are special HTML attributes (e.g., `role="button"`) that tell screen readers and other assistive technologies what an element *is* and how it should behave. The WAI-ARIA specification defines a strict list of allowed role values — words like `button`, `navigation`, `dialog`, `alert`, `banner`, etc. An invalid ARIA role means you've used a value that doesn't exist in that list (for example, a typo like `role="navagation"`, an invented word like `role="card"`, or an outdated value). When a role is invalid, assistive technology simply ignores it, stripping away the accessibility context you intended to provide. WCAG Success Criterion 4.1.2 (Name, Role, Value) requires that all user interface components have roles that can be understood by assistive technology.
Screen reader users — who are often customers with visual impairments — rely entirely on ARIA roles to understand your page's structure and interactive elements. An invalid role means a screen reader may announce an element incorrectly (e.g., as plain text instead of a button), or skip it entirely, making menus, modals, forms, and key navigation landmarks unusable. This creates a direct barrier for disabled shoppers, exposes your store to legal risk under laws like the ADA (US), AODA (Canada), EAA (EU), and UK Equality Act, and can result in costly litigation or regulatory complaints. Google also uses accessibility signals as part of its quality assessments, so pages with broken ARIA markup can underperform in organic search compared to well-structured competitors.
See the complete Aria roles guide for every platform and the full background.
Not sure if your Shopify store has this?
Run a free SEOLZ audit — we’ll find aria roles and every other issue across your whole site.
Scan my site free