Hello,
I have a view controller (“mini web browser”) whose subviews are a UITextField (for typing web address), “Go” button (for going to the address) and finally a WKWebView (for displaying web contents of the address). This VC is the main window's root controller.
Now I implement the accessibilityPerformMagicTap on the view controller and on the app delegate and even on the application object itself. I get the magic tap work great (i.e. invoked on the view controller’s implementation of accessibilityPerformMagicTap) when VoiceOver cursor is everywhere in the view hierarchy *except* when it is in the WKWebView - there magic tap starts playing my music from Music app (i.e. magic tap seems to entirely bypass the responder chain and fail to be handled in the app).
I tried to replace the WKWebView with a UIWebView and magic tap there works perfectly (as supposed - invoked on the view controller).
Also this problem does not happen with accessibilityPerformEscape - when VoiceOver cursor is inside the WKWebView, accessibilityPerformEscape gets properly invoked on the view controller after the user does the scrub gesture.
I also tried to make the app contain only the wkwebview and assign it to *be* the controller's view (to make the example absolutely minimal); no change.
I also searched WebKit's source code using GitHub and did not find any reference to accessibilityPerformMagicTap (I wanted to make sure WKWebView does not handle it itself).
(The app is written in Swift, I did not try Objective-C).
Do you please have any suggestions/workaround how to make the magic tap available also in the web content of a WKWebView?
Thanks,
Boris