Accessibility, often abbreviated to “a11y” (because 11 letters are omitted in the abbreviation), is a critical concern in any software development on any platform. Broadly, it’s the study and practice of implementing software that remains effective and usable for all users with a wide range of abilities and disabilities.
The following are some of the better resources for learning about accessibility. Because CS 253 is focused on developing web applications, these resources share that focus, but most of the principles apply to mobile and desktop software development as well. These primarily come from two sources:
- WebAIM (Web Accessibility in Mind) is a site full of good resources on web accessibility, including both learning materials and tools.
- The Mozilla Developer Network (MDN) is an excellent resource for learning just about any topic related to web development, including guides, tutorials, and high-quality reference materials.
Introduction¶
First, we need to understand what accessibility is and why it matters.
- WebAIM’s Introduction to Web Accessibility is a good place to start.
- MDN’s What is accessibility? page provides additional specific examples beyond the WebAIM page.
Basic Topics¶
First, this page quickly lists out several common disabilities and the accessibility solutions most relevant and important for each: WebAIM: Considering the User Perspective
The full set of topics and considerations in accessible software design is large and wide-ranging (see the standards linked under “References” below), but a few are fundamentally important for web development and relatively simple to implement. Ideally, everyone should understand at least these before making a web site for the public:
ARIA¶
You may have seen “ARIA” mentioned in some of the above links. ARIA (Accessible Rich Internet Applications) is a specification for extensions to HTML (mostly in the form of new tag attributes) that can be used to make a page more accessible than “plain” HTML alone. Once the basics of accessibility are in place, ARIA can be used to smooth over remaining rough edges.
- WebAIM provides a good introduction to ARIA.
- MDN’s page on ARIA basics is worth skimming to reinforce and augment the introduction from WebAIM.
Practice / Check Your Understanding¶
Teach Access provides a free, interactive tutorial that walks you through fundamental topics in web accessibility with live exercises embedded with which you can practice and check your understanding.
Tools¶
Several free tools help you implement and check accessibility in websites:
- WAVE is a powerful, user-friendly web accessibility evaluation tool from WebAIM. It can evaluate any public web page, or you can install a browser extension to check private or local pages during development.
- Chrome’s Lighthouse tool, built in to the browser, can also evaluate and report on the accessibility of any page you visit.
- Testing your site with a popular screen reader is an excellent way to check for issues that may be faced by screen reader users and to validate any solutions you’ve put in place. It can also develop your understanding and empathy for users of screen readers, helping you maintain a broader perspective on how users will interact with sites you develop.
References¶
The Web Content Accessibility Guidelines (WCAG) are an international standard for accessibility on the web. It’s more than you will want to read in one sitting. As a professional developer, however, you will want to be familiar with all of the guidelines and should refer to them regularly.
Section 508 is a set of accessibility standards from the US federal government that will apply (legally) in software developed, purchased, or used by the federal government. Professional developers should be familiar with these as well.
Elsevier provides a useful Accessibility Checklist that can help you quickly identify standards relevant to any situation or accessibility topic. Think of it like a “quick reference” for the full WCAG and Section 508 standards.