Accessible coding is about making computer systems interact well with the humans that use them. They key term is “well”. It’s not enough to be accessible, the systems must also be usable.
I coined the term a few years ago to describe my own research efforts where the overlap between accessibility on the one hand, and usability on the other were clearly one and the same. A computer system is only accessible if it is usable by the target audience.
A number of things can influence that usability:
- The capabilities of the user in terms of vision, hearing, mobility, and cognition.
- The type of information being shared between user and computer. For example, describing tabular information to a person with low vision can be particularly challenging.
- The physical environment in which the interaction takes place. It’s generally easier to communicate with a user who is in a quiet, well-lit, stationary environment than one is a more uncontrolled environment.
- The context in which communication takes place. Just as examples, we have desktop PCs, laptops, mobile phones, wearable devices, industrial plant. In each case the computer systems have their own constraints on communication across all three design spaces: visual, sonic, haptic.
- The practical limitations of external adaptive technology. Hand-held mobile devices may be accessible with additional physical keyboards and displays, but they are no longer usable as mobile devices tot eh same extent.
Accessible coding happens when, given those constraints, the target users for the computer system can all successfully use the system. SO, this is a definition based around the requirements of a defined set of users. It is not a general definition of accessibility, whatever that may be.