I tell you it's getting really difficult surfing... Specially "INDIAN sites". And you won't believe, but these are all corporates, big million dollar corporates with designers from gutters,(I suspect), who validate form inputs on "finance" websites using JS...(Think how open these websites would be to sql injection)...
Somethings which make it even more difficult, (accessibility point of view), are:
* No ALT information, and the image is also named like top1.gif, top2.gif. Most screen readers can read filename if an ALT is not there. In this case an a "contact link image" will read as
"Graphic link top2.gif", which is useless information for people on screen reader...
* No heading, or even a little something which indicates "start of content". So when a blind person clicks a link, they have to read the entire navigation again before reading the content of the next page. Generally if there's a heading, one can hit the "H" key to go directly to it... "G" for graphic etc... (A blind person tries to notice things like these before the content, so they can use shortcut keeys). The article site in my signature uses "G", (Yahoo bookmark graphic) just before the content starts, and navigation ends. (Using "JAWS", hit "G" key, and you go that graphic.)
* Multiple instances of flash, specially in loops. Worse when flash has text content in it. Some screen readers tend to jump to text. When put in flash, in loop, the next time the loop runs, the focus of the screen reader goes to the flash, despite the fact that the person was reading some other text and now has to scroll back to where he/she was.... Loop runs again...
Fortunately, Microsoft allowed turning of flash plugin in IE6. I'm telling you it's god sent!
In previous versions, once you have downloaded the plugin, you could not have deactivated it. So no matter what, you will see the flash, which messes up with other reading on the page. But now, see an important message in flash and then deactivate the plugin, read normally! "Thanks microsoft"
* Ajax, although a very useful integration, sometimes fails to provide appropriate information. Example I click a button which activates an Ajax function, which shows results just below the button. Good for those who can see, but this new information is not available with the screen reader... One will have to go to "top of page", and then start reading all over again to read that 1 line... (Completely blind people will totally miss because they didn't know that there was a change on the page because of the click of a button). Think when Ajax are used in "simple contact forms". A blind person will sit there waiting for the script to process the form, although it is already processed, but this time, the "ok" message was not read by the submitter. Frustrating...
(Better use Ajax with lesser important stuff...)
* Adding some sort of sign in prefix, (PHPLD best example), for items in "drop down" boxes. Now one has to go item by item. (PHPLD uses a "|" sign as prefix).
Another Example: Instead of hitting "U" to select USA in a country list, one has to read one by one all other countries from A to U.
There are so many other problems, but who cares, cause they can SEE...