What the First Rule of ARIA Really Means

This ad is not shown to multipass and full ticket holders
React Advanced
React Advanced 2026
October 23 - 26, 2026
London, UK & Online
Upcoming event
React Advanced 2026
React Advanced 2026
October 23 - 26, 2026. London, UK & Online
Bookmark
Rate this content
Sentry
Promoted
Code breaks, fix it faster

Crashes, slowdowns, regressions in prod. Seer by Sentry unifies traces, replays, errors, profiles to find root causes fast.

Get started

ARIA, the Accessible Rich Internet Applications Suite, is a huge topic and full of hard concepts. Learning it becomes even more intimidating when you hear "the first rule of ARIA is don't use ARIA". This common adage doesn't mean ARIA will literally never make your webpage more accessible. Let's talk about what it really means.

This talk has been presented at React Summit 2026, check out the latest edition of this React Conference.

Abbey Perini
Abbey Perini
28 min
12 Jun, 2026

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Introduction to ARIA, its meaning, and the complexities of accessibility in web development. Exploring the importance of proper ARIA usage for web accessibility and the pitfalls of incorrect ARIA implementation. Exploring the importance of landmark roles in web development and their benefits for screen reader users. Discussing the impact of AI-enabled assistive technologies on ARIA and emphasizing the importance of using semantic HTML. Discussing the importance of visually hidden text in the correct DOM order and the challenges of accessibility for chart-heavy pages. Discussing the importance of testing with users with disabilities, upcoming accessibility requirements for web pages, and considerations for making AI more accessible.

1. Understanding ARIA and Accessibility

Short description:

Introduction to ARIA, its meaning, and the complexities of accessibility in web development.

All right, let's talk about what the first rule of ARIA really means. And for those who do not know, the first rule of ARIA is don't use ARIA. Don't use ARIA. Don't do it. That's the first rule. But what is ARIA? The acronym itself stands for Accessible Rich Internet Applications, and this is a suite of web standards for functionality provided to assistive technology, especially when you're building dynamic content and advanced user interface controls.

When I'm talking about assistive technologies, that's anything that is used to help people with disabilities. So if you are wearing glasses to see right now, you are using assistive technology. If you have ever used that ramp from the sidewalk down to the road instead of awkwardly moving your cart from the sidewalk to the road, that's a curb cut. That's assistive technology. This is by no means an exhaustive list, but in the context of this talk, when I'm talking about interacting with websites, I'm talking about software and hardware used to interact with websites, and that is things like screen readers, communication software, switches, and keyboards.

Before we go any further, I do have to give a disclaimer. Accessibility is never black and white. It is often very frustratingly gray. What may make something more accessible for one group of people may make it more inaccessible for another group of people, and I know from experience that this frustrates developers especially, because we want a best practice, something that will work at least 90% of the time, but that doesn't exist. So I got a couple accessibility auditors to fact check all of this information before I wrote the blog that eventually became this talk, but if I say something and your lived experience tells you that this would make a website more inaccessible for you, please do put a question in the QA or come up and talk to me about it, and please, say hi at any time. You'll get a sticker.

2. Understanding the Role of ARIA in Web Development

Short description:

Exploring the complexities of using ARIA in web development and the importance of semantic HTML in accessibility.

But that frustration, that gray area, is part of the reason I started writing this blog, because when I heard the first rule of ARIA is don't use ARIA, I knew what it meant. ARIA is a huge topic with a lot of rules. There are a lot of little rules that contradict each other sometimes. It's very easy to get gotten by ARIA. When I started giving feedback on people's portfolios or side projects, I pop open DevTools, run an accessibility checker, tab through it with a keyboard, use a screen reader, because I know most of the people that are asking for feedback aren't going to give that kind of feedback, and I would go, hey, an ARIA label would be great here. It would make it more accessible. And the developers would look at me and go, I thought I was never supposed to use ARIA.

So about the fifth or sixth time I heard one of my friends say the first rule of ARIA is don't use ARIA, I was like, hey, developers think they're never supposed to use ARIA or use it at all. And he looked me in the eyes and he went, good. Because when you talk to accessibility auditors about ARIA, they'll tell you about the latest mess that was caused by someone who didn't understand ARIA at all just slapping ARIA on the page. So when you hear the first rule of ARIA is don't use ARIA, that means there's probably an HTML element for that, and no ARIA is better than bad ARIA. Let's dig into the first one. You're already using ARIA. By using HTML. And yes, JSX is a templating language, you are using HTML under the hood, so you're all using ARIA. Don't worry about it. Because ARIA rules are the semantics in semantic HTML. They communicate information to computers and to assistive technologies.

So even when you're using an element like a div that has role generic or using role presentation or role none, you're communicating information to computers and assistive technologies. Just like when you look at an outline in a printed document and you see a list or the beginning of a paragraph indented, you don't read that white space out loud and you don't go space, space or tab, tab when you're reading that information, but it's their communicating structure to the page, which is exactly what computers and assistive technologies think a div is there for. And the way that you use semantic HTML communicates even more information. So if you use an address element inside of a footer element, that tells computers and assistive technologies that that's the contact information for that web page. If you use an address outside of a footer element, it's just an address. Before we get to the next part, I have to explain accessible name. You'll hear accessible name or name. And this comes from the accessibility tree. So when you hand a browser a web page, it computes an accessibility tree. And part of that accessibility tree is a name property. The name property comes from a lot of things, depending on what needs a name and what you've used. So the best example is labels because we're all associating labels with our inputs when we use them, so that's how they get their name.

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Accessibility at Discord
React Advanced 2021React Advanced 2021
22 min
Accessibility at Discord
Top Content
This Talk discusses the accessibility efforts at Discord, focusing on keyboard navigation and the challenges faced with implementing focus rings and outlines. The speaker showcases a unified focus ring system and a saturation slider to address accessibility concerns. They also highlight the implementation of role colors and the use of CSS filters for accessibility improvements. The Talk concludes with insights on runtime accessibility checking and the development of a performant core runtime system for checking accessibility issues.
Nested Interactive Elements: An Nightmare in Accessibility
React Advanced 2023React Advanced 2023
23 min
Nested Interactive Elements: An Nightmare in Accessibility
Top Content
Nested interactive elements can cause accessibility issues on websites, and the speaker shares a personal experience with an accessibility bug involving a list component. Mitigating nested interactive structures involves limiting these patterns during development and restructuring existing elements. The speaker provides recommendations for improving accessibility, such as adjusting role properties and gathering user feedback. The conclusion emphasizes the importance of accessible solutions and encourages sharing resources to build more inclusive experiences.
Configuring Axe Accessibility Tests
TestJS Summit 2021TestJS Summit 2021
30 min
Configuring Axe Accessibility Tests
Top Content
AXe is an accessibility engine for automated web UI testing that runs a set of rules to test for accessibility problems. It can be configured to disable or enable specific rules and run based on tags. Axe provides various options, but axe linter does not support all options. The importance of investing time and resources in accessibility is emphasized, as it benefits not only those with disabilities but improves the web for everyone. Manual testing is also highlighted as a necessary complement to automated tests for addressing accessibility issues.
Dialog Dilemmas and Modal Mischief: A Deep Dive Into Pop-Ups
JSNation 2023JSNation 2023
10 min
Dialog Dilemmas and Modal Mischief: A Deep Dive Into Pop-Ups
The Talk discusses the use of dialogues and popovers in web development. Dialogues can be modal or non-modal and are now accessibility-supported. Popovers are versatile and can be added to any element without JavaScript. They provide suggestions, pickers, teaching UI, list boxes, and action menus. Modal and non-modal dialogues and popovers have different behaviors and dismissal methods. Browser support for these features is expanding, but there are still open questions about positioning, semantics, and other use cases.
Building a Fast Website for Every Single Visitor
React Advanced 2024React Advanced 2024
31 min
Building a Fast Website for Every Single Visitor
This talk focuses on building a fast and accessible website for all users, highlighting the importance of performance and user experience optimization. It emphasizes the need for adaptive implementation to cater to different devices and user conditions. The talk also discusses the factors beyond the developer's control, such as screen size, browsers, devices, internet connection, and sitting position. It highlights the significance of optimizing image components for various devices and the role of browser support and rendering engines. The speaker discusses the use of future APIs and the challenges of browser compatibility, as well as optimizing image formats and bundler compatibility. The talk provides insights on controlling bundler and device compatibility, optimizing CPU usage, internet connection, and JavaScript form submission. It concludes with a proposal to respond with save data instead of effective type for limited internet connections and recommends using React with adaptive hooks for better user experiences. Overall, the talk covers essential aspects of building a fast and accessible website.
a11y and TDD: A Perfect Match
JSNation 2022JSNation 2022
24 min
a11y and TDD: A Perfect Match
This Talk explores the intersection of accessibility and test-driven development (TDD) in software development. TDD is a process that involves writing tests before writing production code, providing a safety net for code changes. The Talk demonstrates how to apply TDD principles to real-life examples, such as filling out a form, and emphasizes the importance of user-centric testing. By using atomic design principles, code can be organized in a clean and easy way. The Talk also discusses the use of labels and test IDs in tests for improved accessibility.

Workshops on related topic

Web Accessibility for Ninjas: A Practical Approach for Creating Accessible Web Applications
React Summit 2023React Summit 2023
109 min
Web Accessibility for Ninjas: A Practical Approach for Creating Accessible Web Applications
Workshop
Asaf Shochet Avida
Eitan Noy
2 authors
In this hands-on workshop, we’ll equip you with the tools and techniques you need to create accessible web applications. We’ll explore the principles of inclusive design and learn how to test our websites using assistive technology to ensure that they work for everyone.
We’ll cover topics such as semantic markup, ARIA roles, accessible forms, and navigation, and then dive into coding exercises where you’ll get to apply what you’ve learned. We’ll use automated testing tools to validate our work and ensure that we meet accessibility standards.
By the end of this workshop, you’ll be equipped with the knowledge and skills to create accessible websites that work for everyone, and you’ll have hands-on experience using the latest techniques and tools for inclusive design and testing. Join us for this awesome coding workshop and become a ninja in web accessibility and inclusive design!
Automated accessibility testing with jest-axe and Lighthouse CI
TestJS Summit 2021TestJS Summit 2021
85 min
Automated accessibility testing with jest-axe and Lighthouse CI
Workshop
Bonnie Schulkin
Bonnie Schulkin
Do your automated tests include a11y checks? This workshop will cover how to get started with jest-axe to detect code-based accessibility violations, and Lighthouse CI to validate the accessibility of fully rendered pages. No amount of automated tests can replace manual accessibility testing, but these checks will make sure that your manual testers aren't doing more work than they need to.
Web Accessibility in JavaScript Apps
React Summit 2022React Summit 2022
161 min
Web Accessibility in JavaScript Apps
Workshop
Sandrina Pereira
Sandrina Pereira
Often we see JavaScript damaging the accessibility of a website. In this workshop, you’ll learn how to avoid common mistakes and how to use JS in your favor to actually enhance the accessibility of your web apps!
In this workshop we’ll explore multiple real-world examples with accessibility no-nos, and you'll learn how to make them work for people using a mouse or a keyboard. You’ll also learn how screen readers are used, and I'll show you that there's no reason to be afraid of using one!
Join me and let me show you how accessibility doesn't limit your solutions or skills. On the contrary, it will make them more inclusive!
By the end, you will:- Understand WCAG principles and how they're organized- Know common cases where JavaScript is essential to accessibility- Create inclusive links, buttons and toggleble elements- Use live regions for errors and loading states- Integrate accessibility into your team workflow right away- Realize that creating accessible websites isn’t as hard as it sounds ;)
The Cake Is a Lie... And So Is Your Login’s Accessibility
React Advanced 2025React Advanced 2025
100 min
The Cake Is a Lie... And So Is Your Login’s Accessibility
Workshop
Ramona Schwering
Ramona Schwering
Much like the promise of cake in Portal, login forms are everywhere in web development. While they may seem functional at first glance, many users with disabilities encounter a maze of invisible walls, from keyboard traps to inaccessible CAPTCHAs. It's as if GLaDOS designed these forms herself to test us!In this practical walkthrough, we will debug the accessibility issues of a real React login component live, similar to traversing those test chambers: Using an actual screen reader, we'll show how minor improvements, such as proper ARIA implementation and effective focus management, can transform a complex test chamber into a smooth user experience. Additionally, we will address the common pitfalls that GLaDOS might throw at us in both the Portal universe and the real world of accessibility, especially concerning authentication processes and its special needs. So grab your portal gun—let's work together to break down these barriers and ensure that authentication truly works for everyone. The cake might be a lie, but accessibility doesn't have to be!