Name, Role, Value
Every UI component must expose a name, role, and (where relevant) value to assistive technology — typically through native HTML or ARIA attributes.
What it requires
A button needs a programmatic name ("Add to cart"), a programmatic role (`button`), and — if it is stateful — a value or state (`aria-pressed="true"`, `aria-expanded="false"`). Native HTML elements provide all three for free; custom widgets must explicitly declare them through ARIA.
Common failures: icon-only buttons with no aria-label, custom dropdowns with no role="combobox" or aria-expanded, tab panels with no role="tab" / role="tabpanel" connection.
Common Shopify failure
Theme cart-icon button at the top right is `<a href="/cart"><svg>...</svg></a>` with no accessible name. Screen readers announce "link" with no description.
How to fix it
Add `aria-label="Open cart"` to the link and `aria-hidden="true"` to the inner SVG. For icon-only buttons that toggle state (filter open/closed), add `aria-expanded` that updates with the state.
Merchant QA checklist
- Scan the storefront page where this pattern appears: product pages, collection pages, cart drawer, customer-account pages, and any landing page built with theme sections.
- Confirm the issue is fixed in the rendered browser output, not only in the Liquid file. Shopify section settings, app blocks, and third-party scripts can reintroduce the same 4.1.2 failure after a theme edit.
- Re-test the affected component with keyboard navigation and a screen-reader accessibility tree before publishing the theme, especially when the fix changes markup or ARIA attributes.
How AccessComply handles it
AccessComply uses automated rules to check supported patterns in the pages reached during a scan. Some WCAG requirements need human judgment, assistive-technology testing, or access to third-party content and cannot be established by an automated scan. This criterion is generally treated as a pattern that may have a supported suggested fix. If the app can safely match the issue to supported source code, the merchant must review and approve the suggested change before anything is written, and the result is checked afterward. Otherwise the merchant should use the guidance above and independent hands-on testing. The label is not a guarantee of detection, a fix, WCAG conformance, or legal compliance.
Primary source: W3C — WCAG 2.0 Understanding 4.1.2