9

处理长数字(如银行帐号)的首选方法是一次读取一个字符?我知道用户可以让 TalkBack 以这种方式读出一个数字,但如果我们能暗示它应该从一开始就这样做,那就太好了。

在数字之间设置空格是一个好主意,还是用户会觉得这很烦人?

谢谢!

4

2 回答 2

2

我与几位屏幕阅读器用户交谈过,他们都确认在这种情况下我们不应该特意做任何不寻常的事情。他们都说“别担心,我们可以解决的。你不需要帮助我们。”

如果屏幕阅读器用户到达他们需要更清晰的区域,他们将使用箭头键逐个字符,直到他们满意并继续让屏幕阅读器继续。

于 2016-05-06T01:55:08.957 回答
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
}
于 2016-08-24T22:07:56.607 回答