これは、コンテンツの説明でテキストを上書きすることをお勧めします。あなたはそれを広げなければなりません。
それでは、あなたが代替テキストとしてテキストビューの
textView.setText("2:45")
textView.setContentDescription("2 minutes 45 seconds")
コンテンツ記述は行動のTextViewを持っているし、代わりに読み出されるとしましょう。これは実際に他のアクセシビリティ問題を引き起こします。オーバーライド... UGHとしてコンテンツ記述を使用する代わりに、テキストとコンテンツ記述の両方を読み出すATを想像してみてください。しかし、TalkBackが圧倒的な市場シェアを誇る現在のAndroidアクセシビリティエコシステムでは、このソリューションは完全に邪悪なものではありません。理想的には、テキスト読み上げエンジンは愚かではないでしょう。しかし、TTSエンジンは愚かなので、読み上げが妥当であるためには、TalkBackが見ているテキストを変更する必要があります。
また、TalkBackのユーザーは、必要に応じて文字でテキストを検索できるため、奇妙なTTS自動フォーマットを理解することができます。また、この代わりに見えるように、あなたのビューを変更しようとすることができます:
textView.setText("2m 45s");
は、私の記憶が正しければ、もののTTSエンジンはこれを「2メートル40ファイブ」を拡大していきます...素晴らしいです。
編集:このコード行はあなたの他の問題に役立つと思います。
timeString.replaceAll("([0-9]{1,2}):([0-9]{1,2})", "$1 minutes $2 seconds");
これは本当にスマートです!できるだけ早くこれを試してみます。そして、私は '2m'が' 2m'であることを確認することができます... – natinusala
しかし、ダイナミックにロードされたテキストビューではうまくいきません:私のアプリケーションに '14:24'を与えるHTTPリクエストがあり、テキスト、コンテンツの説明を入力できません – natinusala
テキストビューはテキストビューです。動的に読み込まれるかどうか。ここに別の質問があるように聞こえますが、このソリューションについては、特定のビューがロードされる方法に固有のものはありません。 – ChrisCM