- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 UIAccessibilityFocus 协议(protocol),据推测,如果您重写 accessibilityElementDidBecomeFocused() 和 accessibilityElementDidLoseFocus(),您将能够在 Voiceover 运行时跟踪可访问元素何时获得或失去焦点。这似乎适用于所有字段类型 - UIButton、UILabel、UISwitch、UITextView 等 - 除了 UITextField。当 Voiceover 焦点在(或离开)一个 UITextField 上时,这些函数根本不会被调用。只是想知道这是错误还是其他原因。谢谢!
最佳答案
这是一个功能,让我解释一下。
如果没有打开 VoiceOver,iOS 中就没有焦点的概念。 UITextField 除外。无论是否打开 VoiceOver,UITextFields 都会“聚焦”(同样,在没有画外音的 iOS 中,焦点并不是真正的概念)。对于其他元素,情况并非如此。他们没有“gainFocus”等价物。获得焦点的 UIButton 仅从可访问性的角度来看才有意义。因此,他们为这些类添加了特殊的 accessibilityElementDidGainFocus 调用。它们被专门从 UITextFields 中删除,因为该调用在逻辑上等同于该类已经存在的调用,独立于 Accessibility API。
关于ios - UIAccessibilityFocus 协议(protocol)不适用于 UITextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26559236/
我是一名优秀的程序员,十分优秀!