インターフェイスビルダーでのみアクセシビリティラベルを設定できますが、UI オートメーションでは、UI 要素を取得するためにアクセシビリティ識別子が必要です。これを行う方法はありますか?
5 に答える
accessibilityIndentifier は、Identity Inspector タブの「User Defined Runtime Attributes」を使用して IB で設定できます。
キー パス: accessibilityIdentifier
タイプ: 文字列
値: 選択された accessibilityIdentifier テキスト
たとえば、アクセシビリティ ID 'ScrollView' を持つようにスクロール ビューを設定します。
注: これは、UIView から継承することを意味する accessibilityIdentifier プロパティを持つ項目でのみ使用できます。また、「キー パス」のタイプミスは、アイテムのロード時におそらく例外を引き起こします。コンパイルの警告/エラーが発生するとは思いません。
このページによると
accessibilityIdentifier が設定されていない場合、UIAutomation は accessibilityLabel を使用するため、現時点では代わりにそれを使用できます。ユーザーが VoiceOver を使用している場合、accessibilityLabel はユーザーに表示される (またはむしろ聞こえる)ため、これはおそらくベスト プラクティスではありませんが、ラベルに人間にとって意味のある名前を付ければ問題ありません。
Apple が今後 IB に accessibilityIdentifier を設定する方法を追加してくれることを願っていますが、今のところはコードで設定するか、view タグなどを使用して自動化の対象となるビューを指定する必要があります。
accessibilityIdentifier IOS 5.0 以降にのみ適用されます....参照してください....