Skip to content
SilktideHelp

Presentation role on interactive element

Silktide checks for interactive elements, such as buttons, links and form fields, that have been marked as purely decorative. Marking an interactive element this way strips its meaning for assistive technology while leaving it clickable on screen.

<!-- Problem: the button still works, but announces as nothing -->
<button role="presentation">Delete</button>

<!-- Fix: remove the role -->
<button>Delete</button>

Why this matters

The roles presentation and none tell an element has no meaning - they exist for stripping semantics from things like layout tables. Applied to an interactive element, they create the worst kind of barrier: a control that sighted mouse users click every day, but that a presents as inert content or skips entirely. The user has no way to know a button is even there.

How to fix it

  1. Remove the role="presentation" or role="none" from the interactive element. Native elements already expose the correct meaning without any role.
  2. If the element truly should not be interactive, make it so: replace it with a non-interactive element such as <div>, and remove any tabindex.
  3. If you were trying to suppress a wrapper's meaning (for example, a layout table around controls), put the role on the wrapper, not on the controls inside it.

How Silktide tests this

  1. Find every element on the page with role="presentation" or role="none".
  2. Determine whether the element is interactive: a button, a link or image map area with an href, a form field, or any element placed in the keyboard tab order with tabindex of 0 or higher.
  3. Report each interactive element carrying a presentational role.

Elements taken out of the tab order with a negative tabindex are not reported, and neither are decorative elements such as images or SVG graphics.

Troubleshooting

A framework or library added the role

Some UI libraries apply role="presentation" to internal wrappers, and occasionally to the wrong element. Inspect the reported element: if it is genuinely operable by mouse but silenced for assistive technology, the fix belongs in your usage of the library or upstream.

This check reports nothing even though I expect findings

ARIA testing can be turned off per site. Check the advanced settings for the site.

Learn more

Last updated

Was this page helpful?