Re: JavaScript and Screen Readers

Ryan Jean wrote:
> I was able to take a page that has a table with multiple cells and extract
> only one cell so that only its content is viewable in the current window. I
> did this using JS and "document.write()". This has three advantages: it
> eliminates a pop-up, a duplicate page is not required, and it is printer
> friendly. 

I don't understand why creating an ordinary link to a URL that shows
content specific to that cell does not meet your use-case. This does not
involve a pop-up, is printer-friendly, and works without JavaScript.

You mention "a duplicate page is not required" and "it is twice as much
work for the webmaster to update each page if there is a duplicate
involved.". Doing extra work is often worth it if it creates a better
user experience, but there isn't twice as much work if you generate
pages using a serverside templating language to avoid duplicating code.
Indeed, that should ultimately be less work than maintaining whole extra 
pages to insert with document.write().

This isn't to say that you have not identified an accessibility problem 
with the use of document.write() to replace the current document. I 
would note however that this is not a problem with all screen readers. 
VoiceOver doesn't keep a separate virtual buffer of the page; it just 
interacts directly with the accessibility tree exposed by Safari. When 
the Document Object Model changes, the accessibility tree changes too. 
"He kissed his dad." receives focus and is read.

Probably this is something that needs to be addressed by individual 
screen reader or browser vendors, depending on whether the problem is 
browsers not giving a notification of document change or screen readers 
not responding to such a notification.

--
Benjamin Hawkes-Lewis

Received on Friday, 22 August 2008 07:25:15 UTC