Aria command name
Moderate effortFound on 5% of audited stores.
Add a discernible, screen-reader-accessible name to every button, link, and menuitem that uses an ARIA command role so assistive technology can announce what it does.
What it is
Every interactive element on your site that acts as a button, link, or menu item must have a text label that screen readers can announce to the user. When these elements use ARIA roles (like `role="button"`, `role="link"`, or `role="menuitem"`) but have no visible text, no `aria-label`, and no `aria-labelledby` pointing to descriptive text, screen readers have nothing to say — so blind and low-vision shoppers hear only "button" or "link" with no context. The WCAG 4.1.2 criterion (Name, Role, Value) requires that all user interface components have a programmatically determinable name. An "aria-command-name" failure means one or more of these elements on your store is completely unlabelled for assistive technology.
Why it matters
Screen reader users — a significant and legally protected segment of online shoppers — cannot understand or activate unlabelled controls, directly costing you sales and causing cart abandonment. In many jurisdictions (including the US under the ADA and the EU under the European Accessibility Act), inaccessible e-commerce sites expose store owners to lawsuits, regulatory fines, and reputational damage. Beyond legal risk, Google's algorithms increasingly factor in accessibility signals, and a better-structured, labelled site typically earns stronger crawlability and engagement metrics. Fixing this issue removes a hard blocker for disabled shoppers and demonstrates your commitment to an inclusive customer experience.
How to fix it
- Identify every element flagged with the aria-command-name failure — these are typically icon-only buttons (cart, search, close, social share), image links, or custom menu items built with ARIA roles but no visible text.
- For each element, choose the right labelling technique: (a) add visible text inside the element, (b) add an `aria-label` attribute with a short, descriptive action phrase (e.g., `aria-label="Add to cart"`), or (c) add `aria-labelledby` pointing to the `id` of a nearby descriptive element.
- If the element shows only an icon or SVG, keep the icon visible but add `aria-label` on the element itself and set `aria-hidden="true"` on the icon/SVG so screen readers skip the decorative graphic and read only the label.
- If the element contains an `<img>`, ensure that image has a meaningful `alt` attribute — this also serves as the accessible name.
- After editing, use a browser accessibility checker (e.g., axe DevTools browser extension) to re-scan and confirm the rule no longer fires for those elements.
- Test with a real screen reader (NVDA + Chrome on Windows, or VoiceOver + Safari on macOS/iOS) to verify the announced name makes sense in context.
<!-- BEFORE: icon-only button with no accessible name -->
<button role="button">
<svg aria-hidden="true" focusable="false">...</svg>
</button>
<!-- AFTER option 1: aria-label on the button -->
<button aria-label="Add to cart">
<svg aria-hidden="true" focusable="false">...</svg>
</button>
<!-- AFTER option 2: visually-hidden text inside the button -->
<button>
<svg aria-hidden="true" focusable="false">...</svg>
<span class="sr-only">Add to cart</span>
</button>
<!-- CSS for .sr-only (visually hidden but readable by screen readers) -->
<style>
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0,0,0,0);
white-space: nowrap;
border: 0;
}
</style>Fix it on your platform
Pick your platform for the exact steps.
How to fix aria command name on Shopify
- Go to Online Store → Themes → click the three-dot menu next to your active theme → Edit code.
- Open the relevant Liquid template or snippet (e.g., sections/header.liquid, snippets/cart-icon.liquid, or snippets/icon-*.liquid) where the unlabelled button or link lives.
- Locate the `<button>`, `<a>`, or element with a custom ARIA role and add `aria-label="Descriptive action"` as an HTML attribute, e.g. `<button aria-label="Open cart">`. If it contains an SVG, also add `aria-hidden="true"` to the SVG tag.
- For icon fonts (e.g. Font Awesome), wrap the icon in a `<span aria-hidden="true">` and add a `<span class="visually-hidden">Label text</span>` sibling (Shopify's Dawn theme already includes a `.visually-hidden` CSS class).
- Save the file, then preview the theme and re-run axe DevTools in your browser to verify the fix.
How to fix aria command name on Shopify Plus
- Follow the same Liquid code-editing steps as Shopify above; Shopify Plus gives you the same theme code editor plus access to checkout.liquid.
- For unlabelled elements specifically inside the checkout (e.g. remove-item buttons), edit checkout.liquid (available only on Shopify Plus) and add the appropriate aria-label attributes.
- Use Shopify's Accessibility app or a third-party accessibility overlay audit to surface remaining issues after editing.
How to fix aria command name on WooCommerce
- In WordPress admin, go to Appearance → Theme File Editor (or use a child theme / local editor).
- Locate the template file that renders the unlabelled element — common culprits are header.php, functions.php template parts, or WooCommerce template overrides in woocommerce/templates/.
- Add `aria-label="Descriptive action"` to the offending `<button>` or `<a>` tag. For SVG icons, add `aria-hidden="true"` to the SVG and a visually-hidden `<span class="screen-reader-text">Label</span>` inside the button (WordPress core ships with the .screen-reader-text CSS class).
- Alternatively, install the free 'WP Accessibility' plugin which can patch common missing labels without touching code.
- Save changes and verify with the axe browser extension on the front end.
How to fix aria command name on BigCommerce
- Go to Storefront → My Themes → click Customize on the active theme, or click Advanced → Edit Theme Files to access the raw Handlebars/HTML files.
- Find the template file containing the problematic element (e.g. templates/components/header/navigation.html or templates/components/cart/preview.html).
- Add `aria-label="Descriptive action"` to the element. For SVG icons embedded inline, add `aria-hidden="true"` to the `<svg>` tag and insert a visually-hidden `<span>` with the label text.
- Save and push changes, then use the BigCommerce Theme Preview and run axe DevTools to confirm the fix.
How to fix aria command name on Wix
- Open the Wix Editor for your site.
- Click the unlabelled button or icon element on the canvas to select it.
- In the Settings or Accessibility panel (look for the 'Accessibility' section in the element settings panel on the left), enter a descriptive label in the 'Accessible label' or 'aria-label' field — Wix exposes this for buttons and links.
- For elements inside Wix's custom code blocks (Velo/Dev Mode), open the code panel and add the `aria-label` attribute programmatically via `$w('#elementId').setAttribute('aria-label', 'Descriptive action');`.
- Publish and verify with axe DevTools.
How to fix aria command name on Squarespace
- Squarespace has limited direct HTML editing; go to Website → Pages, open the page, and click Edit on the relevant section.
- For standard Squarespace buttons, use the button's text field to ensure there is always visible label text — never leave a button with only an icon and no text.
- For custom Code Blocks (Website → Pages → Edit → Add Block → Code), locate the HTML and add `aria-label="Descriptive action"` directly to the button or link tag.
- For site-wide elements (navigation, cart icon), go to Settings → Advanced → Code Injection and add a small JavaScript snippet: `document.querySelectorAll('.your-selector').forEach(el => el.setAttribute('aria-label', 'Open cart'));` — use browser DevTools to identify the correct CSS selector.
- Save and republish; verify with the axe browser extension.
How to fix aria command name on Webflow
- Open the Webflow Designer for your project.
- Select the unlabelled button, link block, or icon element in the canvas.
- In the right-hand Settings panel (gear icon), scroll to the 'Accessibility' section and fill in the 'Aria Label' field with a short, descriptive phrase (e.g., 'Open navigation menu').
- For elements containing only an SVG, also select the SVG element and in its Settings panel set 'Aria Hidden' to 'true' so screen readers skip the decorative graphic.
- Publish the project and verify with axe DevTools in your browser.
How to fix aria command name on Adobe Commerce (Magento)
- Identify the unlabelled element's source template by enabling Magento template hints (Stores → Configuration → Advanced → Developer → Debug → Enable Template Path Hints for Storefront).
- Copy the relevant .phtml template to your custom theme under app/design/frontend/<Vendor>/<theme>/ maintaining the same directory structure.
- Open the copied template and add `aria-label="Descriptive action"` to the `<button>` or `<a>` tag. For inline SVGs, add `aria-hidden="true"` and a visually-hidden `<span class="sr-only">Label</span>` inside the element.
- If using Knockout JS / UI Components (e.g., minicart), edit the corresponding .html knockout template in the same theme override path.
- Run `bin/magento cache:flush` and `bin/magento setup:static-content:deploy` then verify with axe DevTools on the storefront.
How to fix aria command name on Magento Open Source
- Follow the same theme-override and template-editing steps as Adobe Commerce (Magento) above.
- Locate the relevant .phtml or Knockout .html template, copy it to your custom theme, add `aria-label` (and `aria-hidden="true"` on decorative SVGs), flush cache, and re-deploy static content.
How to fix aria command name on PrestaShop
- In your PrestaShop back office, go to Design → Theme & Logo → Your current theme and use the theme editor or FTP/file manager to access theme templates.
- Locate the relevant .tpl (Smarty) file (e.g., themes/your-theme/templates/_partials/header.tpl or cart-summary.tpl).
- Find the unlabelled `<button>` or `<a>` and add `aria-label="Descriptive action"`. For SVG icons, add `aria-hidden="true"`.
- Clear the PrestaShop cache (Advanced Parameters → Performance → Clear cache) and verify on the front end with axe DevTools.
How to fix aria command name on Drupal
- In Drupal admin, go to Appearance and identify your active theme.
- In your custom or sub-theme, locate the Twig template file responsible for the unlabelled element (e.g., button.html.twig, menu.html.twig).
- Add `aria-label="{{ 'Descriptive action'|t }}"` to the element tag (using Drupal's translation function for internationalisation). Add `aria-hidden="true"` to decorative SVGs.
- Rebuild the Twig cache (Configuration → Development → Performance → Clear all caches, or `drush cr`) and verify with axe DevTools.
Does your site have this issue?
Run a free SEOLZ audit to find aria command name — and every other issue — across your whole site in minutes.
Scan my site freeFrequently asked questions
What is Aria command name?
Every interactive element on your site that acts as a button, link, or menu item must have a text label that screen readers can announce to the user. When these elements use ARIA roles (like `role="button"`, `role="link"`, or `role="menuitem"`) but have no visible text, no `aria-label`, and no `aria-labelledby` pointing to descriptive text, screen readers have nothing to say — so blind and low-vision shoppers hear only "button" or "link" with no context. The WCAG 4.1.2 criterion (Name, Role, Value) requires that all user interface components have a programmatically determinable name. An "aria-command-name" failure means one or more of these elements on your store is completely unlabelled for assistive technology.
Why does aria command name matter?
Screen reader users — a significant and legally protected segment of online shoppers — cannot understand or activate unlabelled controls, directly costing you sales and causing cart abandonment. In many jurisdictions (including the US under the ADA and the EU under the European Accessibility Act), inaccessible e-commerce sites expose store owners to lawsuits, regulatory fines, and reputational damage. Beyond legal risk, Google's algorithms increasingly factor in accessibility signals, and a better-structured, labelled site typically earns stronger crawlability and engagement metrics. Fixing this issue removes a hard blocker for disabled shoppers and demonstrates your commitment to an inclusive customer experience.
How do I fix aria command name?
Add a discernible, screen-reader-accessible name to every button, link, and menuitem that uses an ARIA command role so assistive technology can announce what it does.
Authoritative references
- How to fix this specific rule — Deque/axe (rule reference)
- WCAG 2 overview — W3C WAI
- ARIA basics — MDN