Accessibility for All
Accessibility means access. In a world where information is at our fingertips, we have access to all kinds of information in various forms. From navigation utilities and restaurant reviews to email, contacting friends and family, and reading the latest blog post of your favorite contributor, we don’t think twice about our ability to use these media sources for daily life activities.
However, accessibility is not ubiquitous. Imagine the latest information about a major election or breaking news from a local news source begins to funnel through news outlet pipelines, but you can’t hear what’s going on.
Imagine you are scrolling your favorite website or sorting through all the content on your Facebook page but you can’t see what visuals persist throughout the page. Gaining information on topics such as healthcare access, education, and human rights may be just as difficult, if you are blind, deaf, or suffer from other impairments.
The Canadian National Institute for the Blind (CNIB) states, ‘accessibility refers to the ability for everyone, regardless of disability or special needs, to access, use and benefit from everything within their environment. It is the “degree to which a product, device, service, or environment is available to as many people as possible.”’ It is time that greater numbers of people, including those with special needs, can become users and co-creators of emerging technology. This includes software.
So why make apps accessible? …or should I say WAI? The World Wide Web Consortium (W3C) affirms the Web as an increasingly important resource in many aspects of life: education, employment, government, commerce, health care, recreation, and more:
“It is essential that the Web be accessible in order to provide equal access and equal opportunity to people with disabilities. An accessible Web can also help people with disabilities more actively participate in society. The Web offers the possibility of unprecedented access to information and interaction for many people with disabilities. That is, the accessibility barriers to print, audio, and visual media can be much more easily overcome through Web technologies.”
The World Bank declares that one billion people, or 15% of the world’s population, experience some form of disability: “One-fifth of the estimated global total, or between 110 million and 190 million people, experience significant disabilities.” Despite its general rarity, ensuring accessibility for all is simply the right thing to do.
Making sure all people have equal opportunities is indeed a matter of integrity, and making websites and software accessible is becoming increasingly more appealing as companies realize opportunity value associated with fairly minor shifts in Web architectural decisions. In fact, many small adjustments can go a long way.
Personally, while developing applications in the latest module as a student at Turing, keeping accessibility in mind was not so difficult. With some basic knowledge and ability to use the right resources, the amount of time I have spent accommodating for users with disabilities represents a minor fraction of time compared to the development process as a whole.
I may spend 30 minutes out of countless development hours making sure proper html tags are used, ARIA labels are in place, and aXe violations are kept to a minimum. Fantastic tools exist currently, and there are plenty of great articles and guidelines for developers emerging all over the Web.
What are some ways of making applications more accessible? One simple and effective means of achieving this end is using ARIA roles, which define what the general type of object on a Web page is (such as an article, header, or form).
Note: Adding an ARIA role does not change the behavior or appearance of an element for people NOT using assistive technologies.
Defining a role for a Web object helps to create and ensure proper navigation landmarks for special needs users. Because elements can only have one role, best practice calls for choosing the one that best represents what that element does. In other words, a button can’t be both a header and navigation. Pick one.
For instance, this span element only has one role:
<span role=”checkbox” aria-checked=”true”></span>
Using ARIA roles is not necessary all of the time. Instead of re-purposing an element and adding an ARIA role, you can just rely on a native semantic HTML element or attribute if available. HTML5 has semantic tags for exactly this purpose that are built with default implicit ARIA roles behind the scenes. Don’t use redundant roles and don’t make things harder on yourself or a screen reader. Some examples of these tags include section, article, nave, footer, button, input, h1, h2, h3…etc.
Elements such as
<nav>, <button>, <header>, <aside>, when read aloud, help clarify what part of the html page someone is focused on. For instance,
<nav></nav> tags map to an implicit
role="navigation". Keep an eye on these so you can avoid writing redundant code.
This is the beauty of ARIA roles. Half of the work is done for you if you chose tags that specifically describe your Web objects or elements. Some examples of other useful tags are as follows:
<q></q> : inline quoted text
<time></time> : date or specific time
<cite></cite> : reference to a cited book, play, etc
<input type="email"></input> : specific type of input field
<figcaption></figcaption> : detailed caption on an image
<code></code> : code snippet
<aside></aside> : chunk of text that isn't the primary focus of the page
<article></article> : small subsection of content
<abbr></abbr> : abbreviation
Feel free to consult a more complete list of HTML elements.
Greater accessibility is surely on it its way. Many people have contributed technical information on how to approach accessibility and what to be most aware of, such as Matt Legend Gemmell’s guide for iOS app developers on how to provide VoiceOver accessibility support for visually impaired users.
The Teaching Accessibility Initiative demonstrates Silicon Valley’s commitment to make Web applications more accessible. Apple has shown a similar commitment to providing users of all types greater access to content on iOS.
The SSB BART Group has developed an Accessibility Management Platform (AMP), which “provides the infrastructure to facilitate all aspects of a successful accessibility compliance program.” Attempts have also been made to make games accessible to the blind and deaf.
Accessibility in tech certainly doesn’t top the list of some unfortunate costs of innovation. Whether it is considered an additional feature or simply best-practice, accessibility is a key factor in developing software that not only reaches a greater audience but can make a difference in the quality of life of many more people.
After all, Web accessibility is required by laws and policies in some cases. The US has its own set of accessibility policies and standards that companies must learn and abide by, aside from state policies relating to Web accessibility.
If you feel the need to develop greater empathy for disabled users, try using ChromVox, a screen reader for Chrome which can simulate a felt experience for visually impaired users, and also assist them in gaining greater access to ever-important information.