1

WebView で電話番号を読み取るときに、TalkBack スクリーン リーダー サービスでちょっと頭が痛くなり、解決策が見つからないようです。これは、WebView に読み込んでいる html コードのスニペットです。

<li>Call <a href="tel:18007848669">1-800-QUIT-NOW(1-800-784-8669)</a> for phone support</li>

スクリーン リーダーはこれを「1 から 8 百人に電話して今すぐ 1 から 8 百人へのリンクを終了します」と読み上げます。それ/信号を強制的に別の方法で読み取る方法はありますか? より自然な形式、つまり「One Eight Hundred」で読む必要があります。

4

2 に答える 2

0

この要素については、 android:contentDescription="1800 人が今すぐ辞めます"

于 2015-10-23T15:08:09.170 に答える
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;
        }//switch
    }//if
}
于 2016-08-24T22:04:55.290 に答える