Comment dois-je configurer le label d'accessibilité pour un segment particulier d'un UISegmentedControl?
Nous utilisons FIK pour nos tests fonctionnels, et il utilise le label d'accessibilité des éléments pour déterminer où envoyer les événements. Je suis actuellement en train de tester le comportement d'un UISegmentedControl, mais pour ce faire j'ai besoin de différentes étiquettes d'accessibilité pour les différents segments de la commande. Comment dois-je configurer le label d'accessibilité pour un segment particulier?
Vous devez vous connecter pour publier un commentaire.
Je suis juste de commencer avec KIF moi-même, donc je n'ai pas testé, mais il peut être vaut la peine d'essayer. Je suis sûr que je vais avoir le même problème, donc je serais intéressé d'entendre si il fonctionne.
D'abord, UIAccessibility Protocole De Référence a une note sous accessibilityLabel qui dit:
Donc, je me demandais si vous pouviez définir la accessibilityLabel sur chaque objet NSString ainsi et être en mesure de l'utiliser pour accéder à chaque segment de KIF. Pour commencer, vous pouvez essayer de créer un couple de chaînes, la définition de leurs étiquettes d'accessibilité, et à l'aide de [[UISegmentedControl alloc] initWithItems:myStringArray]; pour le remplir.
Veuillez nous informer de vos progrès. Je voudrais savoir comment cela va
accessibilityLabel
et ensuite utiliser une image dans unUISegmentedControl
, il fonctionne comme prévu.NSString
objets... l'esprit = souffléQue Vertex dit,
obj-c
swift
quelques conseils afin de ne pas devenir fou comme je l'ai fait:
accessibilityLabel
sur leUISegment
et à droite après la cession, c'estnil
de nouveauaccessibilityIdentifier
à l'index du titre, mais a échoué: "Aucune correspondance trouvée pour Trouver: les Éléments correspondant prédicat '"0" identificateurs "de l'entrée". Puis j'ai misaccessibilityLabel
, et il fonctionne.Chaque segment de
UISegmentedControl
estUISegment
instance de classe qui sous-classe deUIImageView
. Vous pouvez accéder à ces instances parsubviews
propriété deUISegmentedControl
et essayez d'ajouter de l'accessibilité pour eux par programmation.C'est une vieille question, mais juste au cas où quelqu'un d'autre se heurte à ce que j'ai trouvé que les segments automatiquement a un label d'accessibilité spécifié que leur texte. Donc, si deux options ont été ajoutées pour l'Option 1 et l'Option 2. Un appel à
sélectionné avec succès le segment.
Plus de Stuart réponse, je l'ai trouvé vraiment utile lors de la rédaction des cas de test à son tour sur "Inspecteur Accessibilité" sur le Simulateur (Paramètres -> Général> Accessibilité -> Inspecteur Accessibilité). Vous seriez surpris de voir combien d'éléments ont déjà des étiquettes d'accessibilité inclus, comme dans la norme iOS éléments de l'INTERFACE utilisateur ou même de la troisième partie des cadres.
Note: les Gestes vont maintenant être différent, Appuyez sur pour afficher les informations d'accessibilité, appuyez deux fois sur pour sélectionner. En minimisant l'Accessibilité de la fenêtre de l'Inspecteur (en appuyant sur le bouton X) sera de retour les gestes de retour à la normale.
Vous ne pouvez pas compter sur l'index dans le subviewsarray pour le poste. Pour la personnalisation de l'individu sous-vues-je trier les sous-vues sur leur Position X avant de régler les propery.Ce serait également valable pour accesibilityLbel.
une autre option, si pas prêt à mettre de l'accès de l'étiquette peut être le calcul de la poistion de chaque segment de la partie et l'utilisation
pour déclencher les actions
Si vous regardez la segmentation de contrôle via l'inspecteur accessibilité, vous trouvez que les segments sont UISegment objets. En outre, ils s'avèrent être directe des sous-vues de la UISegmentedControl. Ce fait suggère ce qui suit incroyablement fou, mais parfaitement sûr Swift 4 code pour définir l'accessibilité des étiquettes de les segments d'un UISegmentedControl:
Les gars, vous voulez voir comment Apple recommande-il être fait?
C'est MOCHE.
C'est à partir de cet exemple:
Qu'ils appliquent les étiquettes d'accessibilité pour les images, puis fixez les images. Pas trop différente de la la réponse ci-dessus.
Comme Vortex dit, la matrice est de droite à gauche avec [0] à partir sur la droite. Vous pouvez paramétrer chaque option d'accessibilité en accédant à la sous-vues. Depuis le sous-vues sont facultatifs, il est bon de se retirer de la sous-vue d'abord, et ensuite affecter l'accessibilité des traits de personnalité que vous voulez. Swift 4 exemple pour une simple option deux segment de contrôle: