【问题标题】:Accessibility VoiceOver does not work on a UILabel辅助功能 VoiceOver 不适用于 UILabel
【发布时间】:2018-06-01 23:18:40
【问题描述】:

我遇到了辅助功能旁白无法正常工作的情况。

我有一个 customView,有一个 UIImage (imageSample) 和一个 UILabel (labelSample)

同样的CustomView 用于应用程序内的两个不同屏幕。

屏幕 1 — 这行得通! 查看 -> MainScrollView -> MainStackView -> OptionAStackView -> CustomView

屏幕 2 — 这不起作用! 查看 -> MainScrollView -> MainStackView -> ContainerView -> StackView -> StackView -> OptionBStackView -> CustomView

标签的 VoiceOver 在屏幕 1 上有效,但在屏幕 2 上失败。有没有人知道为什么 VoiceOver 在屏幕 2 上会失败?具有多个堆栈视图的布局是否会影响 VoiceOver?画外音在处理多个堆栈视图时是否存在问题。

注意:为 UI 标签启用了辅助功能。并为层次结构中此标签上方的视图禁用。

【问题讨论】:

    标签: ios swift xcode accessibility


    【解决方案1】:

    在处理高度分层的对象时,可访问性很挑剔。如果您的MainScrollView 的多个子视图将.isAccessibilityElement 设置为true,那么位于customView 下方的视图可能是被选中的视图。要检查是否是这种情况,您可以点击第二个屏幕以将焦点放在屏幕上,然后向右滑动以继续在视图层次结构中移动焦点。如果您最终设法在第二个屏幕上到达contentView,那么您就知道焦点最初落在了与您想要的不同的层上。

    我的猜测是ContainerView是焦点的初始着陆位置。如果你设置ContainerView.isAccessibilityElement = false,或许能解决你的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-15
      相关资源
      最近更新 更多