Some Thoughts on Accessibility
Recently I worked with some coworkers to write documentation on building accessibile web content (which we have since open-sourced as the Accessibility Guidelines) and then, building on that work, I gave a talk about accessibility as a practice rather than task or checklist. This post is a written version of that talk.
I think it’s best to frame this in the context of generations. I am Winston the third; let’s start at the beginning, with Winston the Original.
A few years ago, my late granddaddy was bored. He was in his early 90’s and his decline had been sort of rapid in the past few years. In his late 80’s he’d climbed up on a chair to measure some furniture for my grandmother and he’d fallen. After the fall he claimed he was fine, but when he was having trouble breathing the next day they went to the emergency room and it turned out he had internal bleeding. He’d punctured a lung in the fall.
Grandaddy was, needless to say, stubborn. One of his favorite things to do was read and damned if he wasn’t going to keep reading until he was fully blind. As his eyesight dwindled, my dad and his sisters tried a few things to help grandaddy keep reading. First, they got him a Kindle. Even though the text could be resized it couldn’t go big enough. Dad mentioned to me the problem and I remembered that Instapaper, the iOS read-later app, didn’t have a cutoff on text resizing. Maybe this was an accident; an oversight on the developer’s part, or maybe not, but it meant that you could make the text in articles ridiculously big. That helped for awhile, although the downside was that the rest of the text on the iPad was not that big so getting articles into Instapaper was a problem and eventually that solution didn’t work. The last thing that grandaddy got was what appeared to me like a microfiche reader except for normal text. You’d put some paper (he loved the local news) under a magnifier and it’d blow it up real big on a screen.
I think about these measures we took a lot. Specifically, I think about Instapaper. A reasonable design decision is to allow a range of text adjustments in a UI but because a certain app didn’t have a cutoff for how large you could make it my mentally-capable and nearly-blind granddaddy got to read the news for a little while longer.
When I was 13 my dad and I worked to finish the basement of our house. My dad is an architect and had designed and overseen the building of the house about 8 years prior but left the basement unfinished at the time of construction. Together, we took it from exposed rafters and concrete walls and floors to a finished space (where my siblings and I basically lived until we all moved out). The work was fun and educational but I will never forget this one thing about the process. Dad had custom designed this house for us and it was great but as we were finishing the basement, he kept changing decisions he’d made 8 years earlier. Most notably, we ripped out a closet to help open up the room, that, in the original construction, had been sheetrocked in (but not painted). I remember it so well because it was just a thing he did. There was no object lesson, no real attention drawn to it, he just saw that the previous decision (which represented real money invested and time spent) didn’t work well for the way he wanted the basement to function.
Perhaps because I was 13, or perhaps because it’s just a really cool insight, this project marked the point where I understood that everything in the built world is the result of human decisions.
A little over 3.5 years ago my partner gave birth to our first kid, Winston the fourth, who we call Win to alleviate confusion. Having a young human in your life makes you think a lot about the usability of things. After I became the parent of a young human I became a lot more aware of how many tasks can be done with one hand – and how many can’t. You can thaw a bag of frozen milk and measure it into a bottle and then heat the bottle up in a bottle warmer and test that the milk is the right temperature with one hand. You can’t open a non screw-top bottle of beer if you don’t have one of those wall-mounted openers.
Eventually Win started exploring the world. Watching a ~18 month old child explore the world is all sorts of fascinating. Somehow they are completely inept in everything they attempt to do and also they can achieve every goal they set their mind to. I know it’s a stereotype to talk about how kids and how easy touch devices are, but I’ll confess it’s truly astounding to observe a child piece together the way a technology works. I think of how in 45 years or so, we’ve gone from interfaces that require the ability to type and read to use, to a touch interface that is in some ways so obvious that toddlers can figure it out. My kid could unlock an iPad, open a drawing app, and start playing with shapes and colors at 18 months old. That felt miraculous.
And technology can feel miraculous. The application of knowledge and available materials to create new tools allows us to continually rework the world for our needs. We find gaps in our abilities and we make things that fill those gaps. We then look for more gaps. More opportunities. More frustrations. We keep building. We circle back and find that our previous gap-filling technologies had significant consequences and so we find better ways to fill the gaps. In theory we improve our lives.
Often when I think about accessibility I mentally place it as a thing to check off in the process of creating something. There are aspects of this framing that are true but often those are contextual to the visual design details or the technical implementations of the project. If I step back and think about building experiences, accessibility demands so much more.
Accessibility, I’m learning, functions better as a constant requirement to remove my assumptions about how a person might engage with the things I build. It’s naive and potentially unhelpful to think about specific disabilities and attempt to make sure my products are ok for them. Far more important is to consider the range of contexts and needs that humans have as they go about life. Accessibility is not merely about considering those with permanent disability. This awareness is a direct challenge to my internal biases. It’s so easy for me to pile up a bunch of assumptions about average and make that a foundation for my work. But I do much better work if I constantly check these biases, question them, and engage with the areas they blind me to.
In Sara Wachter-Boettcher and Eric Meyer’s book Design for Real Life which I reviewed here, they discuss the many emotional contexts a person may be experiencing when they use your product. To help facilitate this empathetic imagination they suggest reframing “edge cases” as “stress cases”. This language change encourages empathy but more importantly in my mind, innately rejects the idea that edge-cases are abnormal or unimportant. We can easily understand that stress cases might best be considered the times when our work is most important. If we have done our jobs well, our products will not increase stress and may even alleviate it. Perhaps we start to wonder how best to handle the stress cases, recognizing if the stress cases are covered the general cases will probably be more than covered.
Here is a practical example that I’ve noticed recently. Some people have cognitive impairments that hinder their ability to process information quickly. If I wanted to design an experience that keeps this in mind, I should be aware that introducing elements to a UI that animate away quickly can be frustrating if I don’t allow a user enough time to comprehend and act on the information. If I design within that constraint, I improve my interface. But this awareness and constraint actually produces plenty of positive consequences for many other users. I use an email app I really like on my phone that helps me sort through emails quickly. I can swipe to archive and swipe further to delete. However, sometimes I mean to do one and accidentally do the other. Thankfully, the app designers anticipated this and they pop up an Undo button. This button is visible for perhaps 5 seconds. This is a reasonable amount of time if you assume that a user is focused on your app exclusively and doesn’t have cognitive impairments. I do not have cognitive impairments right now, but I am a dad. I am never exclusively focused on anything. Numerous times as I’ve been swiping through emails a kid needed my attention and I made the wrong choice and by the time I could look at the phone again that email was lost and the undo button was gone. Shit. Now I have to find it, amongst the multiple email addresses that all pipe into the app. And so, this seemingly reasonable design decision is exposed to rest on a few assumptions that may cause frustrations for many people, disabled or not.
Accessibility is a design constraint. All day we work to find creative solutions to meet the various constraints that are inherent to the projects we are currently on. Perhaps we are building web products that need to be useful across multiple sizes of devices. Everything we build is then weighed against that constraint. Perhaps we are working in healthcare and there are strict laws around data collection and security requirements. Everything we do is then measured against the legal constraint.
Here’s a fairly common constraint: we are building products to be used by humans. I love the challenge that building for the diversity of humanity brings. In some ways it limits my ability to be adventurous and try and reinvent things as I try to ensure the maximum usability. But simultaneously, it invites me to constantly pay attention to the details and try to anticipate all possible uses. When I imagine my work being used by real people with various stresses or disabilities or hindrances and then use my imagination to build better experiences that help them accomplish what they are doing; this is the work. Succeeding should mean that at worst they accomplish their goals without unnecessary obstacles, ideally they have reduced stress and, when possible, a little delight.
Recently some coworkers and I organized a two day internal hack project to try and figure out how we can make the practice of accessibility a first class citizen in all our processes at Vox Product. We did some training, some brainstorming, and then spent a day writing documentation. We tried to capture the high level goals of making products that can be used by anyone who wants to use them, regardless of context or ability. We also focused on the technical requirements for every job role so that every person in the company could own the work in their role. In the course of our writing and talking I wrote down the words “It’s not world class if the world can’t access it.” I’ve been thinking about that a lot lately. It’s a principle, but it’s also a challenge. Can we make things that succeed with that criteria?
I think we can, but it means that starting today I have to recognize I have internal biases about how people are going to use the things I create. Maybe these are explicit, external biases in the ways I research, plan and design. It’s on me to start doing the work of learning. As I learn, I’ll hopefully start seeing assumptions I’m making. Then I need to take the time to question them. Take the time to answer the questions. Adjust.
In the lead up to that internal event I sent a tweet out asking for people to send along their favorite resources on the topics of Universal Design or Accessibility. An educator who is blind saw the tweet and started an email thread with me that was incredibly wonderful. She had strong opinions and tons of resources and also an awareness that there’s a shit ton to be done. But one thing she said to me has become my mantra as I begin this process of reorienting the way I design and engineer things. She said “It’s so very very important to be sure everyone understands that baby steps are good, and they count. I know how overwhelming it all can be, and I know that people can start to feel as if, because they cannot do everything just so (to the letter of one of the guidelines, perhaps), then they won’t do anything (and become paralyzed).”
Baby steps are good, and they count.
Ok so, where can you start? There a billion resources out there, but I’m going to recommend two books specifically. First, A Web for Everyone. Even if you don’t work on the web this book is valuable. The authors, Sarah Horton and Whitney Quesenbery, take a Universal Design approach to accessibility; seeking to frame it in the context of understanding the varieties of human abilities and contexts. To achieve this they introduce fictional personas and then help readers frame design choices in the context of those personas. This book has been incredibly helpful for me in expanding my empathy even as it offers numerous practical ideas for building better experiences.
The second book is Design for Real Life by Sara Wachter-Boettcher and Eric Meyer. This book focuses on introducing empathy into our designs through a number of practical examples and ideas for research and improvement. The book is short, easy to read, and incredibly important.
Each of these books has improved my imagination and empathy. They have given me a greater understanding of my biases about how people experience life and use technology and in doing so have inspired me to try and make things better. It’s up to all of us who build things to constantly learn, adapt, improve, then try again. When we do this, we create opportunities for our fellow humans to transcend their abilities; whether it’s a toddler exploring their power to create or a 93 year old able to read despite rapidly failing eyes or any of myriad challenges humans face as they experience life. If we all baby step together we may one day find that we’ve built a home that is delightful for everyone.