It's confusing the cache if things doesn't happen in the expected order. We handle the children by emitting the children-changed signals. When the children count is set in the cache by AddAccessible signal or as a response to GetItems, atspi sets the accessible children vector size to the given value. If children-changed:add is emitted after that, it's considered a new child and the children vector grows. So, we end up with the double of children, but half of them are just null.
Created attachment 450117 [details] Patch
Comment on attachment 450117 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=450117&action=review > Source/WebCore/ChangeLog:8 > + It's confusing the cache if things doesn't happen in the expected order. We handle the children by emitting the s/doesn't happen/don't happen/
Committed r288726 (246519@trunk): <https://commits.webkit.org/246519@trunk>