我目前正在使我的应用程序具有可访问性,在我的EditText上遇到了问题:
在每个EditText中,用户的输入在某些时刻(例如点击按钮后)被验证,如果输入无效,我会使用editText.setError("message")
显示错误。问题是,在TalkBack开启时,它不会自动聚焦和读取错误消息。此外,由于我无法获取错误消息的视图,因此我无法通过 sendAccessibilityEvent
要求TalkBack将其聚焦。
我希望能够在仍然使用 editText.setError()
的情况下解决这个问题,欢迎提出任何想法。
编辑1:添加了 @Abhishek V 解决方案的代码:
public class BaseEditText extends EditText {
...
...
@Override
public void setError(CharSequence error) {
super.setError(error);
announceForAccessibility(error);
}
}