Re: VO interaction with lists
Re: VO interaction with lists
- Subject: Re: VO interaction with lists
- From: Pete Brunet <email@hidden>
- Date: Tue, 06 Nov 2012 10:45:07 -0600
H Gregory, I implemented
accessibilityArrayAttributeValues:index:maxCount: which helped a lot,
but VO still calls for all the list items way too many times. The code
probably wasn't in a loop before, I probably just wasn't patient
enough. BTW, I see no indication that our a11y tree has any issues.
I still have more work to do for our list implementation but first I'd
like to find a Mac list so I can see how VO handles it. I went through
all the widgets in System Preferences and could not find a list. I
found several single column tables but no lists. Where can I find a
real list? And further, where can I find a suite of Mac GUI control
samples that includes all the possible Mac GUI controls?
Thanks, Pete
On 10/16/12 7:08 PM, Gregory Hughes wrote:
> I am not sure offhand why you are seeing an infinite loop of requests, it is possible that you have a palindrome error in your accessibility tree.
>
> However, you should also consider implementing this method to improve performance rather than constantly returning the entire array:
> https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Protocols/NSAccessibility_Protocol/Reference/Reference.html#//apple_ref/occ/instm/NSObject/accessibilityArrayAttributeValues:index:maxCount:
>
> This may also help you hunt down a palindrome error.
>
> -G
>
>
> On Oct 13, 2012, at 12:00 PM, email@hidden wrote:
>> Message: 1
>> Date: Fri, 12 Oct 2012 17:01:10 -0500
>> From: Pete Brunet <email@hidden>
>> To: Accessibility-Dev Accessibility-Dev Mail
>> <email@hidden>
>> Subject: VO interaction with lists
>> Message-ID: <email@hidden>
>> Content-Type: text/plain; charset=ISO-8859-1
>>
>> I'm adding support for NSAccessibility to JavaFX. We have it working
>> for button, radiobutton, and checkbox and I'm now working on a simple
>> list. I have a test case with a list of 20 cells each containing simple
>> text. A log of the calls from VO are listed below. When I run the test
>> case I have to stop it after a while because I'm not sure it will ever
>> finish. Below is a log of the calls from VO. Some questions:
>>
>> - Why does VO ask for the same info over and over, especially for time
>> consuming operations like the children.
>> - What if the list is huge? VO isn't asking for the visible children,
>> but for all the children. (Fortunately, at this early point we only
>> have the visible children in our accessibility tree.)
>> - Why doesn't VO ever ask for the child of the cell?
>> - Why does VO never seem to get far enough along to actually speak the
>> first list item?
>>
>> Thanks, Pete
>>
>> There might be a little misinformation in the following. It was a lot
>> of data to wade though, but it should be accurate enough to see the issues.
>>
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXRole self=0x7fe803d36190 returning: AXList
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXRole self=0x7fe803d36190 returning: AXList
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXRole self=0x7fe803d36190 returning: AXList
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXTitle self=0x7fe803d36190 returning: nil
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning
>> 0x7fe803d1ca20 0x7fe803d36cd0 0x7fe803d36d00 0x7fe803d36d30 0x7fe803d36d60
>> 0x7fe803d36d90 0x7fe803d36dc0 0x7fe803d36df0 0x7fe803d36e20 0x7fe803a4f8e0
>> 0x7fe803a44360 0x7fe803a0bc30 0x7fe803a44640 0x7fe803a1b2a0 0x7fe803d36e60
>> 0x7fe803d36e90 0x7fe803d36ec0 0x7fe803d36ef0 0x7fe803d36f20 0x7fe803e0e260
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXParent self=0x7fe803d1ca20 returning 0x7fe803d36190 // parent of
>> first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36cd0 returning 0x7fe803d36190 // parent of
>> second child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36d00 returning 0x7fe803d36190 // parent of
>> third child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> ditto through all 20 children
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d1ca20 returning 0x7fe803d36190 // parent of
>> first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRole self=0x7fe803d1ca20 returning AXCell // role of first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36cd0 returning 0x7fe803d36190 // parent of
>> second child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRole self=0x7fe803d36cd0 returning AXCell // role of second child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36d00 returning 0x7fe803d36190 // parent of
>> third child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRole self=0x7fe803d36d00 returning AXCell // role of third child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36d30 returning 0x7fe803d36190 // parent of
>> forth child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRole self=0x7fe803d36d30 returning AXCell // role of forth child
>> ditto for all 20 children
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d1ca20 returning 0x7fe803d36190 // parent of
>> first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRole self=0x7fe803d1ca20 returning AXCell // role of first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d1ca20 returning 0x7fe803d36190 // parent of
>> first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d1ca20 returning 0x7fe803d36190 // parent of
>> first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d1ca20 returning 0x7fe803d36190 // parent of
>> first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRole self=0x7fe803d1ca20 returning AXCell // role of first child
>> AXParent self=0x7fe803d1ca20 returning 0x7fe803d36190 // parent of
>> first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXTitle self=0x7fe803d1ca20 returning Row 1 // title of first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36cd0 returning 0x7fe803d36190 // parent of
>> second child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRole self=0x7fe803d36cd0 returning AXCell // role of second child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36cd0 returning 0x7fe803d36190 // parent of
>> second child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36cd0 returning 0x7fe803d36190 // parent of
>> second child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36d00 returning 0x7fe803d36190 // parent of
>> third child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36cd0 returning 0x7fe803d36190 // parent of
>> second child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRole self=0x7fe803d36cd0 returning AXCell // role of second child
>> AXParent self=0x7fe803d36cd0 returning 0x7fe803d36190 // parent of
>> second child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXTitle self=0x7fe803d36cd0 returning Row 2 // title of second child
>> same as above through row 20
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803e0e260 returning 0x7fe803d36190 // parent of last
>> child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRole self=0x7fe803e0e260 returning AXCell // role of last child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803e0e260 returning 0x7fe803d36190 // parent of last
>> child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803e0e260 returning 0x7fe803d36190 // parent of last
>> child
>> XParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> XParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803e0e260 returning 0x7fe803d36190 // parent of last
>> child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRole self=0x7fe803e0e260 returning AXCell // role of last child
>> AXParent self=0x7fe803e0e260 returning 0x7fe803d36190 // parent of last
>> child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXTitle self=0x7fe803e0e260 returning nil // title of last child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d1ca20 returning 0x7fe803d36190 // parent of
>> first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRole self=0x7fe803d1ca20 returning AXCell // role of first child
>> AXParent self=0x7fe803d1ca20 returning 0x7fe803d36190 // parent of
>> first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRoleDescription self=0x7fe803d1ca20 returning cell // role
>> description of first child
>> same through 20 role descriptions
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXRole self=0x7fe803d36190 returning: AXList
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXRole self=0x7fe803d36190 returning: AXList
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXRole self=0x7fe803d36190 returning: AXList
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXTitle self=0x7fe803d36190 returning: nil // title of list
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXParent self=0x7fe803d1ca20 returning 0x7fe803d36190 // parent of
>> first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36cd0 returning 0x7fe803d36190 // parent of
>> second child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36d00 returning 0x7fe803d36190 // parent of
>> third child
>> ditto through 20 children
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRole self=0x7fe803e0e260 returning AXCell // role of last child
>> AXParent self=0x7fe803e0e260 returning 0x7fe803d36190 // parent of last
>> child
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRoleDescription self=0x7fe803d1ca20 returning cell // role
>> description of first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXRole self=0x7fe803d36190 returning: AXList
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXRole self=0x7fe803d36190 returning: AXList
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXRole self=0x7fe803d36190 returning: AXList
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXTitle self=0x7fe803d36190 returning: nil
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXParent self=0x7fe803d1ca20 returning 0x7fe803d36190 // parent of
>> first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36cd0 returning 0x7fe803d36190 // parent of
>> second child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36d00 returning 0x7fe803d36190 // parent of
>> third child
>> ditto through 20 children
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXTitle self=0x7fe803d36190 returning: nil // title of list
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXParent self=0x7fe803d1ca20 returning 0x7fe803d36190 // parent of
>> first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRole self=0x7fe803d1ca20 returning AXCell // role of first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36cd0 returning 0x7fe803d36190 // parent of
>> second child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRole self=0x7fe803d36cd0 returning AXCell // role of second child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36d00 returning 0x7fe803d36190 // parent of
>> third child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRole self=0x7fe803d36d00 returning AXCell // role of third child
>> ditto through 20 children
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXParent self=0x7fe803d1ca20 returning 0x7fe803d36190 // parent of
>> first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRole self=0x7fe803d1ca20 returning AXCell // role of first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d1ca20 returning 0x7fe803d36190 // parent of
>> first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d1ca20 returning 0x7fe803d36190 // parent of
>> first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d1ca20 returning 0x7fe803d36190 // parent of
>> first child
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRole self=0x7fe803d1ca20 returning AXCell // role of first child
>> AXParent self=0x7fe803d1ca20 returning 0x7fe803d36190 // parent of
>> first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXTitle self=0x7fe803d1ca20 returning Row 1 // title of first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d1ca20 returning 0x7fe803d36190 // parent of
>> first child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRole self=0x7fe803d36cd0 returning AXCell // role of second child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36cd0 returning 0x7fe803d36190 // parent of
>> second child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36cd0 returning 0x7fe803d36190 // parent of
>> second child
>> XParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXParent self=0x7fe803d36cd0 returning 0x7fe803d36190 // parent of
>> second child
>> AXChildren self=0x7fe803d36190 returning as above
>> AXRole self=0x7fe803d36cd0 returning AXCell // role of second child
>> AXParent self=0x7fe803d36cd0 returning 0x7fe803d36190 // parent of
>> second child
>> AXParent self=0x7fe803d36190 returning 0x7fe803d35b70
>> AXChildren self=0x7fe803d36190 returning as above
>> AXTitle self=0x7fe803d36cd0 returning Row 2 // title of second child
>> ditto through 20 children
>> stopped the app somewhere in that loop; running too long
>>
>>
>>
>> ------------------------------
>>
>> _______________________________________________
>> Accessibility-dev mailing list
>> email@hidden
>> https://lists.apple.com/mailman/listinfo/accessibility-dev
>>
>> End of Accessibility-dev Digest, Vol 9, Issue 83
>> ************************************************
>
> _______________________________________________
> 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
_______________________________________________
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