【问题标题】:iOS Voiceover reads from covered UIWindowiOS Voiceover 从覆盖的 UIWindow 中读取
【发布时间】:2018-07-05 16:54:50
【问题描述】:

我有以下设置:

  • UIWindow 0,windowLevel 0,rootController是app的主体,占据整个屏幕,isHidden为false,不是关键窗口
  • UIWindow 1,windowLevel 1,rootController 是辅助屏幕,占满整个屏幕,不透明,isHidden 为假,为关键窗口

问题:

当启用画外音并且我触摸窗口 1 中没有可以交互的元素的区域,但窗口 0 确实有这样的元素时,它会选择并读取窗口 0 中的元素,甚至虽然窗口 0 根本不可见。

我有什么遗漏吗?

【问题讨论】:

    标签: ios voiceover uiaccessibility


    【解决方案1】:

    原来有两种方法可以解决这个问题:

    1. 在窗口 0 上将 accessibilityElementsHidden 设置为 true。不理想,因为它必须在窗口 1 消失时恢复。
    2. 在窗口 1 上将 accessibilityViewIsModal 设置为 true。所有窗口都是同级窗口,因此出于可访问性目的,这将忽略窗口 0。我认为这不会影响状态栏和键盘等特殊窗口。这可能是最好的解决方案。

    【讨论】:

    • 您是否在窗口本身(又名.UIWindow 实例)上将accessibilityViewIsModal 设置为true
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多