-
Notifications
You must be signed in to change notification settings - Fork 12
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
Some AccessiblePeer siblings are not clickable on iOS13 #1001
Comments
The VoiceOver highlight surrounds the entire checkbox with label when focused, which indicates that width is being set correctly and somewhat respected. Its interesting that the size of the actual box matches ours, but I think that is a coincidence. |
In Safari, clicking to the right of the checkbox still clicks the box. So this should be totally fine. So this probably isn't causing the problem and isn't what we need to fix. |
In a separate HTML context, I saw that checkboxes cannot be clicked with pointer-events: none but the label could still be clicked. For this reason I thought that maybe pointer-events: none was preventing the checkbox from being clicked. But I confirmed that we are still receiving touch events and hitting the touchStartAction of Input.js. So scenery should be able to receive and handle. Maybe the pointer event isn't at the correct spot? |
Ah, when I click a checkbox outside of the sim I hear a single beep from the screen reader. In the sim I hear two very rapidly back to back, so I think it is getting checked/unchecked right in a row. In this case scenery is only receiving a single touch event. |
@jessegreenberg, nice detective work. |
So it looks like the root of the problem is that iOS no longer respects As an example, this HTML button cannot be clicked with a finger on iOS 13, and cannot be clicked by a mouse in windows chrome. <button id='native-button' style="pointer-events: none;">TEST</button> But when VO is enabled, the button can be clicked by double tapping the screen on iOS 13. I would be surprised if this is intentional and will send a bug report to apple.
|
A very similar issue came up in #852, and I wonder if a modification of that can be applied to resolve this. |
The best solution that I could come up with tonight is to "block" dispatch of a |
I am finding problems with #1001 (comment), buttons don't "look" pressed when using NVDA + Firefox. Maybe because the down/up is so fast? And buttons are not clickable with NVDA + Chrome. It looks like fake pointer events are now being received on that platform too. But I just discovered that the existence of a So removing the woraround for phetsims/a11y-research#133 makes things work OK in iOS 13 Safari + VO. |
I agree this is super confusing! |
@zepumph paired on this with me yesterday and helped out quite a lot. During our discussion, we identified a few questions that Ill try to answer here:
I am not certain but at this time I am guessing it has something to do with how Safari handles events with
Yes we do, one of the features that comes out of positioning is being able to tap on various sim elements on the screen to hear description content. Without positioning this would not be possible. Yesterday, we were looking at using |
This is working well, I tested that everything is still clickable with NVDA, JAWS, and mobile VO. @KatieWoe could you please also verify that this is fixed on iOS 13 by testing gravity-force-lab-basics master with VoiceOver? |
Looks ok on master on iPadOS 13 |
@jessegreenberg, the phet-io dev team is getting an issue in FAMB that I think has to do with the above commit. This happens when I click anywhere in the sim in the state wrapper (untested elsewhere). Consistently reproducible with http://localhost/phet-io-wrappers/state/?sim=forces-and-motion-basics&phetioValidateTandems&phetioDebug&screens=2&phetioValidateAPI=false
|
Thanks @zepumph, very sorry about that, above commit should fix this (verified with aqua). |
Ok, still looks fixed. I did have trouble moving mass up, it only seemed to want to move down. Don't know if it is connected to this fix. |
Thanks for checking @KatieWoe, was able to reproduce that. A version of GFLB on 1.0 shas with this change does not have this problem so I suspect it is caused by something else in master recently. |
Alright, this is fixed now. @zepumph would you mind reviewing before merging changes into GFLB release branch? |
I was a bit suspicious about how few usages there were of this, but then after investigation I see that |
I will commit the following commits to the branch over in phetsims/gravity-force-lab-basics#179, in order: |
I will add commits here, but will flag phetsims/gravity-force-lab-basics#176 for QA testing. Removing priority, and I will update this issue as needed. Thanks @jessegreenberg. |
Looks like this was verified as fixed in master and the RC, this can be closed. |
From phetsims/gravity-force-lab-basics#176
At least for input type=checkbox. It appears that width of the checkbox cannot be set with element.style.width:
In Chrome, we can see that the width is set correctly and takes the width of the entire Checkbox node with label:
This needs to be fixed and we should test other elements for the problem.
The text was updated successfully, but these errors were encountered: