views:

66

answers:

1

When a web page is loaded, screen readers (like the one that comes with OS X, or JAWS on Windows) will read the content of the whole page. But say your page is dynamic, and as users performing an action, new content gets added to the page. For the sake of simplicity, say you display a message somewhere in a <span>. How can you get the screen reader to read that new message?

A: 

Here's an SitePoint article of several techniques (code therein) to try and let screenreaders notice dynamic content. It's conclusion

There doesn't appear to be any reliable way to notify screen readers of an update in the DOM.

So it's mainly a quality of screenreader thing, newer screenreader generations might be better suited for dynamic content and the WAI ARIA initiative will probably be a hook specification for those screenreaders.

Screenreaders and dynamic content are simply problematic and thus there are quite a few of articles out there to show you how to do it properly (avoidance).

Read up on WAI Aria.
Article on Script_Junkie.
Creating Accessible JavaScript.

The sure fire way of making content accessible, is to make it work without JavaScript so users can opt to switch off JavaScript. This is also a good practise in conjunction with progressive enhancement. Thats the strategy we took on, first javascriptless, then augment it.

BGerrissen
@BGerrissen, I don't find an answer to the specific question I asked (how to get a screen reader to read content added to the page with JavaScript) in the pages you link to. Am I missing something?
Alessandro Vernet
My appologies, updated my awnser which you probably wont be that happy about. There's simply no 'right' awnser other than mitigation (remove js dependency to content access). Perhaps in the future.
BGerrissen