有没有办法将UITextField的可访问性标签设置为“文本字段”以外的值。因此,我希望将其命名为“代码验证字段”,而不是调用“文本字段”。
发布于 2015-10-06 16:50:11
我的建议是,不要试图在内置Voice Over输出上智胜系统。
“文本域正在编辑”对于盲人用户来说,等同于“这个项目被选中,并且其中有一个闪烁的光标”。
就像你不可能从你的UITetxtField中移除/改变闪烁的光标一样,你不应该尝试移除/改变内置的输出。
您可以使用accessibilityLabel和accessibilityHint向此字段添加更多上下文。
发布于 2017-01-18 16:08:46
如何使“文本字段”安静&替换它的选项
我发布了一个related answer,说明了几种阻止VoiceOver为UITextField声明“文本字段”的方法。
这是该答案的代码摘录。
静默“文本字段”
let textField = UITextField()
textField.accessibilityTraits = UIAccessibilityTraitStaticText替换文本
您可以使用accessibilityHint作为您想要的备用控件名称“代码验证字段”
textField.accessibilityHint = "code verification field"accessibilityLabel也可以工作。实际的区别在于,首先读取accessibilityLabel,然后读取textField.text (在UITextField中输入的文本),然后读取accessibilityHint。
下面是这样理解的:“标签,文本,(短暂停...)提示”
textField.accessibilityTraits = UIAccessibilityTraitStaticText
textField.accessibilityLabel = "label"
textField.text = "text"
textField.accessibilityHint = "hint"你可以找到更多关于UIAccessibility Element properties in Apple's API reference的信息。
发布于 2011-12-06 19:59:16
我认为您必须设置字段的accessibilityLabel属性( UIAccessibility协议的一部分)。也许您还必须使用accessibilityTraits属性来覆盖UIKit标签。
https://stackoverflow.com/questions/8399447
复制相似问题