I like to think I did alright, and I was eventually told by the various disability groups that I did ... but I really, really think not having various screen-readers to test against was something of a handicap of its own.
I like to think I did alright, and I was eventually told by the various disability groups that I did ... but I really, really think not having various screen-readers to test against was something of a handicap of its own.
* linux: orca, free and open source
* windows: nvda (free and open source), narrator (builtin, free)
* mac: voice over (builtin, free)
That this approach doesn't work is a sign that various vendors (including those who write screen readers) don't value those standards.
I once worked for a nonprofit group that advocated for blind people - they were involved with the standards. This was a frequent complaint: Google/Mozilla were sometimes the problem as they felt some of the pretty good proposals would hamper the evolution of the web, etc.
Being able to verify certainly makes it easier, but a standard like "Ensure all images have alt-text" does not require a screen reader to verify.
And the thing with standards is that often no existing product (screen readers in this case) will fully comply with the standard - so if a given screen reader fails on your site, it may well not be your site's problem. This was (and perhaps still is) the case with Web standards in general. In the old days, there was usually not a single web browser that was fully compliant.
If screen readers aren't compliant to the standard, then you need to test against as many screen readers as possible to ensure that your site is accessible. Users want a site that works, not a site that complies to an unimplemented standard.
1. There's hardly any support by screen readers of the `headers` attribute on table cells, to associate the correct row and column headers.
2. Dragon NaturallySpeaking has provided voice control of computers, including web browsing, for quite a while but it still can't identify an implicit form input label (that is, <label>Name <input name="name"></label> rather than explicit <label for="name">Name</label> <input name="name" id="name">).
A very common problem is assuming mouse-only input for buttons or menus, making them not work from the keyboard use.