Better for everyone


 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.

Eric Aside

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.

Eric Aside

Naturally, you also want your products to also work well with other input devices. Here are some links to help you with touch and Kinect (K4W blog).

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.

1014 Better for everyone.mp3

Comments (4)

  1. Daniel Rose says:

    Some notes about audio:

    My computer at work has no speakers and no headphones. I'd imagine that this can be the case for many computers. Without a transcript any podcasts are unusable for me. For videos, if the narration is needed to understand what is going on, then the video is also (almost) useless.

  2. Adam Meltzer says:

    Great post on accessibility -- something I've been hoping you would write about for some time now. I'm a big keyboard enthusiast because I find it such an efficient way to navigate through software. I hate reaching for my mouse. Any software that doesn't support proper keyboard navigation, tab ordering, and the like really grates on me. Given how much it bothers me, I can't imagine how frustrating it must be to someone who depends on keyboard navigation to use software for any reason.

    When designing for screen readers there's also subtle things you need to consider beyond having alternative text for images and the like. You also need to consider wording as well. For example, something like "click the button in the upper left quadrant" or "see below for more details" won't have any meaning to someone using a screen reader. Where's "below"? Where's "upper left"? If you have proper tab order maybe someone could figure it out but overall it just makes the software more cumbersome to use for those with screen readers.

    I've found a great and simple way to verify your software for screen reader and keyboard navigation scenarios and that's to simply hit Win+U to turn on screen reader support (as an aside, Windows 8 has a wonderful screen reader -- leaps and bounds over what was in previous versions) then turn off your monitor and try to use the software. Unless you've put in a bunch of thought to accessibility and keyboard navigation you may be in for quite a shock when you try to use the software.

  3. Michael Z. Kadaner says:

    > Keyboard traversal is faster and more dependable than using a mouse.

    This has been regretfully neglected recently in various Microsoft products.

  4. John says:

    Online24x7,one of the leading software development company provides DMS Solutions for your organizations by which you can get rid of the complexity to manage Documents of each employee manually.

Skip to main content