• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

iOS 辅助功能 - 有没有办法判断 VoiceOver 何时改变焦点?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 15:07:19 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我想在 VoiceOver 处于事件状态时每次聚焦不同的元素时调用一个方法。我希望有一些 UIAccessibilityNotification 为此,但我似乎找不到任何。

最终,我的目标是在阅读无障碍标签之前添加一个附加条件。例如,与说(默认情况下)“如果 UIButton 成为焦点:读取标签”相反,我希望能够说“当 UIButton 成为焦点并且UIButton的背景色为蓝色:读取标签”。

所以我的问题是:如何在阅读标签之前添加附加条件,或者在新元素成为焦点时接收通知?



Best Answer-推荐答案


您无法明确判断用户何时移动 VoiceOver 光标(就像您无法判断有视力的用户在看哪里一样)。

对于您想要的行为,您有两种选择:

  1. 只要其他条件发生变化,就将按钮的 accessibilityLabel 设置为适当的值。
  2. 子类 UIButton 并覆盖它的 accessibilityLabel getter 方法:

    - (NSString *) accessibilityLabel {
        if (SOME_CONDITION) {
            return @"Hooray!";
        } else {
            return @"Womp womp";
        }
    }
    

如果您需要完全禁用某个项目,而不是返回 nil 或空白字符串,则应将其 accessibilityElementsHidden 属性设置为 YES .

关于iOS 辅助功能 - 有没有办法判断 VoiceOver 何时改变焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29762613/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap