Created attachment 458744 [details] This is a working demo and recorded video I have confirmed that the paint web application I developed does not work properly on my iPad Pro. Pursuing deeper, I found that When I double tap and hold on an HTMLCanvasElement, nearby text is selected. This causes the focus to be incorrect and the position of the magnifier to be fixed to the top of the selected text.
Able to reproduce on trunk WebKit, iOS 15. The `canvas` element already has `user-select: none;`, but that doesn't seem to have any effect :( (Using `-webkit-user-select: none;` didn't make any difference either).
I think we can fix this by relaxing this check: ``` (in WKContentViewInteraction.mm:) if (gesture == UIWKGestureLoupe && _positionInformation.selectability == WebKit::InteractionInformationAtPosition::Selectability::UnselectableDueToUserSelectNone) return NO; ``` ...to something like this instead: ``` (in WKContentViewInteraction.mm:) if (gesture != UIWKGestureOneFingerTap && _positionInformation.selectability == WebKit::InteractionInformationAtPosition::Selectability::UnselectableDueToUserSelectNone) return NO; ``` I _suspect_ the choice to limit this to only the Loupe gesture was made to (1) limit risk, and (2) to make it so that the user can always still tap in `-webkit-user-select: none;` regions to clear an existing selection. One workaround here would be to add active touch event listeners and prevent `touchstart` and/or `touchend`.
<rdar://problem/93028767>