26

インターフェイスビルダーでのみアクセシビリティラベルを設定できますが、UI オートメーションでは、UI 要素を取得するためにアクセシビリティ識別子が必要です。これを行う方法はありますか?

4

5 に答える 5

61

accessibilityIndentifier は、Identity Inspector タブの「User Defined Runtime Attributes」を使用して IB で設定できます。

キー パス: accessibilityIdentifier

タイプ: 文字列

値: 選択された accessibilityIdentifier テキスト

たとえば、アクセシビリティ ID 'ScrollView' を持つようにスクロール ビューを設定します。 Xcode 8.3.2 からの画像

注: これは、UIView から継承することを意味する accessibilityIdentifier プロパティを持つ項目でのみ使用できます。また、「キー パス」のタイプミスは、アイテムのロード時におそらく例外を引き起こします。コンパイルの警告/エラーが発生するとは思いません。

于 2012-12-13T23:56:19.660 に答える
11

Xcode 7.1 (ios 9.0) では、できるだけ簡単に実行できました。添付の画像を見つけてください。

ここに画像の説明を入力

view.accessibilityIdentifier として簡単にアクセスできます

于 2015-11-17T07:36:51.123 に答える
5

このページによると

http://developer.apple.com/library/ios/#documentation/AnalysisTools/Conceptual/WhatsNewInstruments/NewFeatures42/NewFeatures42.html

accessibilityIdentifier が設定されていない場合、UIAutomation は accessibilityLabel を使用するため、現時点では代わりにそれを使用できます。ユーザーが VoiceOver を使用している場合、accessibilityLabel はユーザーに表示される (またはむしろ聞こえる)ため、これはおそらくベスト プラクティスではありませんが、ラベルに人間にとって意味のある名前を付ければ問題ありません。

Apple が今後 IB に accessibilityIdentifier を設定する方法を追加してくれることを願っていますが、今のところはコードで設定するか、view タグなどを使用して自動化の対象となるビューを指定する必要があります。

于 2012-01-13T11:11:54.477 に答える
1

accessibilityIdentifier IOS 5.0 以降にのみ適用されます....参照してください....

https://developer.apple.com/library/ios/documentation/uikit/reference/UIAccessibilityIdentification_Protocol/Introduction/Introduction.html

于 2014-01-28T05:58:50.370 に答える