Opened 11 years ago

Closed 9 years ago

Last modified 5 years ago

#8285 closed defect (fixed)

Dialog: set focus to close icon if no focusable item in dialog

Reported by: Becky Gibson Owned by: bill
Priority: high Milestone: 1.6
Component: Accessibility Version: 1.2.3
Keywords: Cc:
Blocked By: Blocking:

Description (last modified by bill)

Currently if there is no focusable item in a dialog we set focus to the dialog container. The JAWS 10 screen reader does not expect focus to be set to a dialog container but an item in the dialog. Even if there is no focusable element, we can set focus to the close icon. If this occurs, the close icon needs to be updated with ondijitclick so the user can press space or escape when focus is on the icon. However, focus should only be allowed to go to the close icon if there are no other focusable elements.

Change History (7)

comment:1 Changed 11 years ago by Becky Gibson

Milestone: 1.31.4

comment:2 Changed 10 years ago by Becky Gibson

Milestone: 1.4future

comment:3 Changed 9 years ago by bill

Description: modified (diff)
Milestone: future1.6
Owner: changed from Becky Gibson to bill
Summary: dialog: set focus to close icon if no focusable item in dialogDialog: set focus to close icon if no focusable item in dialog

I'll check in a fix for this. Please check if you want to assign any special role to that close icon; I'll set it to "button" for now.

comment:4 Changed 9 years ago by bill

Resolution: fixed
Status: newclosed

(In [23488]) Make Dialog focus on close icon if the Dialog has no focusable elements. For TooltipDialog in this case, focus goes to the DOMNode, but officially TooltipDialogs must have at least one focusable element. Fixes #8285, #12131 !strict.

Also removed some FF workaround code about focusing an <input type=file>. It no longer seems to be needed (tested on FF3.6 on mac and windows). Refs #5934.

Finally, simplified Dialog aria tests.

comment:8 Changed 7 years ago by bill

In [30805]:

For dijit/tests/helpers::onFocus(), if focus changes multiple times during the specified delay, return the latest focus to the callback. Fixes a problem in the cancel test in Dialog_mouse.html: due to [23488], focus first goes to the close icon and then goes back to the button. Perhaps the close icon should only get tabIndex=-1 when there are no focusable elements in the dialog? For now, just changing the dijit/tests/helpers::onFocus() method. Refs #8285 !strict.

comment:9 Changed 5 years ago by Bill Keese <bill@…>

In 4f2846abe671fafd95844886de6fe83fec04f196/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:10 Changed 5 years ago by Bill Keese <bill@…>

In 696e12067df43a35c0e970464fde77ba114c134a/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 
Note: See TracTickets for help on using tickets.