When to use ARIA
Last Updated: July 7, 2025
ARIA enables us to create rich experiences on the web for people with disabilities. Using it responsibly can be the difference between a usable or unusable website or application. But the overuse or misuse of ARIA comes up as one of the most common issues in accessibility code audits.
This page explains when you should and shouldn’t use ARIA.
Glossary
WAI-ARIA | WAI-ARIA, the Accessible Rich Internet Applications Suite, defines a way to make web content and web applications more accessible to people with disabilities. It especially helps with dynamic content and advanced user interface controls developed with HTML, JavaScript, and related technologies. Source: W3C, WAI-ARIA Overview |
ARIA | Shorthand for “WAI-ARIA.” |
Accessibility Labels | The equivalent of ARIA for native app development. |
Semantic HTML | The word "semantic" has a few meanings. In computer science, semantics provides the rules for interpreting expressions of code. In this case, semantics lays out the rules for how HTML (the code) gets interpreted. Those rules govern structure and meaning. Source: The A11y Project, What is Semantic HTML? |
What is ARIA?
MDN web docs defines ARIA as:
a set of roles and attributes that define ways to make web content and web applications (especially those developed with JavaScript) more accessible to people with disabilities.
ARIA supplements HTML so that interactions and widgets commonly used in applications can be passed to assistive technologies when there is not otherwise a mechanism. For example, ARIA enables accessible JavaScript widgets, form hints and error messages, live content updates, and more.
When semantic HTML doesn’t provide the necessary roles or attributes needed to make an element accessible by default, ARIA is used to fill the gap.
The five rules of ARIA
Don’t use ARIA unless you have to. Follow these rules, as defined by the W3C (Using ARIA):
If you can use a native HTML element or attribute with the semantics and behavior you require already built in, instead of re-purposing an element and adding an ARIA role, state or property to make it accessible, then do so.
Explanation: Always lean on HTML first. Applying ARIA generally means more complexity for decision making and outcomes for assistive technologies.
Ask yourself: “Am I using custom components when semantic HTML would suffice?”
Do not change native semantics, unless you really have to.
Explanation: Changing the native semantics of an element, means it won't work as expected, and the team that's changed it needs to take responsibility for ensuring it works properly. This creates the need for extra testing, user research and engineering time. There can be good reasons to do this, but tread carefully.
Ask yourself: “Why am I changing the native behavior of this element?”
All interactive ARIA controls must be usable with the keyboard.
Explanation: Basic keyboard functionality provides essential compatibility between any interactive component on the web and assistive technology. Without it, the interactive component won't work.
Ask yourself: “Can I use a keyboard to access this component?”
Do not use role="presentation" or aria-hidden="true" on a focusable element.
Explanation: Similar to keyboard functionality, removing the ability to move focus to an interactive element makes it useless to assistive technology. That's what
role="presentation"
oraria-hidden="true"
do.Ask yourself: “Can I focus on the element while using assistive technology (like a screen reader)?”
All interactive elements must have an accessible name.
Explanation: An Accessible Name for an interactive control helps assistive technology users understand what the control is and does. Without it, users have to make guesses about what controls do.
Ask yourself: “Does this element have a name?”
How to use ARIA on VA.gov and VA mobile applications
Use design system components first. If you need to make a custom component, seek guidance from accessibility specialists.
Use the existing properties provided by components. If you need to add custom markup or attributes in a component, file an issue on GitHub with the design system, or ask about it in the team's Slack channel.
The most difficult ARIA challenges happen when two or more common components get combined into a new component, and create a complex experience that's harder to translate without the use of sight or other senses.
Pay attention to accessibility guidance in both the VA Design System and US Web Design System. It will often add boundaries around what's possible and more difficult to accomplish with a certain component.
Use accessibility annotations during the design process to think through any ARIA customizations.
Using ARIA or Accessibility Labels on mobile platforms helps with Veterans know what's happening on a page, what something means and how they can interact. If you're not using ARIA for this, consider altering your design.
Resources
W3C: Using ARIA
Web.dev: ARIA and HTML
Help and feedback
Get help from the Platform Support Team in Slack.
Submit a feature idea to the Platform.