J'essaie d'accéder à un élément dans une sous-vue et je trouve qu'il est impossible de le faire.
La hiérarchie étant:
Contrôleur de vue:
Je souhaite accéder au champ de texte zipCodeEntered. J'ai une étiquette d'accessibilité nommée "zipCodeEntered".
Lorsque j'essaie d'enregistrer l'automatisation, elle n'enregistre que la vue d'ensemble "userEnterView" et non le champ de texte réel dans lequel je peux puiser.
J'imprime "app.otherElements [SUPER_VIEW_NAME] .debugDescription" pour voir quels éléments se trouvent dans cette hiérarchie et n'en affiche aucun.
Avez-vous des idées sur les raisons pour lesquelles je ne peux pas accéder à ces éléments/comment y accéder?
Les sous-vues ne sont pas accessibles car la vue parent n'est pas une vue conteneur. De la section Rendre votre application iOS accessible du Guide de programmation d'accessibilité:
Du point de vue de l'accessibilité, une vue personnalisée est une vue individuelle ou une vue conteneur. Une vue individuelle ne contient aucune autre vue devant être accessible.
Une vue conteneur, par contre, contient d'autres éléments avec lesquels les utilisateurs peuvent interagir.
Pour rendre les sous-vues accessibles, la vue parente doit indiquer à UIAccessibility
qu'il s'agit d'un conteneur d'accessibilité en renvoyant NO depuis -isAccessibilityElement
et en implémentant les méthodes du protocole UIAccessibilityContainer
.