我正面临iOS中的辅助功能实现问题。我有一个自定义辅助功能消息,我希望读者阅读。读者确实阅读了自定义信息,但发出了一条消息,它只添加了一个词,按钮"在末尾。这是我的代码:
self.privateToggleButton.accessibilityLabel = "Private. Double tap to toggle setting."
知道我缺少什么吗?
答案 0 :(得分:1)
如果您的项目实际上是一个按钮,iOS会自动读出它是一个按钮作为用户的提示。如果该项目具有某种类似按钮的交互,建议您保留此项。
但是如果你真的需要摆脱它,你可以通过更新项目AccessibilityTraits
并删除UIAccessibilityTrait.Button
来实现。
(注意我对字段和类的描述基于Mono,因此实际的Swift / Objective C实现/命名约定可能不同。)
答案 1 :(得分:1)
使用UIButton会导致VoiceOver默认将单词“Button”作为辅助功能。这对于视力不佳的用户非常有用,他们可能不一定能够告诉他们正在查看的对象是接受用户交互的按钮。我建议您不要删除此特征,因为VoiceOver用户通常熟悉在对象的辅助功能标签后听取特征。
但是,如果您绝对想要删除“Button”的规范,则可以使用以下代码行来删除辅助功能特性。
self.privateToggleButton.accessibilityTrait = UIAccessibilityTraitNone
答案 2 :(得分:0)
根据其他答案,不应删除.button
特征,因为该控件似乎是一个切换按钮,并且需要其特征向VoiceOver用户指示该控件的意图和行为。还要确保传达了按钮的当前状态。
如果您确实需要删除特征,则可以使用以下代码将其从控件中删除:
self.privateToggleButton.accessibilityTraits.remove(.button)
还要注意,“双击X”是一个提示字符串,应应用于accessibilityHint
属性,而不是accessibilityLabel
。