私は自分のiPhoneアプリにアクセス可能にしています。 VoiceOverはかなり印象的です。ユーザーがVoiceOverを使用すると、画面上の項目が自動的に読み取られ、画面上の任意の場所をダブルタップしてその項目を選択することができます。しかし、私はVoiceOverが特定の順序で項目を読むようにしたいが、それは常に戻るボタンを含むUINavigationBar項目から始まる。私はこれらの商品がでなく、であるとは思っていません。私はただ特定のアイテムから始めたいと思います。 VoiceOverに相当する「firstResponder」はありますか?プログラムによって、VoiceViewによってUIView項目が読み取られる順序を決定します。
9
A
答えて
0
場合によっては、1つのアイテムでUIAccessibilityTraitSummaryElementを設定することができます。 (これは非常に役立つようにするために私のゲームはあまりにもダイナミックなようです。)
6
はい
NSObjectので実装されUIAccessibilityContainer
と呼ばれるプロトコルがあります。あなたは、アクセシビリティの順序を制御したいメインビューを持っている場合は
accessibilityElementCount
accessibilityElementAtIndex:
indexOfAccessibilityElement:
:それは、これらの3つのメソッドを使用して、コンテナの動作をカスタマイズすることができますこれらの3つのメソッドを実装し、適切なビュー/インデックスを返すだけです。もう1つは、コンテナビューがアクセシビリティ要素そのものになることができないため、isAccessibilityElement:
をオーバーライドしてNO
を返す必要があります。
- (BOOL)isAccessibilityElement {
return NO;
}
実装例
は、私はあなたがそれらが表示されるか、何のためにそれを使用しない場合tag
プロパティを使用するために、すべてのビューの配列を持っているいずれかのことを示唆していますelse。プロトコルの実装は非常に簡単になります。要素
の
アレイ私はあなたが正しい順序で要素を格納accessibleElements
と呼ばれる配列を持っていると仮定しています。
- (NSInteger)accessibilityElementCount {
return self.accessibleElements.count;
}
- (id)accessibilityElementAtIndex:(NSInteger)index {
return self.accessibleElements[index];
}
- (NSInteger)indexOfAccessibilityElement:(id)element {
return [self.accessibleElements indexOfObject:element];
}
タグ要素
私はあなたのサブビューは、サブビューの数まで0から連続的にタグ付けされていると仮定しています。
- (NSInteger)accessibilityElementCount {
return self.subviews.count;
}
- (id)accessibilityElementAtIndex:(NSInteger)index {
// Not that self should have a tag<0 or tag>count otherwise it will
// return itself for that tag instead of the element you want it to.
return [self viewWithTag:index];
}
- (NSInteger)indexOfAccessibilityElement:(id)element {
return ((UIView *)element).tag;
}
関連する問題
- 1. Bottom NavigationViewプログラムによって項目を変更します
- 2. パラメータ化「順序がによって」SQL
- 3. json.dump()によってjson.load()によって読み取られないファイル
- 4. 特定の項目によってリストボックスの項目を識別
- 5. 値の順序によってGadflyによってスローされるInexactError
- 6. リストビュー項目が間違った順序で表示される
- 7. ドロップダウンのオプションがWebdriverによって読み取られない
- 8. Flexカスタムコンポーネントの最初の項目がJAWSによって読み取られない
- 9. javax.xml.stream.XMLStreamReaderによって読み取られたバイト数を取得します。
- 10. WPF ListViewプログラムによって項目を選択
- 11. オブジェクトの可視性はレンダリングの順序によって決まり、視点に対する位置によって決まらない
- 12. UIViewから制約を取得する方法プログラムによって
- 13. Microsoft Project Standard 2013から情報を読み取る方法プログラムによって
- 14. 列選択、カウント(列)が、3列目の値によって順序が
- 15. iChatAgentによってiChatAgentによってプログラムでステータスを設定します
- 16. イニシャライザのリストはパラメータの順序によって変わってきますか?
- 17. スクリプトの玉の読み込み順序が狂っています
- 18. どのように配列の項目を取ってhtmlの
- 19. Railsは、ネストされた値によって順序
- 20. ラベルhtml文字列がスクリーン・リーダーによって読み取られる
- 21. URLパラメータによってload()urlが決定されます
- 22. 順序付けされたリストから順序付けられていないリスト項目を除外する
- 23. SQL Serverのレポート履歴をプログラムによって読み取る方法は?
- 24. Values()ステップによって値が返される順序は何ですか
- 25. ブラウザー経由でプログラムによってDPIを決定しますか?
- 26. 複数の読み取りがアラームによって中断されました
- 27. GeoJSONプロパティのID番号に従ってドロップダウンリスト項目の順序を設定する方法
- 28. vimはプログラムが終了して順序が狂ったときにのみ印刷結果を返します
- 29. PixelFormat.Format32bppArgbのバイト順序が間違っているようです
- 30. パスワードファイルを読み取っている間、プログラムは決してEOFに遭遇しません
おそらく - 私はUIAccessibilityTraitSummaryElementを誤解しているかもしれませんが、単に画面のエントリで話されているものかもしれません。フォーカスされたアイテムと同じではありません。 –