隐藏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的主要内容,如果未能解决你的问题,请参考以下文章
在 Swift 中使用 JS 隐藏 WKWebView 集合元素