I’m
having trouble with VoiceOver and wondered if you might have some insight into what
I’m doing wrong.
I’m
writing a rather complex custom view. There are components of this view that might
ordinarily be subviews but there are constraints that make that difficult or
impossible. I want to make these components accessible, so I wrote accessibility
objects for them. Accessibility Inspector can access them: it shows the
hierarchy exactly as I want, I can lock onto them, perform actions on them, and
so on. I’ve implemented all the accessibility protocol methods and everything
looks fine in AI. I’ve implemented full keyboard access as well,
including focus rings.
But
VoiceOver simply doesn’t work. The VO focus rectangle doesn’t move
onto my view or any of its components and it won’t read the descriptions,
even though I’m seeing them at that same moment with AI. (Just for a
sanity check, if I tab into the next view, which is a checkbox, it reads it
fine.)
Without
getting into details of my classes, is there any specific requirement to make
VoiceOver work? What documentation I’ve been able to find implies that if
you support accessibility then you get VO support. I’ve got the feeling
that there’s some magic attribute I’m not supplying that will make
it work. Any help would be appreciated.
Chris