Ensure that keyboard focus remains within modal simulated dialogs

Description

The main navigation of the environment provides a button titled "Sites" that spawns a modal window designed to allow the user to see all sites associated with the environment. However, once spawned the dialog does not restrict focus within the boundaries of the dialog. Instead, a keyboard only user is able to tab out of the dialog and return to the page that spawned it. This can cause serious issues for both keyboard only users (who will not know what element they are currently focused on), as well as screen reader users (who will not realize they have navigated away from the model and are interacting with inactive content).

<div class="Mrphs-sitesNav__menuitem view-all-sites-btn" style="z-index: 1005;">

Developers must ensure that when a modal simulated dialog is open, focus remains within the dialog. This can be done by using onFocus and onBlur and other JavaScript techniques to manage the focus appropriately. There are many techniques that can be used to meet this best practices. Developers must ensure that tab and shift+tab are handled appropriately. Ideally focus should wrap from the last element to the first element. It may also be beneficial to hide the rest of the page content from the screen reader user by setting aria-hidden="true" on the other page content.

The tab order must not be restricted for non-modal windows which requires or allows users to interact with the background/parent content.

Developers must ensure that the modal dialog can be closed via the keyboard so that focus is not trapped in the dialog for users of keyboard only. When there is a keyboard operable close button there is not a keyboard trap.

Attachments

1
  • 16 Jun 2017, 09:24 AM

Activity

Show:

Neal Caidin October 27, 2017 at 11:40 AM

Verified on https://qa2-us.nightly.sakaiproject.org/portal

Build Info: Sakai - 12.0 - QA2 10/16/2017 - Sakai 12.0-QA2 - Server ip-172-31-6-159

Mac/Chrome

 

Neal Caidin October 20, 2017 at 3:46 PM

Okay, I've added a Test Plan. Is it about right? Thanks.

 

Neal Caidin October 20, 2017 at 3:37 PM

That may be, but it helps a lot for our process to have the information pulled out into the separate Test Plan field. If you are not convinced of that we can certainly have that discussion, but this is from the QA team and what they/we think we need.  I'll take a look and see if I can discern how to test from the description. (P.S. if it is immediately obvious to me that a description does contain the needed information during triage, I do copy/paste the info into the Test Plan.)

 

Sam Ottenhoff October 19, 2017 at 9:51 AM

The description on this ticket is solid and provides a lot of info to test with.

Neal Caidin October 19, 2017 at 9:17 AM

Test plan for this one?

 

Fixed

Details

Priority

Affects versions

Fix versions

Assignee

Reporter

Created August 2, 2016 at 1:09 PM
Updated October 27, 2017 at 11:40 AM
Resolved July 17, 2017 at 9:04 AM