Pro tip
WebAIM’s survey #10 results is a great resource if you want to understand people who use screen readers. It explores commonly used screen reader software, reasons for inaccessibility and more.
We want to make sure that our web experiences are accessible to everyone, including people who use screen readers. Here are some of the things you should keep in mind while creating your designs:
Although there are so many aspects to screen readers that we could write about, in this post, we’re going to focus on three areas: alt text, focus states and ARIA. Why these three areas? A web experience feels incomplete without them. While a website can technically launch without incorporating them, our goal is go beyond those guidelines. We want to provide a comprehensive experience for all users, regardless of their abilities or disabilities.
Alt text is copy that describes an image on a website. A screen reader will read this text aloud to the user to help them understand what the image is. If an image fails to load on a website, its alt text will tell the user what should have been there. Most importantly, without alt text, we’re excluding blind or low-vision users from our experience.
We all know we should be writing alt text, but how do we do it well? Different images require different approaches, and it always depends on the surrounding content of the image. Here are some tips to get you started:
Here are a couple of scenarios that we’ve run into on our website:
We work on a lot of web experiences like websites and intranets. When we want to show this work on our website, it most commonly shows up as a screenshot. In these instances, we typically start our description with "a screenshot of" as it helps give context to the type of image it is.
❌ Alt text: “A screenshot of the Habasizer using a photo of Chris Parsons.”
✅ Alt text: “Screenshot of Habasizer photo editing tool. Within the tool is a photo of a man sitting at a desk smiling and the tool's interface shows options for presets, image format, export, and download.”
Most of the pages on our website have a tryptic-style illustration. We use illustrations as a way to create delight and showcase people. If you were to think about describing this illustration, it could get pretty complex and wordy! We don’t include alt text for these types of visuals because although they're fun to look at, they aren't critical to the user's understanding of the page content.
❌ Alt text: “A tryptic illustration with one person working on a laptop and interacting with someone holding a clipboard, two individuals in the middle taking and putting post-it notes on the wall, followed by an individual showing off a desktop and mobile mock-up of a website.”
✅ Alt text: [keep this empty!]
When we use icons on our website, they're there mostly for decorative reasons. They help break up the content and make it easier to parse information, but you don’t need to know what they are to understand what you’re reading!
❌ Alt text: “Heart icon”
✅ Alt text: [keep this empty!]
A focus state is a visual indicator that highlights the element you’re currently focused on and activates it for interaction. People who use keyboards to navigate sites typically press the “tab” key to move from one focusable element on the page to another. When users tab their way through the page, focus states allow them to visually see the elements they’re focusing on so that they’re not lost on the page. Typically, focus states are presented as a rectangle or outline drawn around an element.
WCAG’s success criterion 1.4.11: Non-text Contrast (Level AA) tell us that the visual presentation of the following must have a contrast ratio of at least 3:1 against adjacent color(s):
Still confused? Here’s a great example to make sense of it:
Your browser’s default focus state may not always be very noticeable. If your background colour is similar to your focus state colour, it can be hard to see. By creating custom focus states, you’re not only able to ensure that your users can see them, you can also make them on-brand with your overall design.
Just remember that your focus state must have a minimum 3:1 contrast ratio with the adjacent colours.
Focus and hover states often get mistaken for the same thing when they are actually different!
Hover: the state that shows when you put your mouse cursor over a button. This state does not exist when you don’t have a mouse.
Focus: the state that indicates that your element is highlighted and activates it for interaction. Focus states are independent of the mouse, allowing an element to be focused without the mouse being nearby. This state can be seen by both mouse and keyboard.
For a good example of web accessibility, check out GOV.UK's website. Their website might not be the most “designed” site, but it is highly usable when navigating with a keyboard.
In the focused state, their links have a yellow background with a thick, black bottom border. We initially wondered how yellow on a white background could pass contrast standards, so we did some digging.
Remember, as we mentioned above, the specific rule for focus states and contrast with their background is covered under Success Criterion 1.4.11 - Non-text Contrast. It ensures that interactive elements are distinguishable from their surroundings, including when they are in a focus state.
Here's how GOV.UK’s link focus states meet accessibility requirements:
ARIA refers to a set of more than 150 declarations that can be added into web code so that screen readers and other assistive technologies can understand how to present the page.
Accessibility tools are designed to understand almost all content and input types. Typically, most webpages are accessible by default, which means they don’t require much extra effort from designers or developers. So, if you’ve coded your page correctly, HTML should work.
However, nothing with designers is ever easy (don’t worry, we can say this because we’re both designers). We love pushing the boundaries of digital experiences and creating innovative, exciting designs. Sometimes these designs cannot be made accessible with normal semantic HTML, so our developers must add ARIA to the code.
We recently created a website that has a collection of meeting kickstarters to help teams feel connected and energized for meetings, and it uses ARIA! Specifically, we used the React Aria library to handle our tabs and custom dropdowns.
We wanted to make the experience of searching for kickstarters intuitive and easy to use, so we implemented a multi-dropdown bar that allows users to filter by multiple options. What looks like a simple interaction pattern is actually quite complicated to create! You need controls to open the dropdown, display the list of options, select one or multiple items from the list, show the user the selected items, and close the dropdown.
Tabs are a common design pattern on websites for good reasons. They effectively save space and organize content while allowing users to easily select and engage with the information they find most relevant. On our Kickstarter site, we use tabs to differentiate between activities that can be done in-person or virtually. This makes it easy for users to find the content relevant to them and visually indicates that the activity can be completed in various locations. We use ARIA in this instance because no HTML element exists to define tabs. Attributes like aria-selected, aria-expanded and aria-labelledby help accessibility tools understand which tab is currently selected.
As people who are passionate about human-centred design, we wanted to try and step into the shoes of those who would be using a screen reader first-hand. Of course, our test did not make us fully understand what these users go through, but it allowed us to be so much more empathetic about the people who use them. If you’re new to screen readers like we were, here’s the activity we did that you can try yourself!
Note: This activity is for Mac users as it uses Apple’s built-in screen reader application, VoiceOver.
If you’re interested in reading more about this topic, here are some other articles that we enjoyed reading:
Sorry, we couldn’t find anything that matches your search.
Learn how Habanero is responding to the Truth and Reconciliation Calls to Action as a settler-owned company operating on Indigenous territories across what is now called Canada.
Read about our commitment