We use JQuery-ui version 1.8.5 to create the dialogs. There are two ARIA roles which pertain to dialogs:
As of this writing, September 2010, neither of these roles are properly implemented in either the Jaws nor the NVDA screen readers. I believe there are timing issues which cause the screen readers not to process live region definitions till some unspecified amount of time after the region is created or unhidden in the DOM. In all cases, the fact that a dialog has appeared is announced, but in no case is the content read when alertdialog is used.
To help eleviate this situation, we tag our dialog content with live region markup, and then cause this content to be rewritten when the dialog actually opens. We use the JQuery-ui dialogopen event callback to insert our code. We also put live region markup on the button which opens/closes the dialog so that its text changes will be announced by the screen reader.
By extension, we suggest that all live region markup must exist in the DOM and be unhidden (i.e. display:none or visibility:hidden not set ) before it is used. For instance, appending a div to the body which contains aria-live="assertive" and then immediately writing text into it will not cause the screen reader to announce the newly written text.
Please read these instructions carefully before proceeding. Failure to do so could render your Windows machine even more useless than it already is!