This month’s column is about accessibility. I’m not making patronizing arguments for it. I’m not saying, “We’ll all need it someday.” I’m not rehashing heartwarming stories of inspiring people who prevail over life’s challenges. I’m not reminding you of your legal obligations. If that’s why you’re following software and hardware accessibility guidelines, then you’ve missed the point.
Yes, it’s true. You will need voice recognition when you hurt your wrist and a larger font when you get older. People facing challenges do transform their lives with technology. And many accessibility guidelines are legally required. But that’s not why you should design your products to be intrinsically accessible from the start. You should design your products to be intrinsically accessible because accessible products are better products—a lot better.
Accessible products are easier to use and understand. They work well in a wider variety of conditions and form factors. They are faster to navigate, less stressful to your body, more testable, and easier to enhance. Oh, and they also are usable by folks with disabilities. You see, the disability part is just the catalyst. Accessible products are simply far better products for everyone. If you aren’t designing your products to be inherently accessible from the start, then you are creating inferior products. And frankly, you shouldn’t work at Microsoft.
Ready for anything
Why are accessible products far better products for everyone? Because products are used in a wide variety of circumstances and environments. You usually use your laptop at indoor meetings, but sometimes you take it outside. You usually have both hands free when you’re typing, but sometimes your hands are full. You usually can read your messages, but sometimes you’re biking. These special use cases may escape our notice in initial designs or may not seem common enough to consider. However, to folks with disabilities, they aren’t special cases.
Basically, people with disabilities experience the same problems we all experience at times, they just experience them far more often. By designing our products to be intrinsically accessible from the start, we address a broad range of use cases we may have originally overlooked. The result is “Wow!” moments for our customers, who occasionally find themselves in bad lighting, encumbered positions, and loud surroundings, only to be stunned that the Microsoft products they love naturally adapt and delight them.
The notion that accommodations actually help everyone became clear to me when my autistic son attended elementary school. He needed reduced distractions, a structured environment, and clearly written steps for assignments. While some teachers found this an imposition, most were happy to make the accommodations.
Every school year, a few months after the start, it was the same story. We’d have our parent-teacher conference, and the teacher would say, “You know, those accommodations are great! I can’t believe how many kids benefit from them. They really help me direct the class and keep the kids focused. I’m going to use them for every class.”
If you’ve ever used a wheelchair ramp for your stroller or luggage, or used a lever-style door handle to open a door with your elbow when your hands are full, then you know that delightful feeling of benefiting from a disability accommodation.
Let’s get started
What should you do to make your products better for everyone? That’s straightforward. Design your product to work beautifully:
- When you can’t see well.
- When you can’t hear well.
- With different input devices.
- With UI automation.
We’ll break down each case, but first a few important notes:
- Design accessibility into your product from the start. Doing so will help you select the right UI elements and layouts that make supporting accessibility fast and easy. Retrofitting a bad design is slow and hard.
- Use standard web and platform controls. They already support accessibility. Custom controls require significantly more work and validation.
- Ensure every aspect of your product is accessible, including launch screens and admin settings. If any part of your product is inaccessible, not only does it diminish your product’s feature set, but customers can get stuck at inaccessible screens, rendering your entire product useless.
- Make every product accessible for everyone, including photo galleries for the blind and sound recorders for the deaf. Blind people take photos for their sighted friends. Deaf people record sounds and music for themselves and others. If you knew in advance how everyone would use your product, you’d be filthy rich and retired by now.
Okay, let’s start with designing your product to work beautifully when you can’t see well.
I can’t see a thing
There are many reasons why you might not see well. You could be outside in glaring sunlight. You could be in a dark room. There could be gunk all over your screen. You could have lost your contact lenses and need to call someone to help you find them. You could be driving or jogging and can’t see your screen. Or, you could be partially or entirely blind.
In these situations, you need to either enhance your eyes or rely on your ears. (We don’t have tactile screens yet, and smell-o-vision hasn’t caught on.)
- Enhance your eyes: provide high contrast themes and text to help with bad lighting, smoothly scaling visuals and text to help with blurry screens, and descriptive text to help with color deficiency.
- Rely on your ears: identify your UI elements for narration (think alt text and element names); specify roles (buttons, dropdowns, etc.), associations (this label goes with that input field), and tab ordering for each of your UI elements for easy traversal; and integrate with Cortana for all your common (and uncommon) scenarios.
When you design your visuals and text to scale smoothly, your product looks good on phones and large TVs. When you support narration, your phone and laptop can read books and mail to you. When you integrate with Cortana, your product becomes freaking awesome. Accessible products are better products.
Can you hear me now?
There are many times you can’t hear properly. You could be in a noisy theater, club, or on a busy street. You could be awake early or up late and not want to disturb others. You could have just left a loud concert or a scuba dive. Or, you could be partially or completely deaf.
At these times, when adjusting the volume isn’t enough, you need to rely on your eyes. (Again, no smell-o-vision.) That means subtitles and transcripts for all audiovisual content and visual alerts tied to all audio alerts.
With subtitles you can understand foreign videos, TV shows, and movies, and even comprehend what that guy said in English during the noisy bar scene when he slurred his speech. With transcripts you can skip quickly through content and quote it properly. And anyone who’s hit an Xbox achievement knows the euphoria associated with the distinctive audiovisual alert. Accessible products are better products.
We’d like your input
There are boatloads of forms on internet pages and within apps. Using your mouse to click on each field is slow and painful. Even inexperienced customers learn how to tab around a page. Advanced customers know the shortcut keys, as well as how to fly through dropdowns, menus, and radio buttons. Keyboard traversal is faster and more dependable than using a mouse. It also makes UI accessible to those with injured, immobile, or missing hands.
Keyboard traversal and UI automation are mostly covered by the same changes you made to rely on your ears: roles, associations, and tab ordering. You should also ensure that the arrow keys work nicely, the space bar and enter key activate controls, and your UI never switches focus automatically (which is quite jarring to narration and keyboard control). The standard web and platform controls have all of this built in—though you’ll want to validate the default tab ordering and associations. To find out more, read MSDN's accessibility guidelines.
With keyboard traversal and UI automation, your product is faster and easier to use and can be enhanced by first- and third-party applications to do all kinds of new tricks, including testing and narration. Sometimes touch or a mouse click simply isn’t quick or reliable enough to depend upon. When the going gets tough, the tough get a keyboard.
Does it work?
Even if you design accessibility into your product from the start, and use standard web and platform controls, you’ll want to validate that every aspect of your product is accessible. There are two easy ways to do this—I highly recommend doing both:
- Use accessibility inspection and validation tools, like AccChecker and AccScope (plus AccEvent and Inspect for accessibility enthusiasts). You can find out more about each on MSDN's accessibility testing tools page.
- Have people use your product, without a mouse, without touch, wearing a blindfold, or wearing earplugs. Ideally, you should have folks with disabilities give it a try. They know what to look for and are fluent with a variety of assistive technologies.
Help yourself by helping others
Hopefully by now you’ve gotten the message: accessible products are better products for everyone. Hopefully, you’re convinced. Hopefully, you’ll design your product from the start so that it works beautifully when you can’t see well, when you can’t hear well, with different input devices, and with UI automation.
If you design with accessibility in mind, your product will work better on different-sized screens, in a variety of lighting conditions, while your hands and eyes are occupied, and with a bunch of cool UI applications. Plus you’ll enjoy fast keyboard access and a warm heart for helping all those inspiring people who prevail over life’s challenges.
Why settle for producing an inferior product? Create some “Wow!” moments for your customers, and make life better for everyone.