Accessible Web Development
What is Accessibility?
Accessibility is the practice of designing websites so that they can be used by everyone, including people with disabilities. You often see it shortened to a11y because it’s a long word, and tricky to spell. The 11 in a11y represents the 11 characters sandwiched in the middle of the word.
How I Deal with Accessibility
I build websites with a base level of accessibility baked in. An accessible site is not just built for disabilities – it is built sensibly and makes life easier for everyone. It’s like subtitles on video, what started out as an aid for the hearing impaired turned out to be a net benefit for all.
“An escalator can never break: it can only become stairs”
— Mitch Hedberg
Different levels of accessibility
A bare minimum for accessibility is being able to navigate with the keyboard, semantic markup (i.e. clean code), proper colour contrast between text and backgrounds, and alt tags on images.
There are also different levels of official accessibility rankings – AA, and the strictest AAA. Generally, the more information based and public serving the website (e.g. a local council website, or a train booking website) the better it’s accessibility should be. These come with design restrictions such as the ability to turn off movement.
Accessibility and creative coding
For the more creative end of web development (things like 3D) accessibility can be more of a challenge, but I always try and adopt a common sense approach to these things and push for it’s inclusion where ever I can. As an example of this common sense, you might not be able to find a suitable accessible alternative for a 3D model that can be rotated and spun around, but you can avoid things like scroll jacking (when you hijack the scroll bar and do weird stuff like make it scroll sideways when the user is scrolling down) and you can add prefers reduced motion CSS and JS so that animations can be turned off (like this site does).