問題タブ [uiaccessibility]
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.
ios - iOS でアクセス可能なカスタム キーボード
アクセシビリティに関して、カスタム キーボードを iOS ソフトウェア キーボードのように動作させたいと考えています。ボタンを押して UITextField に文字を追加すると、文字は「追加された文字のトーン」で VoiceOver によって読み上げられる必要があります。ボタンを押して UITextField から文字を削除すると、その文字は「削除された文字のトーン」で VoiceOver によって読み上げられる必要があります。
これが私が試みたものです:
- ストーリーボードのビュー コントローラーに UITextField を作成しました。
- ビュー コントローラーのストーリーボードに、「Type」と「Backspace」というラベルの付いた 2 つの UIButton を作成しました。
- 両方の UIButton のアクセシビリティ特性をキーボード キーに設定します。
- ストーリーボード UITextField を IBOutlet UITextField インスタンス、textField にフックしました。
- ストーリーボードの「Type」UIButton を IBAction、-type にフックしました。
- ストーリーボードの「Backspace」UIButton を IBAction、-backspace にフックしました。
- -type as: を実装しまし
[[self textField] insertText:@"a"];
た。 - -backspace as: を実装しました
[[self textField] deleteBackward];
。 - textField をファーストレスポンダーにしました。
私も同じことを試し、ボタンをtextFieldのinputViewとして設定されたUIViewに移動しました。
文字はテキスト フィールドに適切に追加および削除されますが、VoiceOver によって読み上げられません。どうすればこれを機能させることができますか?
編集:
ハードウェア キーボードは正しく話します。本来のように話さないのは、カスタム ソフトウェア キーボードだけです。
iphone - UIButton のボイスオーバー フィードバックを無効にする
現在、ゲームにアクセシビリティを実装しています。Appleが提案したように、インターフェイスのボタンに UIAccessibilityTrait AllowsDirectInteraction を使用しています。これはうまく機能しますが、問題は、インターフェイスのすべてのボタンを 1 回タッチして「アクティブ化」する必要があることです。視覚障害者がインターフェイスを使用する前に、インターフェイスのすべての要素を確認する必要があるため、これは理にかなっています。ただし、ゲームで同じインターフェイスを何度も使用しています。ユーザーがそのゲーム セッションでインターフェイスを既に発見している場合は、ナレーションを無効にしたいと考えています。(これはおそらく、ゲーム設定で有効/無効にできるオプションになるでしょう)。それを行う方法を考えてみませんか?
uitableview - UITableView での UIAccessibility の実装
UITableView のアクセシビリティがどのように機能するかを理解しようとしています (同様の方法で機能する他のライブラリにサポートを追加するため)。そこで、UITableView のMyTableViewサブクラスにUIAccessibilityContainer Protocolを実装しました。
まず、dataSource をアクセス可能にする必要があります。
次に、再実装します。
アクセシビリティは想定どおりに機能します。最後のステップは- (id)accessibilityElementAtIndex:(NSInteger)indexを実装することです:
しかし、どうやらテーブルビューにこのメソッドのアクセシビリティを追加すると機能しなくなり、(ナレーションを使用して) テーブルビューに移動すると、VoiceOver の「空のリスト」だけが表示されます。面白いことに、セルは適切に返され、大量のAX ERROR: Could not find my mockparent が表示されます。おそらく私は古いです。
私は調査しようとしています。誰かがすぐにアイデアを思いつかない限り、結果を投稿します。
ios - UIAccessibilityElement TraitAdjustable
カスタム uiview で Core Graphics を使用して描画されている 2 つのフレーム ベースのアクセシビリティ要素のコンテナーを作成しています。
2 つの要素 (この場合は 2 つのカーソル) が 1 本の指の上下のスライドに応答するようにしたいので、 trait を使用していますUIAccessibilityTraitAdjustable
。
Appleのドキュメントに記載されているように、プロトコルを実装しました。accessibilityIncrement
2 つの要素を選択することはできますが、1 本の指でスクロールしても呼び出されないようですaccessibilityDecrement
。私が見逃したものはありますか?
ios - カスタムTableViewCellでsetIsAccessibilityElementが機能していませんか?
カスタム TableViewCell を使用しています。セルのアクセシビリティを無効にし、Custom TableView Cell XIB でアクセシビリティのチェックを外したいです。また、実装ファイルでも、setIsAccessibilityElement を NO に設定しようとしています。
[self setIsAccessibilityElement:NO];
TableViewCell内のサブビューのAccessibilityElementをNoに設定しました。それでも、アプリケーションを実行するとアクセシビリティが有効になっていることがわかります。
Custom TableViewCellへのアクセシビリティを無効にする他の代替方法を提案してもらえますか?
ios - ナレーションの入力モードをプログラムで決定する方法は?
Voiceover をオンにすると、ローターを「タイピング モード」設定に移動できます。上下にスワイプすると、「標準タイピング」と「タッチタイピング」を切り替えることができます。標準的な入力では、1 回タップしてキーを選択し、ダブルタップして実際にその文字を入力する必要があります。タッチタイピングでは、キーボード上で指を動かすことができ、キーを離すとその文字が入力されます (はるかに速く入力できます)。
私は、アプリケーションに実装したカスタム キーボードでこのタイプのキーボード動作を有効にする任務を負っています。これを行うには、ユーザーが標準入力またはタッチ入力をオンにしているかどうかを知る必要があります。
ios - UIAccessibilityElement サブクラスの「内部のタッチアップ」イベントにどのように反応するのですか?
アイテムが描かれたマップがあります。マップはタッチ イベントを処理し、タッチされたアイテムをボタンであるかのように判断します。
マップをコンテナーにして、accessibleElements を返すメソッドを実装しました。項目ごとに、UIAccessibilityElement サブクラスのインスタンスを 1 つ作成します。
UIAccessibilityAction プロトコルには、「タップ」または「ボタンが押された」イベントのコールバックがないようです。UIAccessibilityElement を使用して UIButton の効果をどのように模倣しますか?