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: Sean Curtis
Date: Jul 21, 2015 6:34PM


Beth you mentioned something about them using a "#" — if they're just appending that each time it might trigger the default browser focusing. Just something to check

Cheers,

Sean

> On 22 Jul 2015, at 2:42 am, " <EMAIL REMOVED> " < <EMAIL REMOVED> > wrote:
>
> 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>
>
>
> > > >