What is ARIA? | Glossary

Glossary

What is ARIA?

ARIA is a set of HTML attributes that tell assistive technology like screen readers what a custom element is, what state it is in and how it should be announced.

ARIA (Accessible Rich Internet Applications, formally WAI-ARIA) is a W3C specification that adds extra attributes to HTML so assistive technology can understand interactive elements. It tells a screen reader things like "this is a menu", "this panel is expanded" or "this icon button means Close", which the visual design alone does not convey.

How ARIA works: roles, states and properties

Browsers build an accessibility tree from your page, a simplified version that assistive tools read. ARIA lets you adjust what goes into it, without changing how the page looks or behaves:

  • Roles say what an element is, for example role="dialog", role="tablist" or role="alert".
  • States describe its current condition, such as aria-expanded="true", aria-checked or aria-invalid.
  • Properties give names and relationships: aria-label, aria-labelledby, aria-describedby, aria-controls.
  • Live regions (aria-live="polite") ask the screen reader to announce content that changes, like "Added to cart".

ARIA only changes what is announced. It does not add keyboard support: a div with role="button" still will not respond to the Enter key unless you write that code.

The first rule of ARIA

The W3C's own guidance says: if a native HTML element already does what you need, use it instead of ARIA. A real button element is focusable, works with Enter and Space and is announced as a button automatically. ARIA is for gaps HTML does not cover, such as tabs, comboboxes and custom menus.

A concrete example: an icon-only button

A shop header has a cart button showing only a bag icon. A screen reader announces it as "button", with no clue what it does. Adding aria-label="Cart, 2 items" makes it announce "Cart, 2 items, button". A mobile menu toggle is another typical case: aria-expanded switches between false and true as the menu opens, so a blind user knows whether it is open.

Does your site need ARIA?

A simple site built with proper headings, links, buttons and labelled form fields needs very little. ARIA becomes necessary once you have custom interactive widgets: dropdown menus, accordions, modals, carousels or icon-only controls. Those are also where accessibility audits against WCAG most often find failures.

ARIA mistakes

  • Using ARIA instead of HTML. Clickable divs with roles are more fragile than real buttons and links.
  • Labels that contradict the visible text. Voice-control users say what they see, so the accessible name should include it.
  • Hiding focusable content. aria-hidden="true" on something a keyboard can still reach creates a silent trap.
  • Stale states. An aria-expanded that never updates tells users the opposite of the truth.

Related terms

  • Screen reader: the main consumer of ARIA information.
  • WCAG: the guidelines ARIA helps custom widgets meet.
  • Alt text: the image equivalent of giving an element an accessible name.
  • Web accessibility: the overall goal ARIA serves.

Ready to put this into practice?

We.Inc lets you describe a site in chat and watch AI build it live, then refine it visually or in code.

Start Building

No credit card required

Describe your business. Get a website ready to publish.

Keep exploring

Related Resources

How-to Guides

How to Run an A/B Test on Your Website

Learn how to run effective A/B tests on your website to improve conversions. Covers hypothesis creation, test design, statistical significance, and interpreting results.

Read guide

CSS Button States: Hover, Focus, Active, Disabled, Outline and Icon Buttons

CSS button states are the styles a button shows when it is hovered (:hover), focused by keyboard (:focus-visible), pressed (:active), disabled (:disabled or aria-disabled) or loading. Here is one button in every state, with copyable plain CSS and Tailwind, plus outline, ghost, close and icon buttons that stay accessible.

Read guide

Best Fonts for Websites: 30 Free Google Fonts Previewed in Real Layouts

The best fonts for websites are readable at small sizes, load fast and suit the brand: Inter or Geist for product sites, Source Serif 4 or Newsreader for reading, Rubik or Nunito for local businesses. Here are 30 free Google Fonts shown live, with licences, variable axes and copy-paste CSS.

Read guide

Ready to simplify everything?

Join 15,000+ businesses that replaced their entire marketing stack with one platform.

No credit card required · Talk to sales

Product

Who It's For

Features

Resources

Company

View Sitemap