Streaming is available in most browsers,
and in the Developer app.
-
Principles of inclusive app design
Discover how understanding disability can help you create better apps for everyone. Find out how to make your apps more inclusive by supporting multiple types of interaction, providing customization, and adopting accessibility APIs.
Chapters
- 0:00 - Introduction
- 3:55 - The inclusion gap
- 8:55 - Support multiple senses
- 12:36 - Provide customization
- 14:27 - Adopt Accessibility API
- 18:46 - Track inclusion debt
Resources
Related Videos
WWDC25
WWDC21
-
Search this video…
Hey there, I'm Chris. Hi, I'm Lisa. We’re both designers working on accessibility. We're so excited to talk with you about how to make your app more inclusive of people with disabilities. And we really can’t wait to show you how much potential for innovation there is in this space. Designing your app to work for people with disabilities is so important in a day and age when your app could really be used by anyone. There are so many people around the world that live with some form of a disability, many more than you might think.
About one in seven people has a disability. So chances are, even if you don’t have a disability, someone close to you probably does. And when you think about how different people with different disabilities experience the world, it opens up design opportunities.
When you include disability into your design, you'll make your app work for more people and also spark more creativity.
So during our time together, we’ll give you some tools and ways of thinking to help you feel confident to include disability as you design your app.
There are a lot of aspects of inclusion.
And making a truly inclusive app means considering a variety of things. Things like making your app work in other languages, being thoughtful of the impact your app may have on people of a race or ethnicity different from your own, and being inclusive of cultures from around the world. But today we’re just going to talk about disability, which is actually unique because it’s a universal part of being human.
And the principles you learn today can easily be applied to other areas of inclusion too. If you haven’t already experienced disability, chances are, you or someone close to you will at some point in your life.
That might be temporary hearing loss after being at a really loud concert, or something more permanent like being deaf or hard of hearing. And you’ll definitely be in situations where a world built with disability in mind would have been good for you. Like being in a place that you aren’t supposed to talk out loud or a place where everyone is speaking a different language. So thinking about disability as you design your app, will end up benefiting you and the people you care about now and in the future. When Lisa and I think about disability as we design, we find it helpful to think about the following five categories: Vision, Hearing, Motor, Speech, and Cognitive.
And it’s really important to think of all of these senses as a spectrum, because everyone is different.
Yes, everyone is so different. Think about vision.
People often assume that being blind or not being blind means that people either have total vision or can't see anything at all. But really, there’s different aspects and levels to blindness that can affect each person differently. Like for me, I’m legally blind due to a rare form of Macular Degeneration. This impacts my central vision and my ability to see detail. My vision is very blurry and I need to get really close in order to read or to recognize faces. But even though I’m legally blind, I still can see colors, light, and big objects.
So in my case, it's not all or nothing. I have “some” vision that lives somewhere on the vision spectrum. By just adding that one extra word, “some”, you remind yourself of the spectrum within disability, and that will help you make more inclusive design decisions. So let’s dive in. A lot of people think of disability simply as a characteristic of the body or mind. But you know what? It actually depends a lot on the environment, and many limitations only exist when there’s a gap between what a body can do and what society expects.
Society generally assumes that everyone, when they’re born, can’t do much, that they’ll gain the ability to see, and learn how to walk and talk as they grow up, and then, that they’ll start losing many of those abilities as they get older.
Society expects this, often without even realizing it. That means a lot of physical and digital things are built with the assumption that this is just how people are. But that assumption just isn't true.
In reality, everyone's arc is different. They all have ups and downs. And nobody really follows the exact arc that society expects.
When there’s a difference between what a person can actually do and what society expects, that is where disability is really born.
This gap is called the inclusion gap.
So here’s an example to illustrate how disability emerges from the gap. Imagine a two-story building.
If there wasn’t an elevator, someone that uses a wheelchair would have a hard time getting to the second floor.
But if there was an elevator, there wouldn’t be a problem at all.
And think about this. If there wasn’t an elevator, and if the stairs were under construction, or there weren’t stairs in the first place, even a person that could walk on two legs would have a hard time getting to the second floor.
So what a person can and cannot do depends so much on how the environment is designed and built. There’s a great opportunity here, for you, to create things that enable people.
The gap between what a body could do and what society expected has inspired many innovations.
Microphones came to be because people’s voices really aren’t that loud, but still, people are expected, or want to, speak to large audiences.
Glasses were created because many people have blurry vision, but society kind of expects people to read small text and to see things from a distance.
And lastly, curb cuts. The ramps down from the sidewalks to the crosswalk were invented to close the gap between wheelchair wheels and the step down to the crosswalk. I love this example, because such a simple invention makes life so much easier for cyclists, parents pushing strollers, delivery people pushing dollies, in addition to people who use wheelchairs.
It shows how inclusive design has the power to make things better for everyone.
The inclusion gap really is a source of innovation. I mean, all of these came from the gap between what bodies could do and what society expected bodies could do. When you innovate and create a more inclusive society by how you design your apps, and as you make it easier for people to live in a world that isn’t yet designed for them, the inclusion gap gets smaller and smaller, and society becomes more inclusive, flexible, and convenient for everyone. So try looking for the inclusion gap in your app, and as you do, think about how you can work with people who have disabilities, so that you can avoid making assumptions that might lead to unintended results. As a person with a disability, I have that unique lived experience that is so much more valuable and accurate than making assumptions.
In the disability community, we believe “Nothing about us without us”. This slogan was coined by disability rights activists who fought to have no policies created without the full participation of those who it affects. It is so important to not make decisions that impact people with disabilities without them being a part of it.
And as a developer, when you involve members of the disability community, you will gain new insights that will help you design your app to be more inclusive. It’s also unlikely that you’ll always have someone with every disability working with you all the time. So here are four practical things you can do to make your app more inclusive, while you look for people with disabilities to collaborate with.
First, support multiple senses.
Second, provide customization.
Third, adopt Accessibility API.
And finally, track inclusion debt.
We’ll illustrate these points through first-party examples and apps from developers like you.
Okay, so one of the best ways to include people with disabilities is to support multiple senses through building in a variety of ways for people to interact with your app. Think of captions for videos. A lot of videos have sounds and speech, but not everyone can hear. So providing an additional way to access that information, makes it more inclusive. It also has this wonderful side effect of making content accessible to people that can hear, but are in a place where they need to be quiet. Making it possible to get information and input information in a variety of ways is the first step to closing the inclusion gap within your app.
So imagine if a person is deaf, hard of hearing, or they’re in a quiet place like a library. Will they be able to experience what your app has to offer? Is there a visual way of getting the information? Or imagine a person who is blind or someone goes into a situation where they can't look at their device. Is there an audible way to experience your app? Considering the many ways that people will need to interact with your app will help you come up with new ways of using your app.
Exactly. Here's an example from a new feature called Accessibility Reader.
Accessibility Reader makes it possible to customize the reading experience of any content on screen. It supports a variety of reading styles that make it so you can always read in the way that works best for you.
Of course, it has visual text, which is how society typically expects people to read.
And this is great for people that prefer reading with their eyes.
At the same time, not everyone can or wants to read visually. But you can just press play and listen to the content without looking at the phone at all.
Or, you could take advantage of both sight and hearing. You might notice that the words are being highlighted as they are read aloud. This is great for people who have a cognitive disability, for example, and do better reading when they can visually follow along with what's being spoken. So as you design your app, consider if people can experience your design using their different senses, their sight, their hearing, their touch, their voice, and their cognitive skills.
It’s important to explore design options like visuals, audio, and haptics.
Here’s a few really good examples from the third-party app Crouton.
Crouton is a really cool recipe app that provides a fun and easy way for people to store all of their favorite recipes. Let’s focus on the different ways someone can import a recipe.
Tap the plus button at the top to see the options. For someone who might not be able to type, the “From Image” and “From Camera” options are great alternatives as it pulls the recipe directly from an image. And the “From Text” option is great for someone who might not be able to see but can still type. And there’s also a Hands Free mode. Check this out. If you tap on a recipe, then tap play, you can then tap on the eye button at the top to turn on Hands Free mode.
This allows you to go through the steps of your recipe without having to touch your device at all. This is great for someone who might have difficulty using their hands, or their hands are all sticky from preparing food.
Crouton is a great example of how an app allows people to use a variety of ways to interact, whether it’s their hands, eyes, or mouth. Designing for multiple senses within your app will make it so much more inclusive. But it won’t cover everyone’s unique situations. so it’s really important to provide customization.
In particular, it’s important to make sure that people can personalize the UI and interactions that go with each of the senses, tailoring the experience to their unique way of being.
Making it possible to customize the experience like this, will close the inclusion gap even more.
Take Accessibility Reader, for example. It has options for personalizing the visuals, the audio, and the read-along experience. When it comes to the visuals, for example, you can adjust the text size, change the colors, choose “high-legibility” characters in the San Francisco font, or choose a different font all together.
So what options do you think you could add to your app that will help people tailor the experience to their individual needs? I've got a great example of this.
Carrot Weather is a third-party weather app that makes it so easy to view weather information in the way you want.
You can customize all the different visuals and charts. This is great for people who want to see every detail in a dense interface, as well as people who have a cognitive disability and need minimal information on the screen. Check this out. You can go from this very data-rich layout to this super simple interface that only shows what a person wants on the screen. And every layout makes it really easy to change the customization options. By providing customization in their app, this allows people to really make it their own.
This is how an app adapts to people rather than expecting people to adapt to an app. It’s really great. Now that you have built in support for multiple senses and provided customization, the next step is to adopt Accessibility API to make sure your app works well with assistive technologies. Assistive technologies are used by people every day. They’re things like wheelchairs that support moving freely and independently, white canes for navigating surroundings without relying on vision, and more.
In Apple products, these are accessibility features that help you connect, create, and do what you love in the ways that work best for you. You can adopt many of these accessibility features directly into your app through APIs. VoiceOver makes it so you can use a screen-based product without having to see the screen at all. And you can support it by adding things like accessibility labels and actions through the Accessibility API.
The same API that makes VoiceOver possible also enables other features like Switch Control and Voice Control, both of which make it possible to use touchscreen products without having to touch the screen at all.
And Larger Text is another one that is so important to include in your app. It makes text up to three times larger, and with some layout adjustments, you can make your app look beautiful and highly legible. These Accessibility APIs are great because a lot of the work is already done for you, making it even easier to support disability inclusion in your apps.
You can check out developer.apple.com/accessibility to learn more about adopting the Accessibility APIs.
Earlier, I talked about curb cuts. In the same way that sidewalks are built with curb cuts for people who use wheelchairs, it’s important to adopt the Accessibility APIs so that people who use accessibility features can also use your app. Adopting Accessibility APIs will help you close the rest of the inclusion gap. Since Accessibility Reader integrates Accessibility API, it also works with Switch Control. That means you can also use it without ever touching the screen. With Switch Control, you can assign actions to a variety of buttons that you can pair with iPhone. These physical buttons are called switches, and they can be configured in a variety of ways.
One common configuration is to have one button go to the next item and another one to select. And on screen, a square outline moves from item to item.
So, since Accessibility Reader works with Switch Control, a person can easily navigate to the play button, select it, and enjoy the audio reading experience.
As you design your app, consider if it works well for people who use assistive technology like Switch Control. If it doesn’t, or if you don’t know, try working with people that use assistive technologies to come up with solutions. And remember that adopting Accessibility APIs and testing VoiceOver and Switch Control will go a long way. Let's check out another example. Let me tell you about Blackbox.
Blackbox is a really unique puzzle game where you solve challenges using the different sensors on your iPhone. For example, this challenge uses your iPhone’s gyroscope. With very few hints, you solve this puzzle by rotating your iPhone a full 360 degrees while it’s completely flat. What’s great about Blackbox is that the game supports the VoiceOver API so that players who are blind or have low vision can still navigate and solve challenges. Every puzzle has audio labels just like this: “Clue. 360 dashes in a circle” In addition to rich audio and haptic design, the VoiceOver labels provide players with just enough hints to solve the puzzles even if they can’t see the screen.
So remember to adopt the Accessibility APIs so that people who rely on accessibility features can also enjoy your app. All right. So last, but definitely not least, is to track inclusion debt. Even as you strive to make your app inclusive, you will most likely continue to notice the inclusion gap.
Think of this as inclusion tech debt, or just inclusion debt for short.
This is normal. Inclusion is a journey, it's not a one-time thing. The most important thing is to be aware of the gap that exists in your app so that you can make plans for closing it and make conscious decisions as you design.
For example, there’s still room for Accessibility Reader to grow in formatting for enhanced readability and options for different reading styles. And since those things are known, it’s so much easier to plan and design what comes next.
Remember, the inclusion gap is an opportunity! And discovering the inclusion gap leads to creativity and innovation. So don’t be afraid to go look for it in your app.
Take some time now. What kind of gap do you think exists in your app today? Work on understanding it better.
There will probably be parts of the gap you don’t know about yet, so think about how you can discover more of it.
And then, think about how you’re going to work with people who have disabilities to collaborate on closing the gap.
As you do this, you'll be creating a more flexible and inclusive world for everyone.
And that's it! Remember, disability is just as much about the environment as it is about the body.
You can learn more about the Accessibility APIs by watching the WWDC24 video, “Catch up on accessibility in SwiftUI”. And this year, you can highlight your app’s accessibility on the App Store. This helps people to know if your app supports the key features they rely on. To learn more, watch the WWDC25 video, “Evaluate your app for Accessibility Nutrition Labels" We hope this inspires you to design your apps more inclusively and supports you in creating a more beautiful world. Thank you so much for watching.
-
-
- 0:00 - Introduction
Designing inclusive apps involves considering various aspects of people's characteristics and experiences – including language, race, ethnicity, and culture. The focus of this talk is on disability, which is a universal part of the human experience. By incorporating disability into your design process, you can make more thoughtful decisions and ultimately create better apps for everyone. Approximately one in seven people globally has a disability. Designing with disability in mind benefits everyone, as temporary or permanent impairments can affect anyone at some point in their life. There are five main categories to consider when thinking about disability: vision, hearing, motor, speech, and cognitive abilities. Each of these senses exists on a spectrum, so it's crucial to avoid making assumptions about what people's specific individual needs are.
- 3:55 - The inclusion gap
Disability is not solely determined by physical or mental characteristics but is significantly influenced by the environment. Society often makes implicit assumptions about human abilities based on age and development, leading to the design of physical and digital spaces that exclude those who deviate from these norms. This 'inclusion gap' arises when there is a mismatch between what individuals can do and what society expects. The presence of this gap can create barriers, but it also drives innovation. Examples of such innovations include microphones, glasses, and curb cuts, which benefit everyone, not just those with specific disabilities. Inclusive design can make society more flexible and convenient for all. To create more inclusive products and spaces, avoid assumptions, involve the disability community in the process, and consider supporting multiple senses, providing customization, adopting accessibility APIs, and tracking inclusion debt.
- 8:55 - Support multiple senses
To create an inclusive app, consider how people with different abilities will interact with it. This involves providing multiple ways to access and input information, such as captions for videos, which benefit both deaf and hard-of-hearing users and those in quiet environments. In the new Accessibility Reader feature, people can customize their reading experiences through visual text, audio, and highlighting. This is a great example of allowing people to experience content in a way that works for them. Another great example is the 3rd party recipe app Crouton, which enables people to import recipes via image, camera, or text, and also offers a hands-free mode for those with physical limitations. By exploring different design options like visuals, audio, or haptics, you can make your apps accessible to a wider audience, closing the inclusion gap.
- 12:36 - Provide customization
Adding customization to your app is crucial for enhancing inclusivity beyond multi-sensory design. By allowing people to personalize the UI and interactions for each sense, apps can better cater to individual needs and preferences. Examples like Accessibility Reader and Carrot Weather demonstrate this effectively. Accessibility Reader enables people to adjust text size, colors, and fonts, while Carrot Weather offers customizable visuals and charts, ranging from data-rich to minimalist layouts, making the app accessible and user-friendly for a wider audience, including those with cognitive disabilities.
- 14:27 - Adopt Accessibility API
After providing customization, adopt Accessibility APIs to ensure your apps work seamlessly with assistive technologies. These technologies, such as VoiceOver, Switch Control, Voice Control, and Larger Text, enable people with disabilities to interact with devices effectively. By utilizing these APIs, you can make your apps more inclusive. Blackbox, a puzzle game, is a great example of an app that has successfully implemented accessibility API to make their game available to everyone. Blackbox uses VoiceOver, audio labels, and audio and haptic design to allow blind or low-vision players to navigate and solve challenges.
- 18:46 - Track inclusion debt
Designing inclusive apps is an iterative process. Track inclusion debt that arises during app development. By acknowledging and actively seeking to understand this gap, you can collaborate with people with disabilities to make conscious design decisions and close it. This process leads to more flexible and inclusive apps, benefiting everyone and creating a more accessible environment.