dmazzoni 4 points
Hi - I'm an engineer specializing in making websites more accessible to blind and other disabled users.
Here are the first few things to think about:
* For any important images, give them an accessible alternate description: <img src="foo.bar" alt="Picture of a cat playing a piano">. If the image is unimportant - like purely decorative, it's better to add alt="" because otherwise the screen reader may try to guess the image's title anyway.
* Use headings (h1, h2, etc.) to logically lay out the page. One of the easiest ways for a blind person to skip around in a page is by jumping to the next or previous heading.
* Make sure every form control has a label. Use a <label> element 90% of the time, but when that's not possible, use the title attribute, or aria-label as a last resort. Placeholder text is okay, it's accessible.
Now, if you have a really simple site, you might already be in good shape! But here are some tips if you have something more interactive:
* Built-in HTML links and form controls are all accessible: links, buttons, checkboxes, text fields, sliders, etc. - if you use those, you're great. However, if you roll your own, they won't be. Either use a UI library that has already taken care of accessibility, or plan on doing a lot of extra work.
* If text appears out of nowhere, use a *live region* to make it announced immediately.
Some myths:
* Myth: blind people can't use JavaScript. Hasn't been true for years! Modern browsers and screen readers handle JavaScript just fine. The trick is to just make sure that the page isn't changing in a confusing way. Yes, it takes more work to make a very dynamic site accessible, but it's not because JavaScript itself is the problem.
* Myth: I need to add keyboard shortcuts to my page or it will take forever for a blind person to find anything. Nope, not really. First of all, they're probably listening to your page at supersonic speeds, but furthermore they're probably skipping around by headings, or searching for text they remember earlier using the Find function to quickly jump around. Focus on logical organization of the content, not keyboard shortcuts.
Further reading:
* http://webaim.org/intro/
* http://dev.opera.com/articles/view/introduction-to-wai-aria/