I have been very interested in accessibility for over 16 years and a big part of the entire Siteimp/Formimp project is to make the web faster and more accessible. Since I have spent so much time in accessibility, it is easy to get too high level and get too deep into things like ARIA roles. But today I wanted to bring things down a little and write a very practical article that everyone could instantly start to practice.
Likely the most important piece of practical advice I have to offer is that if you want to build more accessible websites and applications, you need to learn to use a screen reader. I am aware that that does not speak to every possible use case and that it will annoy people since there are standards you can follow. But in my experience, once you start to get away from semantic HTML into areas where you will need ARIA roles, a screen reader just has to become part of your testing otherwise you can’t really be sure that your controls fully make sense to everyone.
I would appreciate feedback on this article.
Every other tip here will just fall into place when you have used a screen reader to do all the things you normally do. You’ll discover that a whole lot of websites you use regularly convey very important information through colours or images that do not convey the necessary information in voice. You will experience how, if you only have your ears to rely upon, you will "skim" with H and Shift+H to jump between headings on the page. You will experience the difference between an acceptable "click here" and a very confusing one.