-
Notifications
You must be signed in to change notification settings - Fork 358
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
Review Modal Dialog Example #321
Comments
@mcking65, I really like this example, and all the embedded content that explainis the design and design pattern. The example worked very nicely for me with just using the keyboard (in Firefox), and it also worked well in Safari with Voice Over on. The only visual design issue I noticed (in my quick review) is that while using Voice Over the keyboard focus boarder remains and shows through on the next dialog. All the examples are very useful! |
The modal dialog example page uses entirely different formatting (font, font size, table formatting, etc.) than all other example pages. |
Space needed in first bullet under "Verification Result" dialog (id=dialog2): |
I believe it would be incredibly useful to include text in these examples about preserving the user's point of regard when the modal dialog is closed. |
Per feedback in issue #321 from @annabbott, modified examples/dialog-modal/dialog.html so it matches current example template styles: 1. Added link to w3c style sheet. 2. Add highlight.pack.js script. 3. Add "def" class to keyboard table. 4. Add data and attributes classes to properties table.
Per feedback from @annabbott in issue #321, modified: examples/dialog-modal/dialog.html. In the "Accessibility Features" section, added bullet points that describe how each dialog maintains the user's point of regard when it closes.
@annabbot, thanks for the great feedback. I think I have addressed all of it. |
@terracoda, can you please provide a screenshot of the issue you described ("while using Voice Over the keyboard focus boarder remains and shows through on the next dialog")? I haven't noticed any issues that could match that description. Thanks! |
@tatermelon, ok. On a closer look, there seems to be some serious focus management issues. I do not rely on VoiceOver, but test with it often. Here are a few screenshots. Step 1: Opening the first dialog with a reduced window, the forms overflow the dialog. Step 2: VO focus and Keyboard focus are on Verify button. Everything I hear sounds right. Step 3: Upon pressing the Verify button, the second dialog opens. VO focus seems to stay on the Verify button. Step 4: I am able to use Tab key to move keyboard focus to other button in the second dialog, but VO does not follow and does not read out labels. Step 5: Some mismatch continues Step 6: I use VO hot keys to exit current dialog 2. VO focus moves to dialog 1, but dialog 2 remains open. The focus behaviour is confusing to me. And obviously, it is not completely contained within the current dialog. This seems to be a tricky thing to do. Behaviour in Firefox is different, but I find in general Firefox does work well with VO. Please note, that I was able to read/listen with VO in Safari to the content in the dialogs, but at some point when focus became mismatched, VO became silent. I hope this helps. |
@terracoda commented
I can verify these problems in Safari but not Chrome. They do not exist on Windows at all. It seems that the VoiceOver handling of dialogs is not very good in either browser, but it is better with Chrome. First, to figure out if these behaviors in Safari are script, browser, or VoiceOver bugs, we need to know how it works without VoiceOver. That is something one of you sightees will have to do. We will need to observe what is happening with focus movement, what activeElement returns, and what is in the AX tree. |
@terracoda I will fix the form overflowing, sorry about that! In terms of the VO focus issues, I suspect that is a VoiceOver bug since the focus/focus ring is getting moved and set properly. |
@tatermelon, I think it is also a VO bug. There is one more obvious issue, the user can navigate out of the current dialog without actually closing it. For me this happens in both Safari and Firefox. This seems to be a common issue for many publicly available examples of dialogs. I'll check back for updates before doing more testing. |
It is working fine with JAWS 18 in IE11. |
"close" button on dialog4(accessed by "accepting an alternative form" button) does not have a focus and can not activate it. |
@terracoda commented:
Do you mean you can move keyboard focus outside the dialog? I can not reproduce this. Please provide steps for reproduction. Or, do you mean with a screen reader reading cursor? If so, this is a screen reader bug and/or feature, depending on which screen reader and how you are using it. Basically, screen reader users should have the same kind of capabilities as all other users. So, if other users can "see" what is outside the dialog, then screen reader users should at least have some way of doing that. By default, though, screen reader reading should be restricted to the dialog boundaries when focus is inside the dialog. In general, this pattern is not yet very well supported by screen readers. I think that many screen reader users get by pretty well, but there is a lot, a lot of room for improvement. |
@a11ydoer commented:
Jemma, I cannot reproduce this in Firefox or Chrome. Here are the steps I followed:
At this point, the "Close" button is focused. I can activate it. Are you saying that something causes the focus indicator to disappear after step 3? |
Now I understand the design that the focus on close button in dialog4 does two things. - it closes dialog4 and move the focus back to the button in dialog2. |
For issue #321, fix issue where underlying page scrolls when dialog scrolls. 1. Move dialog divs to div outside of main container. 2. Only scroll the dialog layer when a dialog is open.
Hi, Also, when the Add button is activated a scripting error occurs, as is true when the Close button in the third dialog is activated, discovered in IE11 which prevents the dialogs from acting properly such as closing in the third dialog. E.G The third dialog cannot be closed when the Close button is activated. |
For issue #321, change logic so that, when using IE, focus is set correctly on the last element instead of the first element in the add confirmation dialog.
…al focus on static element For issue #321, to make the example match the design pattern update made in commit ba0a447, made the following changes. modified examples/dialog-modal/dialog.html: 1. On first paragraph of verification dialog (dialog2), change tabindex from 0 to -1 to match guidance in pattern. 2. Change script call on button that opens verification address dialog to specify id of first paragraph. modified examples/dialog-modal/js/dialog.js: Fix bug where the window.openDialog method didn't pass through the firstFocus parameter to the dialog constructor.
@accdc, please retest. I think all the IE issues you raised have been addressed. |
Hi, I looked at the JS and the way that the first and last focusable child elements are detected does not work reliably in IE, even if they do in FF. To make this work reliably, it the logic needs to check if the first/last focusable element is 'focusable' by checking the following logic in this order:
This will make it cross browser compatible. Also, in the third dialog, the following element should not include tabindex="0": This is just a demonstration. If it were a real application, it would provide a message telling whether the entered address is valid. Ideally the first link should receive focus, but if the desire is to set focus to this text instead then tabindex="-1" needs to be used instead. |
@accdc Are you sure you are on the latest version? We just updated the logic a few hours ago to check if something is focusable in that order. We had also updated the focused text to use tabindex="-1" instead of 0. |
trying on iOS10 (iphone) I get the background scrolling with a swipe up/down at a different rate to the foreground. This gives a really annoying parallax effect. |
@MichielBijl |
Not seeing the behaviour I stated before but am seeing a different strange behaviour on iphone. Steps to reproduce are as follows:
Note I cannot scroll all the way to the bottom in order to press the buttons. It bounces back and I cannot activate them. |
For issue #321, when displayed on screen under 640px, make the dialog full screen with no margins.
Friendly reminder to @jnurthen, @annabbott, @shirsha, please have one last look with latest revisions in place and comment on whether or not you think we are ready to close this review. |
@mcking65 |
Focus is not visible clearly on the buttons JAWS18 in IE11:
|
Tie the additional information after the "Special instructions" label to the input field by using "Aria-describedby " so that screen reader user can hear the additional example text when they tab to the Special instructions input field |
@mcking65 - please notify me when work is completed on this example and needs further review - Thanks! |
Yeah VoiceOver mangles it as it does almost all dialogues. But this one works ok with VoiceOver and focus. https://hanshillen.github.io/jqtest/#goto_dialog |
I'm trying to reproduce the same example on Plunker, but it doesn't work: https://plnkr.co/edit/RXJciG Can you tell me what's wrong with my sample? |
For issue #321, fixed the following: * The link in the description had incorrect ID in the href. * Link in the footer was missing href and link text.
…avior For issue #321, made the following changes to examples/dialog-modal/dialog.html. Added the following item to the list of accessibility features: > To make the content easier to read when displayed on small screens, the dialog fills 100% of the screen. > Completely covering the background window also hides background movement that occurs on some mobile devices when scrolling content inside the dialog. Added a row to the keyboard table to document Escape key behavior.
…process. Removed link to issue #321 from examples/dialog-modal/dialog.html. The internal task force review process is complete.
All feedback has now been addressed. Thank you everyone for all the excellent feedback and testing. Closing! |
A modal dialog example
developed for issue #103 is ready for review.
Reviews requested as of March 15, 2016
The text was updated successfully, but these errors were encountered: