2016-03-27 2 views
0

J'utilise des NSButtons masqués dans mon application OS X pour fournir des raccourcis clavier. Comment puis-je cacher ces vues de l'arbre d'accessibilité? J'ai essayé ceci:Comment puis-je cacher un NSView (caché) de l'arbre d'accessibilité?

button.accessibilityElement = NO; 
button.accessibilityEnabled = NO; 
button.accessibilityLabel = @"Test"; 

VoiceOver lira "test" de sorte qu'il utilise clairement les propriétés que je mets en place. Lorsque j'ai activé la fonction accessibilityEnabled sur NO, il lit également "grisé" pour chaque bouton.

Comment puis-je faire en sorte que VoiceOver ignore complètement ces vues?

+0

Curieux pourquoi les sous-cotations. Si vous êtes downvoting, j'aimerais voir ce que vous pensez que je suis manquant. – RealCasually

+1

Au lieu d'utiliser un élément d'interface utilisateur masqué pour répondre à un raccourci clavier, vous devriez vraiment utiliser un élément de menu. Y at-il une raison pour laquelle vous ne pouvez pas faire cela à la place? Votre approche actuelle ne se sent pas très propre. –

+0

Je pense que vous avez raison, je vais essayer. – RealCasually

Répondre

1

Avez-vous essayé de régler le bouton sur caché? Si vous définissez la vue à masquer, elle ne participera pas à l'arborescence d'accessibilité, mais acceptera toujours les événements de raccourci clavier.

button.hidden = YES; 
+0

Merci, cela a parfaitement fonctionné! – RealCasually