Web accessibility is the job of everyone on the web team, not just one developer meant to make a few changes based on it afterwards.
Common Excuses #
- It's boring - Shiny tools are only distractions from our site's actual concerns: why the site/product exists and who benefits from it. Boring or exciting is completely unrelated to your real goals.
- We can't tell if anyone benefits - accessibility isn't just for blind people or people in wheelchairs. It affects people with huge ranges of disabilities, impairments, or circumstances. More details later, but it's always more people than you assume.
- We don't know what to do - Lots of ways to approach, from small changes to approaches you can use from the start.
- It's too tough - The web is tough, yet we do it anyway. accessibility is no different than other challenges we face, so it being tough is no excuse.
- Accessibility: Degree an environment is usable by as many people as possible
- Web accessibility: Same as above, but swap "environment" for "website"
Both of the above are forms of inclusion. There's lots of examples of this around us:
- Doorknobs with pivoting handles instead of spherical knobs
- Movies with subtitles
- Pedestrian traffic lights with tones
- Signs with simpler, shorter language (for reading difficulties)
All these make the environment more accessible without making it less usable for others. It's also good for business: accessible products can be used by, and sold to, more people.
Universal Design differs since it focuses on the needs of the widest possible diverse audience, not just disabilities. Instead of adding a ramp to a building with stairs, it'd have a ramp built in as part of the stairs. It isn't a "bolted on" solution - people can naturally use one or the other, almost without noticing.
For a website, the difference is like adding a button that makes text larger (accessible), and just making all the text larger from the start (universal).
The ability to share the feelings of others.
It's easy to solve our own problems, but this is problematic since most people in tech are similar. We forget about different people when we're trying to solve the same issues without them. Understanding and caring about different needs makes our products better.
It's also part of why diversity matters in web teams, it increases empathy which makes our products better. You can't "other" the user as stupid - another way to avoid this is referring to them as "people" or "humans." Don't patronize users.
Screen Readers and Beyond #
Screen readers are much more prevalent today than years ago. Not just used by those with impairments, it may be circumstantial (listening in a car) or preference (like listening instead of reading).
There's also keyboard navigation, using only a keyboard to access a website. Also used for more use cases than expected, like those without mouses, have difficulties with a mouse (motor function issues), or programmers used to text-based consoles.
- Up and Down for scrolling
- Tab for moving between interactive elements
- Space bar or Enter to interactions
Other navigation hardware to remember are touchpads, touchscreens, different types of mice, or foot-operated mice. Most of these are easy to take into account.
- Switch devices - let users interact via a switch, going through options and triggering the switch on certain ones. Macs make this easy with Switch Control, in the accessibility settings.
- Eye trackers - track eye movements to let people navigate screens with just their eyes. They're also quite expensive.
- Screen magnifiers - give zooming functionality and are in most OSs. Often used by people with visual impairments.
Overall, assistive tech can only do so much work. Certain needs are only met if they're part of the core design. It can't just be left up to experts each time - it falls on everyone working on the web.