VisibleChildren vs Children
VisibleChildren vs Children
- Subject: VisibleChildren vs Children
- From: iain <email@hidden>
- Date: Wed, 24 Oct 2018 15:35:33 +0100
Hi,
I’m trying to make a custom toolkit accessible. The way the toolkit works is
there is one NSView as a canvas, and the custom controls are drawn into that.
This works without any issues, but now I’m trying to integrate it into
NSAccessibility. Each custom control has an NSAccessibilityElement and I build
the accessibility tree as expected an put it into the canvas NSView’s
accessibilityChildren property.
But recently I’ve been hitting some performance issues on lists and tables,
things that would normally be handled by NSTableView/NSOutlineView. If a table
has 100,000 rows then we have performance issues creating all the
NSAccessibilityElements to populate the accessibilityChildren/Rows array, and I
was looking at how it was done on NSTableView. By subclassing an NSTableView I
can see that VoiceOver only calls accessibilityVisibleRows on NSTableView, but
even through my NSAccessibilityElement implements the NSAccessibilityTable
protocol and all its methods, VoiceOver always calls accessibilityChildren,
which causes all the rows to be created, even through most of them are scrolled
offscreen.
Is there something I’m missing being implemented or is this just how VoiceOver
handles NSAccessibilityElements? I implemented a bare bones test with just an
NSView containing an NSAccessibilityElement<NSAccessibilityTable> just make
sure it wasn’t something the custom canvas code was doing, but I get the same
behaviour. As soon as VoiceOver focuses the parent NSView, it requests the
accessibilityChildren from the NSAccessibilityElement.
thanks
iain
_______________________________________________
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