Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Minimum requirements for a NSAccessibility object?



We've covered this before on the list. So you might want to go back and re-read some of my previous emails.

When the NSApp's accessibilityHitTest is going to find the window at the specified point then call accessibilityHitTest on that window which will use NSView's hitTest method to find the view at the specified point.

The call to NSView's hitTest will defeat you. It will poke into your view hierarchy.

You would normally prevent this by overriding accessibilityHitTest on the window containing your view. But, I don't see how you can do this as an imbedded view without resorting to some major hackery.

Alternatively, accessibilityHitTest will ultimately be called on the view the window finds. So, if you override accessibilityHitTest for _every_ view in your view hierarchy you could take control that way. I.e. the view can return some other ui element from its accessibilityHitTest method. But, obviously, this requires you to use custom subclasses for _everything_ in your view hierarchy. This might be impossible if some of the views in there are not created by you. E.g. an NSBrowser will create subviews.

This is the first issue that comes to mind, but there may be other problems as well depending on the details of your actual view hierarchy vs the accessibility hierarchy you want to present.

-ME

On Aug 24, 2006, at 9:08 AM, Håkan Waara wrote:

24 aug 2006 kl. 18.04 skrev Mike Engber:


On Aug 24, 2006, at 5:41 AM, Håkan Waara wrote:
So I'm a bit worried that 3rd party accessible apps peek at the NSView hierarchy to traverse the accessibility hierarchy. In my case that would be fatal, because the view hierarchy is *not* ordered in any sensible way, according to how the actual UI works.

3rd party apps that use the accessibility APIs have no ability to peak at the NSView hierarchy. They only see the accessibility hierarchy you present. So if you've taken (enough) control over what NSApp presents they'll only see what you want them to see.

Unfortunately, since we're (at least aiming to be) an embeddable NSView, I can't have any control over the NSWindow or the NSApp. All I can control is the topmost NSView, and everything below it. Is that sufficient?


/Håkan

_______________________________________________ Do not post admin requests to the list. They will be ignored. Accessibility-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/accessibility-dev/email@hidden

This email sent to email@hidden
References: 
 >Minimum requirements for a NSAccessibility object? (From: Håkan Waara <email@hidden>)
 >Re: Minimum requirements for a NSAccessibility object? (From: James Dempsey <email@hidden>)
 >Re: Minimum requirements for a NSAccessibility object? (From: Håkan Waara <email@hidden>)
 >Re: Minimum requirements for a NSAccessibility object? (From: James Dempsey <email@hidden>)
 >Re: Minimum requirements for a NSAccessibility object? (From: Håkan Waara <email@hidden>)
 >Re: Minimum requirements for a NSAccessibility object? (From: Mike Engber <email@hidden>)
 >Re: Minimum requirements for a NSAccessibility object? (From: Håkan Waara <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.