处理长号码的首选方法是什么,例如银行帐号,应该一次读取一个字符?我知道用户可以通过这种方式让TalkBack读出一个数字,但如果我们能提示它应该从一开始就这样做就会很好。
在数字之间设置带有空格的内容描述是一个好主意,还是会让用户觉得这很烦人?
谢谢!
答案 0 :(得分:1)
我和几位屏幕阅读器用户进行了交谈,他们都证实,在这种情况下我们不应该做任何不寻常的事情。他们都说'不要担心,我们可以搞清楚。你不需要帮助我们。"
如果屏幕阅读器用户到达他们需要更清晰的区域,他们将使用他们的箭头键逐个字符,直到他们满意并继续让屏幕阅读器继续。
答案 1 :(得分:0)
对editText或textView
使用以下委托@Override
public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(host, info);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
switch (host.getId()) {
case R.id.tv_bookingID:
if (((TextView) host).getText().length() > 1) {
sb.delete(0, sb.length());
for (char c : ((TextView) host).getText().toString().toCharArray()) {
sb.append(c).append(" ");
}
//change text for talkback
info.setText(null);
info.setContentDescription(sb.toString().trim());
}
break;
}
}//if
}