-
Notifications
You must be signed in to change notification settings - Fork 5.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dialog: Improve accessibilty #794
Conversation
@jzaefferer have sent call-out to a11y folks involved with Drupal to help test |
Well, I'm not much of a screen reader tester, but this is what I get in FF with VoiceOver: Open Form Dialog Button - On focus
Open Propt Dialog Button - On focus
So it's better. But It is really hard to understand the context that I'm getting dropped into with the Open Form Dialog Button & not sure why it repeats itself. With the Open Propt Dialog Button I really don't know what I'm missing. I don't hear the other information on the dialog. But I can open & close it pretty well & jump between the elements. |
Feedback from Vincenzo Rubano (falcon03 on drupal.org)
|
Thanks @mgifford and @larowlan for the feedback. I just tested with VoiceOver on OSX 10.6 with both Firefox and Safari. In both cases VoiceOver doesn't read any of the aria-markedup descriptions. Consider that those work pretty well as intended for both JAWS and NVDA, I don't think we should try to work around VoiceOver's limitations with some hack like live-regions. I'll also ping Hans Hillen about this, maybe he some more input. |
Merged the dialog-review branch. That improves focus handling, which is relevant here as well, and uses the button widget for the close button, which is more accessible as well (tooltip text, space-to-activate works). |
I've commented on the two dialog accesiblity tickets: http://bugs.jqueryui.com/ticket/7861#comment:6 and http://bugs.jqueryui.com/ticket/7862#comment:5 I've tested, with VoicerOver the modified dialog by @hanshillen found here: http://hanshillen.github.com/jqtest/#goto_dialog |
…he dialog if there is nothing yet in the dialog content. Partial fix for:
…lements outside of it
…fault null, as it should be. No back-compat, as the behaviour doesn't change.
…date above that to access old option value.
… refactoring _setOption, no need for switch.
…tch (no fallthroughs).
…d for the uiDialog closure. Use this.uiDialog and remove the variable.
… instead. Wasn't needed anymore (previous refactorings).
…two keydown handlers into one.
…emoved outdated TODOs.
…. Fixes #6830 - Allow Icons to be specified for Dialog buttons.
… overhaul unit test for destroy method.
…ontent, then buttonpane, then close button, then dialog. Fixes #4731 - Dialog: Add option to set which element gains focus on open
…able methods. Disabling dialogs is not supported.
… check. Fixes #8824 - Deprecate array notation for position option.
…naddressable TODOs.
…r instead of appending to body.
… to create the button.
…es not close for first click on chrome.
…8838 - Dialog: Close icon does not work in dialog larger than the window in IE.
…o prevent XSS. Fixes #6016 - Dialog: Title XSS Vulnerability.
Landed in master, closing six tickets. |
Great work guys! |
add an aria-describedby attribute on the dialog if there is nothing yet in the dialog content.
@ezufelt could you give this a try? I've put together a test page for modal form dialog's with better markup then those in our demos:
http://view.jqueryui.com/dialog/tests/visual/dialog/form.html
That page has some info on what it provides and what we expect to happen based on the current implementation. Looking for input both on our assumptions as well as the implementation.
This change and a few already landed in master overlap with changes from this earlier pull request: https://github.com/jquery/jquery-ui/pull/704/files
Restoring focus to the trigger is implemented, setting the aria-describedby attribute is being added here, though only under the condition that there's no markup including an aria-describedby attribute yet.
I hope we can get away without the extra role="document" wrapper element. Base on my testing with current Firefox, NVDA and JAWS 12, it seems to work fine without it.