Re: Accessible custom controls
Re: Accessible custom controls
- Subject: Re: Accessible custom controls
- From: Bill Cheeseman <email@hidden>
- Date: Sat, 07 Dec 2002 06:00:18 -0500
on 02-12-07 2:50 AM, Eric Schlegel at email@hidden wrote:
>
You don't have to implement all of them right away; probably the most
>
important ones to allow accessibility clients to inspect your app are
>
GetChildAtPoint, GetFocusedChild, GetAllAttributeNames, and
>
GetNamedAttribute.
Or their Cocoa equivalents.
There are several places where you will find documentation. In my
experience, it is important to read both the Carbon and the Cocoa
documentation to get the fullest understanding of how accessibility works.
Be sure to read the documentation for writing assistive apps, as well as the
documentation for making your custom control accessible. After all, the
whole point of accessibility is to allow assistive apps to access your
control, so you need to put yourself in the shoes of the assistive app
developer.
The documentation on writing assistive apps consists of these items as of
today, as far as I know: the HIServices subframework headers in the
ApplicationServices framework (Accessibility.h and related "AX..." headers);
the Reference for Assistive Applications (preliminary) (AssistiveAPI.html in
the developer Release Notes for Jaguar); and the UIElementInspector sample
code recently posted to Apple's sample code site.
The documentation on implementing accessibility is this: The accessibility
Carbon event headers referenced by Eric; the NSAccessibility equivalent for
Cocoa; Making Carbon Apps Accessible (preliminary); Making Apps Accessible
(preliminary) [this is different from the Carbon document, containing some
of the same material, but also an additional chapter about Cocoa and
additional details -- it's very confusing to have two similar but different
docs, but there we are], and the Accessibility topics at the Carbon
documentation page and the Cocoa documentation page. You'll have to hunt
around for some of these; I've collected copies in one place on my machine
and I don't remember where I found all of them.
I agree with Eric's priority list -- implement the ability for assistive
apps to read your control before worrying about allowing them to control it.
But both are important.
From the point of view of someone who is actually writing an assistive
application, I would like to stress the importance of implementing the
parent and children attributes. Not all assistive apps want to read your
control as a point on the screen. Mine, for example, wants to read it by
browsing up (down?) from the application root element, and I need to be able
to see all the children of every control to do that (and the parents, too,
in order to traverse the tree in the other direction). Even screen readers
need the parent and children attributes, because once they've found your
control at a point on the screen they often need to move around on the tree
to find parents, children and siblings in order to make sense of where they
are.
--
Bill Cheeseman - email@hidden
Quechee Software, Quechee, Vermont, USA
http://www.quecheesoftware.com
The AppleScript Sourcebook -
http://www.AppleScriptSourcebook.com
Vermont Recipes -
http://www.stepwise.com/Articles/VermontRecipes
Croquet Club of Vermont -
http://members.valley.net/croquetvermont
_______________________________________________
accessibility-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/accessibility-dev
Do not post admin requests to the list. They will be ignored.