あなたトークバックプロジェクトを通じて掘る場合は、Role.javaに、あなたがヒントテキスト「ボタン」が次の状況で適用されていることがわかります。
- 要素はandroid.widgetのクラスがあります。ボタン
OR
- 要素が
android.widget.ImageView
- のクラスを持っています要素
isClickable()
いずれにしても、isClickable()
には、ヒントテキスト「Double tap to ....」が適用されます。だから答えはいいえ、あなたはしてはいけません。 「ボタン」はTalkBackユーザーに特有のものを意味し、AndroidオペレーティングシステムとTalkBackが連携してその機能を把握することをお勧めします。
TalkBackでは、遅延ヒントテキストにその情報を入れるのではなく、トリビュアでクリック可能なすべてのものをボタンとして発表したほうがよいでしょうか?「...をタップしてください」(... =展開、アクティブ化など) on control)はい、おそらくそうです。
Androidがあなたに「はい、私がサブクラス化したものはボタンです」と言うことができればいいですか?iOSの特徴と同じです。はい、おそらくそうです。
実際、私は、このシナリオの「ボタン」の発表は追加情報であることを考えると、 「ボタン」とは、ダブルタップして行動させることだけを意味します。 「ボタン」アナウンスが「ボタン」にのみ適用された場合、「android.widget.Button」オブジェクトは特定の方法(通常はスタイル指定されている)であるため、そうではありません。しかし、これはIMAGE_VIEWSにも適用されるので、他の単純な「クリック可能」ビューには適用されず、その目的は泥であり、最終的には役に立たず混乱します。そして、あなたはこれを修正しようとすべきではありません。この権利を取得することはTalkBackの仕事であり、他の方法でもできます。私に説明させてください:
ボタンの発表は本質的に廃止され、遅延アナウンス "double tap to ..."に置き換えられました。 「ボタン」の発表は、その発表に慣れていたユーザーのための従来のサポートとして残されました。
要約:「ダブルタップする....」があなたのコントロールの後で発表されていることを確認してください。ただし、ノードにクリックリスナーと "isClickable"があることを確認するだけで十分です。この遅延ヒント発表は重要なビットです。 「ボタン」の発表は重要ではなく、TalkBackプロジェクトの開発の初期に残された不幸な意思決定から残ったごみは残されています。それは、将来のリリースでクリック可能なすべてのもの(カスタムコントロールなど)に適用されるように修正されます。いずれにしても、コンテンツの説明に「ボタン」という言葉を追加することはお勧めできません。