Re: Lightweight accessibility?
Re: Lightweight accessibility?
- Subject: Re: Lightweight accessibility?
- From: RICKY SHARP <email@hidden>
- Date: Thu, 29 Nov 2007 04:19:44 -0800
On Thursday, November 29, 2007, at 06:03AM, "Uli Kusterer" <email@hidden> wrote:
>Hi,
>
> I have a fullscreen user interface in an application and I'm
>considering making it accessible. The issue here is that it would be a
>lot of work to create dozens of AXxxx objects for the stuff onscreen
>there. Is there a way to get "cheap" accessibility support? My initial
>idea was to just check if VoiceOver is on and ask Speech Synthesis
>directly to speak a description of the onscreen elements, but
>obviously this won't work for users relying on braille lines or
>anything like that.
>
> What do you guys recommend here? Is there a minimal sample out there
>somewhere showing how to make a fully custom UI (OpenGL, effectively)
>accessible with a minimum of effort? (Yeah, I'm lazy...)
My full-screen custom UI app is fully accessible. Here are the major areas of work that went into it:
(1) support for full keyboard access. All my custom controls/cells needed to implement acceptsFirstResponder, et. al. and draw appropriate focus "rings" as needed.
(2) Graphic content relying solely upon color was modified to allow the user to specify alternate color options. For example, for a number line addition problem animation, I fill the augend (first number) with red and addend (second number) with green. But, since color deficiencies can leave users seeing only a single color, I offer alternates of yellow-blue and light-dark; the latter offering a high-contrast grayscale flavor for those who cannot see any color.
(3) Write to the accessibility API. A bit tricky if you have lots of custom controls/cells (stuff that user will want to control). For the most part, you pick some close Aqua equivalent and use that. For custom read-only views, you can pretty much make up any attributes you want; this integrates very well with VoiceOver; for example, my IIProblemView which renders a mathematical problem would read in VoiceOver as "one plus two equals what number?"
Definitely check out the various websites on Section 508; there are checklists you can look at for areas you may want/need to address. You don't have to hit a home run the first time out; you can choose to pick only a few areas to address at a time.
Part (3) mentioned above only needs to be implemented once and you'll gain huge dividends. i.e. it's not just for VoiceOver integration. If you get serious about (3), I highly recommend Bill Cheeseman's "UI Browser" application. Alot more richer than Apple's Accessibility tools. The really cool thing about it is that it let's you drive the UI from that app; acting as a custom input device of sorts. It also lists info on what notifications are being posted to fully handle accessibility.
The other benefit of doing (3) is that your app can now be controlled via GUI scripting. "UI Browser" also has features to help you in this area.
Finally, in terms of sample code, I got most of my info right from this list. And, definitely check out ClockControl and AXCanvas for custom accessibility solutions. May get the name wrong here, but search Apple's on-line code for "food pyramid"? Another app that shows custom accessibility solutions.
--
Rick Sharp
Instant Interactive(tm)
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Accessibility-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden