サブビュー内の要素にアクセスしようとしていますが、アクセスできません。
階層は次のとおりです。
ビューコントローラ:
ZipCodeEnteredテキストフィールドにアクセスしたい。 「zipCodeEntered」という名前のアクセシビリティラベルがあります。
自動化を記録しようとすると、スーパービュー「userEnterView」のみが登録され、タップできる実際のテキストフィールドは登録されません。
「app.otherElements [SUPER_VIEW_NAME] .debugDescription」を印刷して、その階層にどの要素があるかを確認しますが、何も印刷されません。
親ビューはコンテナビューではないため、サブビューにはアクセスできません。アクセシビリティプログラミングガイドのセクション iOSアプリをアクセス可能にする から:
アクセシビリティの観点から見ると、カスタムビューは個別のビューまたはコンテナビューです。個々のビューには、アクセス可能にする必要がある他のビューは含まれていません。
一方、コンテナビューには、ユーザーが操作できる他の要素が含まれています。
サブビューをアクセス可能にするには、親ビューがUIAccessibility
に、-isAccessibilityElement
からNOを返し、UIAccessibilityContainer
プロトコルのメソッドを実装することにより、アクセシビリティコンテナーであることを伝える必要があります。