How to fix presentation role conflict on Adobe Commerce (Magento)

Remove conflicting ARIA attributes and tabindex from elements that are marked as presentational (role="presentation" or role="none"), so screen readers consistently ignore them.

Steps for Adobe Commerce (Magento)

  1. Identify the conflicting element via browser DevTools and note which template file (*.phtml) or layout XML file is responsible (use template hints: Stores → Configuration → Advanced → Developer → Debug → Enable Template Path Hints).
  2. In your custom theme directory (app/design/frontend/<Vendor>/<theme>/), locate the relevant .phtml file.
  3. Open the file and find the element with role="presentation" or role="none" that also carries aria-* attributes or tabindex.
  4. Edit the element to remove the conflicting attribute(s) per the generic steps, then save.
  5. From the Magento CLI run: php bin/magento cache:flush and php bin/magento setup:static-content:deploy.
  6. Reload the storefront page and verify with axe DevTools that the conflict is resolved.
Official Adobe Commerce (Magento) documentation ↗
<!-- ❌ WRONG: role="presentation" conflicts with aria-label and tabindex -->
<div role="presentation" aria-label="decorative divider" tabindex="0">
  <img src="divider.png" alt="">
</div>

<!-- ✅ CORRECT (option A): purely decorative — remove all conflicting attributes -->
<div role="presentation">
  <img src="divider.png" alt="">
</div>

<!-- ✅ CORRECT (option B): element actually needs to be announced — remove the presentational role -->
<div aria-label="Section divider" tabindex="0">
  <img src="divider.png" alt="">
</div>

What is presentation role conflict?

In HTML, you can tell screen readers to ignore a purely decorative element by giving it `role="presentation"` or `role="none"`. However, if that same element also has global ARIA attributes (like `aria-label`, `aria-describedby`, `aria-hidden`, etc.) or a `tabindex` attribute, the browser and screen reader disagree about whether to expose the element — creating a conflict. Some screen readers will override the presentational role and announce the element anyway, while others will silently discard it, leading to unpredictable and often broken experiences for users who rely on assistive technology.

Screen reader users — including people with visual impairments — depend on a consistent, predictable page structure. When presentational-role conflicts exist, they can cause screen readers to announce decorative or layout elements that serve no informational purpose, cluttering the experience and confusing users. This violates WCAG 2.1 Success Criterion 4.1.2 (Name, Role, Value), which is a Level A requirement — the most basic level of accessibility compliance. Failing Level A criteria creates legal exposure under laws like the ADA (US), EN 301 549 (EU), and the Equality Act (UK), and can result in lawsuits or regulatory complaints. Fixing these conflicts also demonstrates a baseline commitment to accessibility that protects your brand reputation and broadens your potential customer base.

See the complete Presentation role conflict guide for every platform and the full background.

Not sure if your Adobe Commerce (Magento) store has this?

Run a free SEOLZ audit — we’ll find presentation role conflict and every other issue across your whole site.

Scan my site free

Fix presentation role conflict on another platform