Let’s take a moment to understand what an accessibility-first mindset is and some simple steps developers can take to create accessible apps.
We may celebrate World Accessibility Day on May 20 this year; however, building apps with an accessibility-first mindset is something we should strive to do every day. But what does that mean—accessibility-first mindset? And why should a developer care?
Accessibility expert and JetBrains Developer Advocate Rachel Appel says it best: “You’re building software for other humans, and if you can’t empathize with them properly, you simply cannot build quality software that truly fits their needs. If it only fits the needs of you and your team, or the focus group you’ve used, then you’re doing a disservice to many humans who use your products.”
A very recent and real example of the importance of this is something we have all experienced in the past 14 months. During the pandemic, apps that were once just used for convenience—ordering of services, making payments, ordering food—all became apps of necessity. The need for social distancing and contactless services drove this change and evolved humans’ reliance on technology.
This reliance shined a light on the need for inclusive, accessible apps. By designing with empathy and with an accessibility-first mindset, developers can democratize apps of necessity.
But how? you might ask. Appel says to start by purposefully practicing empathy toward friends and family, and read novels. “Novels are a great way to build empathy,” Appel says. “With empathy, you can learn and feel what people actually experience when they use electronic devices and your software. Learn how people with disabilities use the web. Have you ever blindfolded yourself and tried to surf the web or use Twitter?"
Appel goes on to say:
“Know that nearly everybody who uses software will have some disability at some point in their life. Many folks tend to think that ‘disability’ simply means people who have lifelong disabilities such as blindness or deafness. However, most people will undergo a temporary disability at some point. This could be an illness, recovering from a surgery or an accident. Nearly everyone at some point will experience aging disabilities in which sight, motor skills or cognitive skills deteriorate over time.”
RELATED ARTICLE ON THE PROGRESS BLOG
Here are a few examples of disabilities and how you can think about accommodating them:
Mobility or physical impairments such as limited sensation, limited or weak muscular control (perhaps tremors), missing limbs, etc. Physical or mobility impairments could be permanent or temporary (a broken arm, for example). Developers should think about providing full keyboard support and making the time constraints generous for people who may need more time to complete actions like filling out forms.
Auditory impairments could be deafness or being hard of hearing. Captions or transcripts should be available for multimedia in your apps and background noise should be used sparingly.
Visual impairments include nearsighted and farsighted, blurred vision, color blindness and total blindness. Make sure text can be resized and that color contrast is sufficient. Make sure the backgrounds of the app aren’t too busy and make the app is compatible with a screen reader or a braille display.
Cognitive/learning/n0eurological impairments could include dyslexia, autism and more. Make sure your navigation is simple and easy to understand, that you do not have too many items flickering, blinking or moving, and that your fonts are dyslexia-friendly (those in the sans serif family, like Verdana).
With all this in mind, Chris DeMars (accessibility expert and Quicken Loans Developer Advocate) says the best thing a developer can do to ensure their apps are optimized for accessibility is to run audits on their code as they are working through it. “Use tools like axe, which is a browser extension from Deque. Build out accessibility checks in your build pipeline as well. Never forget to check the experience through a screen reader, without looking at the screen,” he says.
“There are a handful of other tools out there that can be used for working on and testing accessibility. I also use Lighthouse to get a score of where the experience falls, and I make sure to always test the experience with a screen reader and without a mouse,” says DeMars.
He also recommends VoiceOver for Mac, NVDA for Windows or Orca for Linux distros. “These are screen readers for different platforms that you are building on,” he says.
As a final tool tip, DeMars recommends a color contrast checker—particularly the one in Chrome’s DevTools that tells you whether or not you hit the AA and AAA color conformance levels according to the WCAG (Web Content Accessibility Guidelines). He’s written more about color contrast and the tools on the Rocket Mortgage Technology Blog.
Appel also has resources she recommends developers look at as they start their accessibility-first app dev journey:
“Each organization has downloadable tools, such as accessibility checkers, that can be incorporated into the development process,” she says.
With all of this in mind, I challenge you to make every day World Accessibility Day. Democratize your applications and make them something everyone can use. Not only is it the kind and humane thing to do, Appel reminds us that “when you build software that makes it better and easier for those with accessible needs, it also automatically becomes better and easier for those who don’t have accessible needs. So always design with accessibility in mind.”
Sara Faatz leads the Telerik and Kendo UI developer relations team at Progress. She has spent the majority of her career in the developer space building community, producing events, creating marketing programs, and more. When she's not working, she likes diving with sharks, running, and watching hockey.
Subscribe to be the first to get our expert-written articles and tutorials for developers!