GNOME Bugzilla – Bug 319675
default.py: AT-SPI spec child ID uniquesness problem.
Last modified: 2006-09-06 20:32:46 UTC
src/orca/a11y.py:__init__: the AT-SPI spec is ambiguous about the behavior of a child of a parent that manages descendants. Need to determine if we should be getting unique IDs for the same object or if they can actually change. This also is handled in src/orca/default.py:locusOfFocusChanged.
We followed up with the AT-SPI maintainers. We aren't guaranteed to get the same accessible object for the same child of an object that manages its descendants. We need to work up a better way to determine the identity/sameness/uniqueness of these kinds of children. The current approach is to compare the parent, the index in parent, and the accessible name. If they are all the same, we say the children are the same. This breaks in things like file viewers viewing multiple levels of directories where each directory only has one entry. The way this is done is that the list (the parent that manages its descendants) showing the contents of the directory is reused. Thus, the parent remains the same (it is the list), the index of the child remains the same even if it is a different child (it is the first element in the list), and we find that the accessible name for both is None. Thus, we think different children are the same. This needs fixing.
One possible way to uniquely differentiate two such similar children, is to also factor in the depth of the child from the top of the component hierarchy.
I think the problem is that this is the same list whose contents are changing to reflect the contents of a directory. Thus, even though we're seeing a logical change in depth in file views, the depth in the list is going to be the same.
See also http://bugzilla.gnome.org/show_bug.cgi?id=350739 - it's fixes may fix this.
Closing as a duplicate, against an actual instance of this problem. *** This bug has been marked as a duplicate of 347691 ***