You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何消除iOS应用无障碍模式中VoiceOver的「Direct touch area」提示?

解决VoiceOver播报「Direct touch area」提示的方案
  • 移除Direct Touch辅助特性
    检查应用中是否为视图添加了UIAccessibilityTraitDirectTouch特性,这是触发该提示的核心原因。移除该特性即可消除播报:
    Swift代码示例:

    view.accessibilityTraits.remove(.directTouch)
    

    Objective-C代码示例:

    view.accessibilityTraits &= ~UIAccessibilityTraitDirectTouch;
    
  • 排查WebView相关配置
    若应用包含WebView,网页元素或WebView配置可能触发提示:

    • 检查网页内是否有标记了aria-haspopup等可能触发Direct Touch的ARIA属性,移除相关属性;
    • 配置WebView禁用Direct Touch支持:
      let webConfig = WKWebViewConfiguration()
      webConfig.preferences.setValue(false, forKey: "allowDirectTouch")
      let webView = WKWebView(frame: .zero, configuration: webConfig)
      
  • 重置系统辅助功能设置
    系统辅助功能缓存可能导致异常提示,可引导用户操作:

    1. 进入「设置」→「辅助功能」→「VoiceOver」→「转子」
    2. 确认「直接触控」未被添加到转子选项中
    3. 重启设备后重新测试应用
  • 排查自定义辅助功能逻辑
    若应用有自定义辅助功能实现(如自定义accessibilityElements、手势识别器),检查是否存在误触发Direct Touch判定的逻辑:

    • 避免自定义手势被VoiceOver识别为需要直接触控的交互;
    • 确保自定义辅助标签或特性未间接触发Direct Touch提示。

内容的提问来源于stack exchange,提问作者user2748172

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 11:15:37