所以我有一个关于可访问性的要求,其中一个按钮需要在焦点时读出,然后在用户点击后读出另一个文本。
例如,一个"OK"按钮聚焦时应该读"ok";但是当用户点击它时,它应该读出一些其他文本。导航到另一个页面
有没有办法在Android实现这一点?
我没能在它周围找到任何东西。
您可以使用View#announceForAccessibility(CharSequence)
进行一般公告-因此在您的OnClickListener
中获得对某些View
的引用(例如您的Button
,不管它是什么)并调用它
就像它在文档中说的,这是一个方便的函数,它创建了一个非常通用的"某事被宣布没有特定的原因"事件——你可能想要给出更多的上下文,比如创建一个TYPE_VIEW_CLICKED
事件。这可能对用户更有帮助(取决于可访问性服务如何处理它),并且可以提供更好的体验,因为读取的内容根据它是什么而确定优先级。我没有时间在这里深入讨论,但是如果你想的话,你可以研究一下
我也不确定这是否是你的意思,但以防万一——如果用户关注你的按钮,它应该说"[OK]按钮,双击[一些描述]">。括号中的位可以自定义,其余部分是UI中Button
的标准描述。你不应该把它改成只说"OK"