Skip to Main Content
Technical & Programming07 July 2026

WAI-ARIA: Savior or Destroyer of Accessibility?

Author

Redaksi Disabilitas.com

4 Min Read4 Views

WAI-ARIA: Savior or Destroyer of Accessibility?

WAI-ARIA (Web Accessibility Initiative - Accessible Rich Internet Applications) is a technical specification created by the W3C to bridge the accessibility gap in dynamic web applications. ARIA provides the ability to inject artificial semantics into HTML elements that lack inherent meaning (such as <div> or <span>).

Many junior Front-End developers believe that the more aria-<em> attributes they sprinkle into their code, the more accessible their website becomes. Unfortunately, the reality is the exact opposite. Based on the critical analysis from Inclusive Design for Accessibility* by Dale Cruse and Denis Boudreau, this article will dissect why ARIA is frequently the biggest "destroyer" of accessibility.


1. The First Rule of ARIA

The first and most absolute rule in the official W3C WAI-ARIA documentation is: "No ARIA is better than bad ARIA."

If you can use a native HTML5 element that already possesses inherent semantics and functionality, you must use it rather than attempting to recreate that element using ARIA.

The Classic Example: Fake Buttons

How many times have you seen this code in a modern framework? ```html
Submit
``` This element cannot be reached using the `Tab` key, cannot be activated with the `Enter` key, and a Screen Reader will merely read it as plain text ("Submit").

Then, a developer tries to "fix" it with ARIA:

<!-- WORSE: A fake button with ARIA -->
<div class="btn-primary" role="button" tabindex="0" onclick="submitForm()">Submit</div>

Now this element can be reached by Tab and is announced as "Button, Submit". But, because it is not a native <button>, pressing Enter or Space will not trigger the submitForm() function unless you write additional JavaScript (Keyboard Event Listeners). You have just trapped the keyboard user.

The Pure Accessible Solution:

<!-- PERFECT: Native HTML -->
<button class="btn-primary" type="button" onclick="submitForm()">Submit</button>

2. ARIA Does Not Change Visual or Functional Behavior

This is the biggest misconception: ARIA attributes do not affect the DOM visually in any way, nor do they provide interactive functionality.

Adding role="tab" to an <li> element will not magically make that element behave like a Tab system that toggles content. It ONLY lies to the Screen Reader, telling it that the element is a Tab. You still have to write complex JavaScript to manage tabindex focus and hide/show the content panels.


3. The Dangers of ARIA Redundancy

Many developers suffer from the "Fear of Being Inaccessible" syndrome, leading them to pile ARIA on top of elements that already have inherent semantics.

<!-- VERY BAD: Confusing redundancy -->
<nav role="navigation">
  <ul role="list">
    <li role="listitem">
      <a href="/home" role="link">Home</a>
    </li>
  </ul>
</nav>

All of the role attributes above are completely useless, because the <nav>, <ul>, <li>, and <a> tags already carry those exact semantics natively. This kind of redundancy not only clutters your code but can sometimes cause unexpected behaviors (bugs) in certain older versions of Screen Readers.


4. When Do We REALLY Need ARIA?

ARIA was created for complex widgets and interface controls that do not have an equivalent in the HTML5 standard.

You must use ARIA when building:

  1. Custom Design Patterns: Such as Accordions, Tabs, Tree Views, or Carousels.
  2. Dynamic States: Using aria-expanded="true/false" to tell a Screen Reader whether a dropdown menu is currently open or closed.
  3. Live Regions: Using aria-live="polite" to announce a toast error message or success notification that pops up suddenly without refreshing the page.
  4. Supplementary Descriptions: Using aria-label or aria-describedby to provide context for icon-only buttons (like an 'X' icon button to close a modal).

5. Conclusion

WAI-ARIA is a medical scalpel. In the hands of an expert, it can save the life of your complex modern web application (like a Single Page Application). However, in the hands of an amateur using it to chop vegetables, it will cause bloodshed (destroying the Accessibility Tree).

Always remember: HTML5 is your foundation. ARIA is your seasoning. Never try to build a house using only seasoning.


References

The in-depth analysis regarding the First Rule of ARIA, misconceptions of element behavior, and the dangers of role redundancy are extracted from the technical arguments in Inclusive Design for Accessibility by Dale Cruse and Denis Boudreau. Practical solutions regarding fake buttons (Div Buttons) and the use of Live Regions refer entirely to the case studies presented in that book.

What do you think?

Give your reaction to this article