WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: Time-out modal with alertdialog

for

From: Sean Keegan
Date: Jul 5, 2015 10:38PM


Hi Bryan,

Thanks for replying. I did some further investigation with aViewer and
tracked how both NVDA and JAWS were responding. Using aViewer I watched for
what happens when the time out modal happens and the alertdialog role is
indeed triggered, so it is registering in the various interfaces.

Best I can tell, this may be the result when using this specific reading
command. Using NVDA with the Say All command, I found there is about a 40
second delay between when the time out modal happens and NVDA communicates
the alert even though the alert is recognized in aViewer when it happens.
Unfortunately, using JAWS with Say All command, does not communicate
anything about the presence of the alertdialog when it happens resulting in
the application automatically closing the session after the time out period
elapses.

I will suggest modifying the attributes on the parent Div and containers to
see what happens. With NVDA, there is the notification, but it can take 40
seconds for this to be communicated during this specific type of
reading/navigation.

Thanks for the info regarding the tabindex. I have found instances of
positive tabindex values in the application and suspect tabindex=0 was
included to force the focus. Lots to work on...

Take care,
Sean


From: Bryan Garaventa < <EMAIL REMOVED> >
> To: "'WebAIM Discussion List'" < <EMAIL REMOVED> >
> Cc:
> Date: Fri, 3 Jul 2015 16:31:16 -0700
> Subject: Re: [WebAIM] Time-out modal with alertdialog
> Technically the alertdialog role should fire a system alert when the
> container is added to the DOM via element.appendChild/replaceChild or
> element.innerHTML, or when switched into visibility by changing
> display:none to 'block' or 'inline'.
>
> This might not be working properly though.
>
> Try putting role="alert" on the parent Div, and change the dynamically
> added container from role="alertdialog" to role="dialog" and see what
> happens when this is added to the Alert container element.
>
> It will be important to set all of the required attributes however, such
> as those documented at
> http://whatsock.com/training/matrices/#dialog
> And to follow the correct setting of focus when it opens.
>
> There is no need to set tabindex="0" on the parent Dialog container, since
> it's the active elements within that should be focusable. E.G the OK button
> or whatever. If you need to set focus to a Dialog container, it works
> better to use tabindex="-1", then manage focus using forward and reverse
> circular tabbing within the dialog from that point on.
>
> Hopefully this helps a bit.
>
> Best wishes,
> Bryan
>
> -----Original Message-----
> From: WebAIM-Forum [mailto: <EMAIL REMOVED> ] On
> Behalf Of Sean Keegan
> Sent: Friday, July 03, 2015 12:57 AM
> To: <EMAIL REMOVED>
> Subject: [WebAIM] Time-out modal with alertdialog
>
> I am working on a time-out modal that is triggered after 10 minutes of no
> activity within an application. There is an empty parent <div> into which
> the time out modal is loaded when the time limit is triggered. This modal
> is comprised of a descendent <div> with role=alertdialog and tabindex=0.
>
> During testing, I noticed JAWS and NVDA will announce the modal window if
> focus is on an input field, the user is typing, or if there is no activity
> by the user when the time period elapses. However, if navigating the page
> using the virtual buffer commands (such as a Say All), there is no
> notification to the user by the screen-reader that the modal has been
> triggered.
>
> A colleague and I are debating the role=alertdialog and if there may need
> to be a more assertive notification when the time out modal is triggered.
> Would adding aria-live=assertive to a <div> that already contains
> role=alertdialog be redundant or should the aria-live property be applied
> to the parent <div> so that it can monitor all descendents?
>
> Take care,
> Sean
> > > at http://webaim.org/discussion/archives
> >