我正在为视障人士开发android照片应用程序。
当然,我的应用程序是在反馈上下文中运行的。
在对讲上下文中,当按钮聚焦时,系统读取按钮的文本。
the green box represents the focused content
我想做的是播放音频文件时,按钮是重点,而不是文本标签的按钮。
但是,我找不到任何侦听器来检测按钮的聚焦状态。
有办法吗?
最佳答案
免责声明:在focus上发生的事情可能是每个WCAG 2.0 - 3.2.1的主要可访问性违规。我鼓励你重新考虑你的设计/做大量的用户研究,以确保你最终所做的不仅仅是创造令人沮丧的用户体验。不仅如此,还请记住,对讲并不是唯一的辅助技术,让我吃惊的是,对于使用交换机访问的用户来说,这种机制可能令人难以置信地沮丧,而对于brailleback用户来说,它可能完全崩溃。
也就是说,这就是你将如何完成这种行为:
您想查看View.AccessibilityDelegate中提供的回调
我相信你应该寻找这样的代码:
void onPopulateAccessibilityEvent(View host, AccessibilityEvent event) {
if (event.getEventType() == AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED) {
//do stuff here
}
}
将其附加到接收焦点的视图,或者根据使用的回调,可以将其附加到包含一系列控件的布局。
现在,我说“类似这样的事情”,因为有很多不同的可访问性委托回调、事件前触发、事件后触发、允许您在事件填充到视图层次结构时对其进行调整的事情,等等。您选择哪个回调取决于您希望何时执行此操作。佩恩和你可能需要调整的东西的性质,关于可访问性的事件,正在开火。