Like most developers, I've always known that building accessible web apps is the right thing to do, but I wasn't sure how to do it. I tried my best to add image descriptions and audio transcripts and figured that was good enough. Then I started work on a Django 1.8 project for an agency that has a low-vision website administrator. When we sat her down in front of the app's admin interface for the first time, she had a lot of trouble using it. The contrast was way too low, and control features like sort by column weren't properly labeled. After watching her navigate the admin interface and learning more about how disabled users navigate the web, I customized our app's admin interface to improve accessibility. I've since gotten training in web accessibility, and want to share some of what I've learned so we can all build more accessible apps.
Common Accessibility Issues
We'll cover the most common barriers to access and the tools and accommodations people rely on to get around them.
Blindness and low-vision
Blindness is what most people think of first when they're thinking of web accessibility, but there are a lot of myths and common mistakes around making sites accessible to blind and low-vision users. We'll talk about screen-readers, screen magnification, color contrast, and best practices for links and image captions.
We'll cover resources that can help developers see how their site will look to folks with various kinds of colorblindness, and best practices around using color to distinguish content.
Deafness and hearing difficulties
Applications that require the ability to hear and process sound are inaccessible to folks with hearing difficulties, as well as anyone who's forgotten their headphones. We'll talk about best practices around audio and captions.
Executive function disorders like ADHD, reading difficulties like dyslexia, and neurological conditions such as epilepsy can affect how people navigate the web. We'll talk about best practices around content and design to make sure websites are safe and accessible for neurodiverse users.
Some folks navigate the web without two nimble hands. This category includes amputees, folks with bone or joint issues, and anyone holding a baby or a public transit railing. We'll touch on on-screen keyboards and keyboard navigation.
Auditing for Accessibility
We'll wrap up with an accessibility audit of the django admin interface, putting what we've covered above into practice. We'll use http://wave.webaim.org/ and step through how to fix the issues it flags.