問題タブ [talkback]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - TalkBack が破棄されたフラグメントを読み取らないようにする方法
アクティビティとフラグメントで構造化されたシンプルなアプリを開発しています。これは、アクセス可能にするための要件の 1 つであるため、すべてのコンテンツの説明、ナビゲーション、フォーカスなどを行いました。
そして、フラグメントを除いて、それはうまく機能します。フラグメントをロードするアクティビティがある場合、トークバックはそのコンテンツを読み取り、ユーザーは何かをクリックし、スタックの上に追加できる詳細フラグメントをクリックします。
ユーザーがトークバックをナビゲートし続ける場合でも、不足しているフラグメントの各要素の位置を覚えています。
イベントのアクセシビリティ リストをクリアし、強制的に再度取得する方法はありますか? アクセシビリティマネージャーには、そのための方法がないようです。
-- 編集済み -- 私が試してうまくいかなかったもの。
フラグメント内のビュー作成からイベントを送信します。
フラグメントの onResume で保留中のすべてのテキストを中断します。
window_content_change または window_state_change のイベントを登録するようにデコレーター ビューに要求します。
-- 編集済み -- DumpView Hierarchy を作成し、破棄されたフラグメントの痕跡はありませんが、トークバックはそれをナビゲートします:(
ありがとう、誰かがこの問題に光を当ててくれることを願っています:)
よろしく。
android - KitKat の Android WebView アクセシビリティ
Web ビューで TalkBack を動作させるのに問題があります (Android 4.4.2 の Nexus 5 でテストしています)。Android JellyBean のリリース前後に、「Web アクセシビリティの向上」というタイトルの設定を確認することで、TalkBack サポートが Web ビューに追加されたことを読みました。私の人生では、システム設定でこの設定を見つけることはできません。
アプリケーションの Web ビューに注目すると、「WebView」と表示されるだけで、他のオプションはありません。確認しgetSettings().setJavaScriptEnabled(true);
て、Webビューで呼び出しました。
Web ビューの TalkBack サポートは KitKat で削除されましたか? そうでない場合、ここで何が欠けていますか?
android - TalkBack / スクリーン リーダーにかかわらず、フル タッチ アクセス
前文
TalkBack は、目の不自由なユーザーがデバイスを操作するのに役立つ Android 用のアクセシビリティ サービスです。これは、すべてのユーザー インターフェイス要素を読み取るスクリーン リーダーです。
これは、視覚障害者が特別に適応していない非常に多くの異なるアプリを使用できるという点で優れています。ただし、すべての種類のアプリで機能するわけではありません。TalkBack がアクティブであるにもかかわらず、すべてのタッチ イベントを処理するウィジェットを使用したいと考えています。
VoiceOver は、IOS の TalkBack を補完するものです。これがIOSでの私の問題の解決策です。 仮想楽器iPhoneアプリでのVoiceOverアクセシビリティ?
質問
このソリューションを IOS アプリに実装したところ、問題なく動作しました。Android/TalkBack に相当するものはありますか?
[ mySubView setAccessibilityTraits: UIAccessibilityTraitallowsDirectInteraction ];
タッチで直接サウンドを再生するアプリは、TalkBack をオンにして使用できる必要があります。3D サウンドでルームを検出可能にする楽器アプリ、いくつかのゲーム、および私のようなアプリは、TalkBack をオンにして動作するはずです。TalkBack をオフにすることは、目の不自由な人のためのオプションではありません。人を見るために画面をめくるようなものです。
そのような機能があるべきだと思う場合は、賛成票を投じてください。
android - Android KitKat 4.4 TalkBack ビューの更新の問題
Android 4.4.2 (KitKat) デバイスでアプリを実行しています。私のアプリには ListView があります。最後のアイテムをリスト ビューに追加すると、コンテンツが表示され、約 5 秒後に変更されます (その特定のリスト アイテムに別のビューが読み込まれます)。
TalkBack がオンの間 -
その 5 秒間のウィンドウで、最後の項目をクリックすると、TalkBack はそれをマークして読み上げ、ビューを変更しません。
以前の Android バージョンではこの問題は発生していません。
なぜこれが起こるのか誰にも分かりますか?この動作をオーバーライドできる場合は?
ありがとう!
PB
java - Android のボタン サブクラスにコンテンツ記述子を設定すると、TalkBack に「ボタン」という単語が追加されます
ボタンのサブクラスでコンテンツ記述子を読み返すように Talkback を取得しようとしています。ボタンのサブクラスが選択されると、Talkback はコンテンツ記述子と最後に「ボタン」という単語を表示します。余分な単語が追加されないようにするにはどうすればよいですか?
注: ドキュメントを読んだところ、dispathPopulateAccessibilityEvent() が、イベント トリガーとして機能するビューの AccessibilityEvent の取得/子へのアクセスについて言及していることに気付きました。これは、イベントが常にビュー階層に触れるということですか? もしそうなら、テキストを追加しているのはボタンのスーパークラスですか?
android - Android:Explore-By-Touch/Talkback に AccessibilityFocus の現在のビューの ContentDescription を強制的に繰り返す方法は?
私の Android アプリにはView
、画像を表示する があり、関連付けられている がありますContentDescription
。
Settings->Accessibility->Talkbackを有効にし、Talkback 設定からExplore By Touchを使用してから、ビューを 1 回タップしてContentDescription
読み上げることができます。
これまでのところ、これはすべて予想どおりです。
ただし、もう一度同じものを 1 回タップすると、 Explore By Touchが繰り返されます。たとえば、私の画像と説明は、 が含まれている間に更新される可能性があるため、新しいフレーズを言うとユーザーに役立ちます。どうすればこれを達成できますか?ContentDescription
View
AccessibilityFocus
View.clearFocus()
とを試してみましView.invalidate()
たが、成功しませんでした。
建設的なアイデアは大歓迎です。
アップデート
API 8 以降のサポートを追加したいということも言及すべきでした。したがって、API 4 のアクセシビリティ インターフェイスでできる限りのことをしようとしています。
私は現在、更新されたビューの問題を回避するためにView.clearFocus()
使用するソリューションに取り組んでいます。View.requestFocus()
これは、API 8 および 16 を使用したテスト キットでこれまでのところ機能しているようです。
最終結果はまた更新しますが、それまでの間、さらなる提案を歓迎します。
android - Android:SeekBar を拡張するときに AccessibilityEvents から音声テキストを削除する方法は?
私の Android アプリには に基づくカスタム スライダー コントロールが含まれておりSeekBar
、カスタム テキスト フレーズをコントロールに添付して、アクセシビリティのための使用法を説明したいと考えています。
を使用してこれを正常に実行しView.setContentDescription(text)
、 からスライダー コントロールにフォーカスを要求すると、TalkBack はフレーズを正しく読み上げますActivity.onCreate
。
ここまでは順調ですね。ただし、Android API 16 テスト デバイスで AccessibilityFocus を設定すると思われるコントロールに触れると、余分な単語が音声フレーズに追加されます。つまり、'...seek control. 0パーセント」。これらの追加の単語を削除したいと思います。
event.getText().clear()
inを使用してそれらを排除しようとしましたが、View.onInitializeAccessibilityEvent(event)
成功しませんでした。イベントを LogCat にエコーすると、 に正しい語句が報告されevent.contentDescription
、 にはエントリがありませんが、デバイス ハードウェアからのオーディオ出力と、メニュー -> 設定 -> アクセシビリティ -> TalkBackevent.text
によって表示される画面上のデバッグ テキストの両方に余分な単語が表示されます。>設定->開発者設定->音声出力の表示。
余分な単語が追加されている場所と、それらを削除する方法を誰か提案できますか?
建設的な提案を歓迎します。ありがとう。
アップデート
カスタム コントロールの一部の Explore By Touch (最初のシングルタップ) イベントが、意図的に を呼び出しているため、そのonInitializeAccessibilityEvent
またはメソッドを通過しないことがわかります。それにもかかわらず、コードに設定されたカスタム コントロールのと、削除しようとしている余分な単語が生成されています。dispatchPopulateAccessibilityEvent
event.setContentDescription(null)
AccessibilityEvent
ContentDescription
Activity.onCreate
AccessibilityDelegate
また、カスタム コントロールの親に を設定してViewGroup
、そのonRequestSendAccessibilityEvent
呼び出しを表示できるようにしました。ContentDescription
これにより、 my を含むイベントが通過していないことが確認されます。
これは非常に不可解であり、API 16 を使用するエミュレーターと実際のハードウェアの両方で発生します。何かアイデアはありますか?