Accessible by Default: Building Apps That Everyone Can Use

Bookmark
Rate this content

Learn how to build applications that are inclusive, scalable, and ready for real-world users. Karly Lamm shares practical strategies for making accessibility a natural part of your JavaScript development process, helping you create better experiences for everyone.

This talk has been presented at JSNation US 2025, check out the latest edition of this JavaScript Conference.

FAQ

Accessibility is crucial in app development because it ensures apps are usable by everyone, including individuals with disabilities. It increases usability, user retention, and legal compliance, while also expanding the potential user base.

The phrase 'we're all pre-disabled' highlights that at some point in life, everyone may experience some form of limitation, whether due to aging, injury, or situational factors, making accessibility important for all users.

Accessibility benefits all users by improving usability, making apps easier to navigate and interact with. Features like larger tap targets and clearer labels enhance the user experience universally.

Examples of situational disabilities include using a phone with one hand while holding a baby, reading a screen in bright sunlight, or dealing with poor internet connectivity.

Failing to implement accessibility can result in legal risks, including lawsuits and exclusion from certain markets due to non-compliance with regulations like the ADA and WCAG.

React Native is a good choice because its cross-platform capabilities mean one accessibility improvement benefits users on both iOS and Android. It also offers tools and evolving solutions for accessibility.

Tools and techniques include using screen readers like VoiceOver and TalkBack, adjusting font sizes, employing accessibility props in code, and utilizing AI tools for accessibility improvements.

Developers can begin by labeling interactive elements with accessibility props, testing with screen readers, ensuring text scaling, and integrating accessibility into their development process.

AI can assist by suggesting accessibility improvements in code, analyzing UI components, generating accessibility labels, and translating design files into accessible code.

Examples include Domino's facing a lawsuit for an inaccessible app for visually impaired users, Target paying $6 million for accessibility failures, and Nike losing user trust due to screen reader issues.

Karly Lamm
Karly Lamm
24 min
20 Nov, 2025

Comments

Sign in or register to post your comment.
Video Summary and Transcription
This talk emphasizes the importance of accessibility in app development for all users, highlighting various types of disabilities and the need for inclusive design. Neglecting accessibility poses legal, financial, and reputational risks, with active enforcement of regulations. Accessibility improves usability for all users, enhances user retention, and provides SEO benefits. React Native and proper element labeling play a crucial role in enhancing app accessibility. Dynamic content accessibility, text scaling optimization, and incorporating AI for accessibility enhancement are essential for creating inclusive and user-friendly apps.

1. Importance of Accessibility in App Development

Short description:

This talk emphasizes the importance of accessibility in app development for all users, highlighting various types of disabilities and the need for inclusive design. It discusses the speaker's experience in building scalable apps and the essential elements of technical clarity, resilience, and security in app development.

This talk is about something that's often treated as an afterthought in app development, accessibility. But if we want to build for scale, for inclusion, and for longevity, accessibility can't be optional. I once heard a really brilliant speaker say, we're all pre-disabled. That phrase really stuck with me because the truth is, whether through aging or injury or just life itself, every one of us will likely experience some kind of limitation at some point.

Think about it. Maybe a broken arm or try holding a baby while checking your phone, struggling to see your screen in bright light. Those are all situational disabilities. Accessibility isn't just for other people, it's for all of us. Not everyone interacts with technology the same way. Some people use screen readers, some navigate entirely with keyboards, and some have their font size turned way up just to read.

Accessibility covers a whole spectrum. Permanent disabilities like low vision or motor impairments. Temporary ones like breaking your arm or using your phone with your non-dominant hand. And even situational ones like holding a baby or reading in sunlight or maybe even dealing with poor internet. Accessibility isn't a feature, it's the foundation for good design. So accessibility isn't just for other people. It's for you, your coworkers, your parents, your future self. And whenever we build apps with that mindset, we're not just meeting checkboxes, we're creating experiences that are more usable, more thoughtful, and more inclusive for everyone.

So here's our roadmap. Today, we're going to talk about why this is important, what React Native offers currently, a demo of a broken app, we're going to fix some features there, go over some tools you can use, and by the end, I want you to have some practical takeaways that you can act on right away. First and foremost, who am I? My name's Carly Lam. I've worked at startups and enterprise and I've built apps that have scaled from scrappy MVPs all the way to Fortune 1 acquisition. What I've seen across industries is that apps that scale share one thing in common. They're built for more than just the ideal user. They're built with quality and clarity and compliance already baked in. And this is the recipe.

2. Importance of Accessibility Compliance and Risks

Short description:

Accessibility is crucial for compliance with WCAG and ADA, impacting a significant portion of the user base. Neglecting accessibility poses legal, financial, and reputational risks, with active enforcement of regulations. Apps failing to meet accessibility standards may be excluded from markets, limiting global reach and risking severe consequences.

So we start with that technical clarity, clean boundaries, modularity, and scalable architecture. Then we can build in that resilience with observability and error handling. But when you really want to scale, when you're being evaluated by enterprise, government, or even just really high traffic use, you hit this top tier, and that's that security and compliance.

Accessibility, it's not just a UX nicety. It sits right here under compliance. It's required under the WCAG and it's enforced by the ADA. And it's your ticket into the serious business. One in four adults in the United States have some form of disability that impacts how they're interacting with technology. That's a fourth of your potential user base.

Skipping accessibility, it doesn't just hurt your users. It puts your company at some serious risk. Legally, financially, reputationally, lawsuits tied to accessibility are really on the rise right now. The ADA and WCAG are being actively enforced. Your app might not even be allowed in some countries if it fails to meet accessibility requirements. For example, the European Union's Digital Markets Act now requires apps to meet stronger accessibility standards just to stay listed in EU app stores.

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
Watch video: Nested Interactive Elements: An Nightmare in Accessibility
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!