代码之家  ›  专栏  ›  技术社区  ›  user4806509

使用“accessibilityLabel”和“accessibilityHint”在iOS中正确实现语音可访问性`

  •  1
  • user4806509  · 技术社区  · 7 年前

    我正在尝试优化我的应用程序。在iOS中实现可访问性的最佳实践方法是什么 accessibilityLabel accessibilityHint ? 是否总是需要辅助功能标签?

    我的应用程序非常动态,视图中的对象会根据用户的操作频繁更新。例如,视图可能从一个形状开始,然后变成另一个形状。因此 可访问性标签 对于打开画外音的用户,每个对象的视图都会频繁更新,以反映更改后的视图。


    问题

    1. 运行(即。 !UIAccessibilityIsVoiceOverRunning() 可访问性标签 不需要的

    2. 可访问性标签 ?

    1 回复  |  直到 7 年前
        1
  •  3
  •   MobA11y    7 年前

    使用accessibilityLabel和accessibilityHint在iOS中实现可访问性的最佳实践方法是什么?

    override public var accessibilityLabel: String? {
        get {
            return "Calculated label"
        }
        set {
           //Specifically do nothing. We're not "setting a property" we're responding to changes of the internal views.
        }
    }
    

    是否总是需要辅助功能标签?

    当画外音未运行时(即。 而且accessibilityHint完全没有必要?

    不,除画外,辅助功能属性还有其他用途。

    可能会使用access accessibilityLabel和accessibilityHint?

    当然,画外音之外还有辅助技术,它们依赖于无数的可访问性属性。(盲文板、交换机接入等)

    在我看来,您正试图将可访问性作为一种软件实践,并将其合理化。这是错误的思维过程。然而,由于一些基本的设计问题,使您可以访问的视图可能确实不切实际。您应该考虑您拥有的东西是否设计为可以从开发/API的角度访问。API确实限制了您完成某些事情。对于StackOverflow,您是否会遇到这些限制之一不是一个问题,解决方法是不要忽略可访问性信息。这是为了重新设计控件,或者可能是为了提供一个替代的可访问实现……尽管应该非常仔细地考虑这条路线。一般来说,分离是不相等的。