我正在为视障人士开发Android照片应用程序 .
当然,我的应用程序在Talkback上下文中运行 . 在Talkback上下文中,当按钮聚焦时,系统读取按钮文本 . the green box represents the focused content
我想要做的是在按钮聚焦时播放音频文件而不是按钮的文本标签 . 但是,我找不到任何检测按钮聚焦状态的监听器 . 有没有办法做到这一点?
我正在为视障人士开发Android照片应用程序 .
当然,我的应用程序在Talkback上下文中运行 . 在Talkback上下文中,当按钮聚焦时,系统读取按钮文本 . the green box represents the focused content
我想要做的是在按钮聚焦时播放音频文件而不是按钮的文本标签 . 但是,我找不到任何检测按钮聚焦状态的监听器 . 有没有办法做到这一点?
1 回答
免责声明:焦点发生的事情可能是每个WCAG 2.0 - 3.2.1的主要可访问性违规 . 我鼓励您重新考虑您的设计/进行广泛的用户研究,以确保您最终做的不仅仅是创造令人沮丧的用户体验 . 不仅如此,但请记住,TalkBack并不是唯一的辅助技术,我觉得这种机制对于使用Switch Access的用户来说可能会非常令人沮丧,并且可能完全打破了BrailleBack用户 .
话虽这么说,这就是你将如何实现这种行为:
你想看看View.AccessibilityDelegate中可用的回调
我相信你应该寻找看起来像这样的代码:
将此附加到接收焦点的视图,或者根据您使用的回调,您可以将其附加到包含一系列控件的布局 .
现在,我说“像这样的东西”,因为有很多不同的可访问性委托回调,事件前触发,事件后触发,允许你调整事件的事情,因为它填充了视图层次结构等等 . 哪个回调你选择取决于您希望这种情况发生的确切时间以及您可能需要调整的有关正在触发的AccessibilityEvent的事物的性质 .