ios - 在iOS中选择时忽略可访问性标签?
问题描述
我有一个带有可访问性标签的按钮,比如“开始”。当用户关注它时,旁白会按预期宣布其标签。但是,当用户双击时,画外音会再次宣布标签。我想忽略第二个公告。我检查了 Spotify 的应用程序,当单击“播放”按钮时,其图标和标签变为“暂停”,但配音并未宣布此更改。我怎样才能实现相同的行为?
解决方案
当用户双击时,画外音再次宣布标签。我想忽略第二个公告。
达到目标的最快方法是在新的按钮子类中覆盖accessibilityActivate函数:
class myButton: UIButton {
override func accessibilityActivate() -> Bool {
self.accessibilityLabel = ""
return true
}
}
当按钮操作失去焦点时,不要忘记重新定义您的可访问性标签,否则它将保持为空。在类中
使用UIAccessibilityFocus非正式协议myButton
,例如:
override open func accessibilityElementDidLoseFocus() {
self.accessibilityLabel = "yourPreviousLabelHere"
}
推荐阅读
- rust - 为什么解构借用的枚举需要取消引用其字段?
- oauth-2.0 - 我在哪里可以在门户中获取我的 Azure AD B2C 颁发者 URL
- javascript - 当输入在页面加载或用户更改时具有值时更新 Alpinejs x-data
- r - 当 rmarkdown 符合时,R 包可用选项卡会显示
- javascript - React、useEffect 清理不适用于 removeEventListener、useRef、视差效果
- parsing - 如何使用 ANTLR 逐个解析输入?
- visual-studio-code - 在 Visual Studio 代码中禁用 .ejs 文件的 onsave 格式
- python - 分别对每一行应用一个函数
- css - 将多层背景与单独的蒙版结合起来
- python-3.x - 使用python检测输入数据的数据类型时,如何使用嵌套的if-else进行这项工作