WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: JAWS 14 issues with partial view reloads for Single Page Java web applications

for

From: dawn@dawnbudge.co.uk
Date: Jul 21, 2015 10:42AM


Hi,

I'm making a few assumptions about what you have control of here:

If the focus is moving to the content that has just been loaded in, that
is being done by JS somewhere, and should probably be taken out, assuming
you control it. That isn't default browser behaviour.

I think you might want to use aria-live to announce to the user that there
is new content instead. You apply it to the container that is on the page
that will eventually contain the asynchronously loaded content.
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Re
gions

You are right that document ready is too early to affect content loaded in
via AJAX, but instead of using a timeout (when you cannot guarantee it will
run at the right time) you listen for the completion of the AJAX call.

.live() is a deprecated jQuery function that would make sure that event
handlers (like 'click') were 'bound' (applied) to matching elements even
after the page had finished loading. You should use .on and event
delegation instead. Again you apply it to the container that is there on
the page from load, and give it an extra argument to limit what elements it
gets applied to. http://learn.jquery.com/events/event-delegation/ gives a
very full description.

Thanks,
Dawn


-------- Original Message --------
> From: "Jonathan C. Cohn" < <EMAIL REMOVED> >
> Sent: Tuesday, July 21, 2015 4:52 PM
> To: "WebAIM Discussion List" < <EMAIL REMOVED> >
> Subject: Re: [WebAIM] JAWS 14 issues with partial view reloads for Single
Page Java web applications
>
> There is a DocumentLoadedEvent with JAWS scripting that you could use if
you want to do something client side. Jonathan Jonathan Cohn > On Jul 21,
2015, at 11:40 AM, MEJ - Beth Sullivan < <EMAIL REMOVED> > wrote:
> > Ya I've thought of that as a solution, but it's hard to do a timeout
when > you don't know the customer's environment using the application. > >
I'm concerned if it goes to early, then the same issue will result. > > If
it goes too late, the user may have already move forward in the >
application or corrected the improperly moved virtual cursor, only to be >
randomly moved to another part of the page. (We would know it was the right
> spot but for a JAWS user I'd be concerned that would be very
disorienting.) > > Thank you, > > Beth > >> On Tue, Jul 21, 2015 at 11:21
AM, Paul J. Adam < <EMAIL REMOVED> > wrote: >> >> Maybe you need to do a
setTimeout to wait a few seconds for the page to >> fully load before
sending focus manually? I've had to do that to modify the >> accessibility
properties of elements that load in via JS/iframes. >> >> Paul J. Adam >>
Accessibility Evangelist >> www.deque.com >> >> Join us at our Mobile
Accessibility "Bootcamp!" >> August 6-7 in Austin Texas >>
https://dequeuniversity.com/events/2015/mobile >> Topics include responsive
web design, native apps, & more >> >>>> On Jul 21, 2015, at 9:18 AM, Mary
Elizabeth Sullivan < >>> <EMAIL REMOVED> > wrote: >>> >>> It's a
very interesting problem. Essentially the team is trying to move >> the
focus manually using js. However, there is dynamic server side content >>
that is being added asynchronously which is stealing the jaws virtual >>
cursor from the .focus() code when the dynamic content loads. >>> >>> You
can see visually that the dotted line and focus should be on one >>
element. But it moves to the dynamic content instead. >>> >>> I'm thinking
that it is a page lifecycle issue? >>> >>> That they are using
document.ready() which is too early to be calling >> that js function. >>>
I'm pretty sure a .live function might do the trick instead maybe. I'm >>
not a js guru but that might be something. >>> >>> I wish I could call the
js when the last piece of dynamic content is >> loaded server side, but I
know that can be brutal to implement Sometimes >> with frameworks like
Java. >>> >>> Any other thoughts? >>> Thanks Paul for getting back to me.
>>> >>> -Beth >>> >>> Sent from my iPhone >>> >>>> On Jul 20, 2015, at
15:53, Paul J. Adam < <EMAIL REMOVED> > wrote: >>>> >>>> Yes I've seen
many problems with Single Page Apps. Focus management is >> the biggest
problem. Speaking dynamic content and unique page titles is >> another
major problem. You have to do this all manually with JavaScript. >>>> >>>>
Paul J. Adam >>>> Accessibility Evangelist >>>> www.deque.com >>>> >>>>
Join us at our Mobile Accessibility "Bootcamp!" >>>> August 6-7 in Austin
Texas >>>> https://dequeuniversity.com/events/2015/mobile >>>> Topics
include responsive web design, native apps, & more >>>> >>>>> On Jul 20,
2015, at 2:14 PM, MEJ - Beth Sullivan < >> <EMAIL REMOVED> >
wrote: >>>>> >>>>> Hello, >>>>> >>>>> Has anyone seen an issue with single
page java applications that are >> using >>>>> partial view using ajax to
refresh the inside of the page dynamically >> and >>>>> JAWS 14. They are
also injecting a # at the end of the url to make >> sure it >>>>> can be
saved as a page/bookmarked. >>>>> >>>>> Any thoughts would be great. >>>>>
>>>>> Thank you, >>>>> >>>>> Beth >>>>>
subscription, visit http://list.webaim.org/ >>>>> List archives at
http://webaim.org/discussion/archives >>>>> <EMAIL REMOVED> >>>> >>>>
subscription, visit http://list.webaim.org/ >>>> List archives at
http://webaim.org/discussion/archives >>>> <EMAIL REMOVED> >>>
subscription, visit http://list.webaim.org/ >>> List archives at
http://webaim.org/discussion/archives >>> <EMAIL REMOVED> >> >>
subscription, visit http://list.webaim.org/ >> List archives at
http://webaim.org/discussion/archives >> <EMAIL REMOVED> >
subscription, visit http://list.webaim.org/ > List archives at
http://webaim.org/discussion/archives > <EMAIL REMOVED>
subscription, visit http://list.webaim.org/ List archives at
http://webaim.org/discussion/archives <EMAIL REMOVED>