Re: Accessibility children: all or visible
Re: Accessibility children: all or visible
- Subject: Re: Accessibility children: all or visible
- From: Mike Engber <email@hidden>
- Date: Tue, 22 Apr 2008 16:44:51 -0700
For what kind of purposes is the array of children actually used? As
the children in my case are organized in pages, could it work to add
an extra layer of ignored faux elements for the pages? Those could
just wrap around an index and the parent view, and have the actual
subelements as children. I guess then assistive apps would only pry
depper into the children of the pages for the pages that are
relevant. Can it work to have faux elements that are ignored?
You should _never_ return ignored elements from any of the
accessibility protocol methods. Returning them means they're exposed
to assistive apps - i.e. not ignored.
These helper fns are provided to make this easier:
NSAccessibilityUnignoredAncestor(id element);
NSAccessibilityUnignoredDescendant(id element);
NSAccessibilityUnignoredChildren(NSArray *originalChildren);
NSAccessibilityUnignoredChildrenForOnlyChild(id originalChild);
The idea is when you returning an element (or array of elements) you
wrap it in one of these calls and it will handle the ignored issue for
you. In the case of what you're proposing it would squish out the faux
elements, leaving you exactly where you are now.
Note: while you're working on accessorizing your app you should always
be running with NSAccessibilityDebugLogLevel 1. It will catch all
kinds of common problems. Returning ignored elements is one of them.
If you want to group these children into pages you have to use some
unignored element as their parent. You could try using an AXGroup. I
don't know if the extra layer will cause grief to assistive apps (I
hope not), but it's an easy enough thing to try out.
-ME
_______________________________________________
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