Developing Accessibility

Gwen K
7 min readMar 19, 2021

--

A Missing Group in the Fight for Accessible Technology

I am a computer science student who will be going into the field of software engineering post-graduation. Something that I find important when developing software is considering the needs of my audience. This means considering the needs of those who may require different things than me when using technology. Thinking about accessibility when developing a new technology has been a rising focus in the computer science field for quite some time. However, one key group has consistently been left behind when creating accessible applications: those who create the systems. In this post I will dive into what accessibility is and how it affects the software engineering field in different ways.

A parking space with a wheelchair marker to represent accessibility
Photo by AbsolutVision on Unsplash

So, what is accessibility in design? Accessible design is focused on creating things which are usable for all users, or as many users as possible. For computers, it is important to consider the different ways that people interact with technology and making sure that those ways of interacting are still available with your development choices. Accessible design is more beneficial for everyone, especially due to ways that you can be temporarily or environmentally disabled. Have you used the push button to open a door when your hands are full or clicked the tab button to get to the next field of a form or seen someone with a stroller use a handicap ramp? Each of these are ways that accessible design benefits you and those around you.

A desk with a computer monitor which displays a coding software.
Photo by Karl Pawlowicz on Unsplash

A place where I have not noticed a lot of accessible technology is within the field of software engineering. Applications used to code and sites used to learn code are incredibly complicated and require instructions to use. If a design requires instructions to use, it is likely not the best design. Using a tool (physical or virtual) should be intuitive. When you open GitHub, a tool used for version control, the site recommends that you read its guide. When running a scan of the homepage with the AXE Google Chrome Extension, an additional problem is uncovered: the page does not have sufficient color contrast on many of its elements. Another negative color element used on the site is when submitting changes. Things that have been added are shown in green while things that have been removed are in red. One way that the site increases the accessibility of this feature is by adding a + or - sign to the front of each line to show if it was an addition or removal.

Having features which lead to poor accessibility doesn’t mean that there will be no accessible features. One thing GitHub does that is beneficial is provide the path for the files that you are currently accessing. This helps those that have medical conditions which impact memory. While one could look at a file and feel lost, the breadcrumb trail should help denote where they are as long as they have established a proper file structure within their own code.

I am the member of a team that is currently developing a chatbot using the IBM Watson tool. We use a variety of tools that I have found, after reading Laura Kalbag’s Accessibility for Everyone, are not designed with everyone in mind. As mentioned earlier, I hope to design software while keeping in mind the specific needs of my audience. When you are a software developer and your target audience is other software developers, you must try harder to remember that your audience may still defer from you in the ways they interact with technology. When developing a technology for a proof of concept or pilot, developers can request certification accessibility compliance from the company on an A, AA, or AAA scale. Different organizations may require that all technology they purchase meets a certain level on this scale. IBM was able to provide compliance information that Watson Assistant meets AA compliance on the user end. They did not have any information on the accessibility rating of the developer end. This demonstrates how developing accessible tools for developers is an unaddressed need by even big software companies.

A screen capture of the freecodecamp.org homepage which features accessible design.

Now for a rare, good example of accessible design for a people learning to code. FreeCodeCamp.org features over 6000 coding tutorials on a simple, easy to understand platform. I found this site when searching for “coding for the blind” as I realized many sites which teach how to code were not accessible for screen readers. “1 out of every 100 software developers is blind.” Blind software developers were able to use the tools provided on FreeCodeCamp.org to complete lessons.

But remember, the point of accessibility goes beyond the use of a screen reader or not. Accessible design can be seen in much smaller details. In the screenshot above, the search bar is surrounded by a box which helps to indicate where to click if you would like to search. The site can be navigated with tabs. In the picture above, the “start at the beginning” link is highlighted via tab navigation. The site has two color modes: dark and light. Both modes feature only grayscale design which assists in the ability for those that are colorblind to navigate the site without issue and lose no features that someone who is not colorblind has. Well, that’s what I thought, until I updated from light mode to dark mode. The message that the preferences were updated features green text on a green background with low contrast. This was unexpected after experiencing all of the other features that were packed into the website. My suggestion would be for the company to convert the coloring of the message to match its grayscale color scheme.

Green bar with green text to indicate that preferences have been updated.

If you are working as a software developer, why should this be important to you? The concept of accessible design in the field of software engineering is important because it helps improve the user experience. If a business need was required, then an increase in customer satisfaction is definitely the way to sell it. But in my eyes, it really comes down to how can you design technology to improve someone else’s day. If you focus on that, surely the profit will follow.

Now that you know the information, what are the next steps? When you next install and set up an application used to code or push your code to GitHub, think about these things. How is color being used in a way to indicate error? Are you able to navigate with keyboard input as well as mouse navigation. What things do you have to do during setup to make the program a better fit for you? Are there settings or capabilities of the program you feel are missing? If there are accessible features that could be added to help coders like you who are disabled by the product, be an advocate. Reach out to the company who created the software and mention your concerns. If you no someone who uses an alternative to a mouse and keyboard to navigate, ask them if they have experienced issues with the product.

A post-it note with a light bulb on a cork board symbolizing an idea
Photo by AbsolutVision on Unsplash

Get informed. Speak to your manager about what standards your company requires for accessibility. My university requires AA accessible technology, but this standard was not met on the developer end by the Watson Assistant tool. Does your company have different compliance standards for internal and external users? Most importantly, keep learning. If you are not someone who is frequently disabled by products with poor design, go learn. Read some books, watch some interviews, or conduct a usability evaluation. When I found out that there was an issue with the chatbot for screen reader users, I downloaded a screen reader. For me, it was sensory overload, but I was able to experience a hint of what our users would. When you design technology, think about the user first.

We cannot solve a problem by using the same kind of thinking we used when we created them. — Albert Einstein

If you are not a software developer, what can you take from this? Another part of my identity is that I am a member of a sorority. This past semester the person in charge of apparel created many designs, some I felt used a mix of colors which would not be good if you were colorblind. I didn’t speak up, and I regret it. I was pretty sure in my sorority, nobody would be affected by this decision, but that doesn’t mean that someone won’t be affected in the future. I could have been an advocate in the change of our policy to indicate that each of our designs should be tested with a color checker like ones provided by WebAIM or Color Oracle before getting approved. Don’t make this mistake. If something feels off in part of your life (whether it be something you find at a store or something you do for work), speak up! You can spark change that can help those after you.

They always say time changes things, but you actually have to change them yourself. — Andy Warhol

A child standing on a pile of crushed leaves in a pair of winter boots.
Photo by Simon Infanger on Unsplash

I plan to follow all of these suggestions going forward. I believe one of my key roles in life is to serve as an advocate for those around me. I believe my role in my job is to create programs which improve somebody’s day or life. When you have a chance, always put yourself in other people’s shoes and consider their perspective, it might even change your own.

--

--

Gwen K

College student interested in exploring what the world has to offer.