隐藏WKWebView避免VoiceOver识别ios

Posted

技术标签:

【中文标题】隐藏WKWebView避免VoiceOver识别ios【英文标题】:Hide WKWebView to avoid VoiceOver recognition ios 【发布时间】:2015-10-20 21:34:45 【问题描述】:

我有一个 webview (WKWebView) 添加到 UIViewController 内的 UIView (WebViewContainer)。在按钮事件之后,UIView(中心视图)将添加到 webview 顶部的 UIViewController 视图。

我试图在显示中心视图时隐藏 web 视图,以便 VoiceOver 不会说出 web 视图的内容。但目前这一切都不起作用。

我有以下代码试图隐藏 webview,但它仍然捕获 webview 内容并通过语音与用户对话。

如何不让 VoiceOver 不读取 webView 内容?

更新:即使在隐藏视图和视图后未出现配音后,也会回过头来谈论 WebView。这是苹果虫吗?

self.webView.accessibilityViewIsModal = false;
self.webView.hidden = true;
 addChildViewController(centerView);                    
 self.view.addSubview(centerView.view);
 self.webViewContainer.accessibilityElementsHidden = true;
 self.webView.accessibilityElementsHidden = true;
 self.webView.isAccessibilityElement = false;
 self.webViewContainer.isAccessibilityElement = false;

【问题讨论】:

【参考方案1】:

我知道这是一个老问题,但我想发布我的解决方案。 WKWebView 似乎在处理accessibilityElements。 以下包装器可以对 VoiceOver 隐藏整个 Web 视图。

@interface WKWebViewWrapper : WKWebView
@end
@implementation WKWebViewWrapper

- (NSInteger)accessibilityElementCount

    return 0;


@end

【讨论】:

以上是关于隐藏WKWebView避免VoiceOver识别ios的主要内容,如果未能解决你的问题,请参考以下文章

Mac VoiceOver + react 注意事项

为啥 wkwebview 隐藏在导航栏下

在 Swift 中使用 JS 隐藏 WKWebView 集合元素

WKWebView实现长按保存图片 长按识别二维码

如何从 WKWebview 中删除或隐藏 PDF 的页面计数器?

在 WKWebView UIMenuController 中隐藏复制、查找、共享...