Skip to content
Pandus

WCAG A/AA requirement Priority: Serious

Some elements use a role that does not exist

Some elements have a role attribute with a misspelled, made-up or abstract value, so assistive technology cannot tell what they are.

This text was translated automatically and has not been reviewed by a native speaker yet.

Why it matters to your customers

Screen readers may announce a menu, tab, popup or button as plain text, or skip it. Shoppers who rely on them can miss navigation, filters or checkout controls.

Who is affected

  • blind customers
  • screen reader users
  • voice control users

How to fix it

Use only valid ARIA roles from the WAI-ARIA specification, spelled correctly in lowercase, for example role="button", role="navigation" or role="dialog". Do not use abstract roles such as "widget", "landmark" or "input". Better still, use the native HTML element (<button>, <nav>, <dialog>) and remove the role.

On Shopify

Usually in custom theme code or app widgets such as menus, sliders and popups. Fix the role in the theme's Liquid sections or snippets; ask app developers to fix roles their apps add.

On Shoptet (CZ)

Uncommon in standard templates; more likely in custom code or added scripts. Ask Shoptet or a partner to check the template and any custom code.

On PrestaShop

Usually in theme templates or modules such as menus and sliders. Fix the role in the theme's .tpl files or overridden module templates.

On WooCommerce

Usually in themes, page builders or slider and popup plugins. Fix the role in child-theme templates; report plugin markup to the plugin author.

Standards

Standards
StandardClause
WCAG 2.2 4.1.2 (A) Name, Role, Value
WCAG 2.1 4.1.2 (A) Name, Role, Value
WCAG 2.0 4.1.2 (A) Name, Role, Value
EN 301 549 4.1.1 9.4.1.2
EN 301 549 3.2.1 9.4.1.2
Section 508 2017 E205.4
ДСТУ EN 301 549 2022 9.4.1.2

Automated check: axe-core rule aria-roles. dequeuniversity.com, github.com, www.w3.org

All rules we check