GNOME Bugzilla – Bug 435833
Relation::getTarget should specify return as Accessible, not Object
Last modified: 2014-11-13 14:31:13 UTC
Here's the current documentation for the method: === begin doc === Object Accessibility::Relation::getTarget(in short index) Returns: an Object which is the 'nth'target of this Relation, e.g. the Object at index i in the list of Objects having the specified relationship to this Accessible. Note: This target should always implement Accessible, though it is returned as an Object. (In this respect this method is probably ill-specified.) === end doc === The doc itself admits the return type should always be an Accessible, not a plain Object. Is there are reason why we can't change the spec to fix this loop hole?
For some reason or other this seems to especially be a problem with Java's bridge. Is there any chance we could fix this?
Created attachment 99756 [details] [review] patch
What problem does Java's bridge have? Do we need a new bug for it?
Created attachment 99760 [details] [review] patch2
I just found that Accessibility_Accessible.idl has included Accessibility_Relation.idl. I think that's why getTarget doesn't return an Accessible.
I don't have a good fix about this bug. Any suggestion?
Created attachment 113345 [details] [review] Patch to narrow before ref'ing When working with JRadioButtons, I noticed the following Traceback in Orca:
+ Trace 201269
target.ref()
ref is part of the Bonobo_Unknown object. So...I think it might be necessary to do the narrow first. This patch does that and makes my woes go away.
Patch committed to trunk and gnome-2-22 branch. Thanks!
Will I believe this patch is responsible for a regression. When I use Orca to tab among items in the Pidgin preferences dialog, Orca speaks nothing. Prior to this check in, Orca speaks the objects as expected.
Created attachment 113489 [details] [review] Patch to narrow only if needed Here's a patch to narrow the accessible on if it's not an accessible. Tested with pidgin and SwingSet. Seems to work. Committed to trunk and branch.
[Resetting QA Contact to newly introduced "at-spi-maint@gnome.bugs". Reason: So far it was impossible to watch changes in at-spi bug reports without following all the specific persons (Li Yuan, Bill Haneman, Jeff Wai, ...) and also their activity outside of at-spi reports. IMPORTANT: Anyone interested in following all bug activity (including all maintainers) must watch the "at-spi-maint@gnome.bugs" dummy user by adding it to the 'Users to watch' list under Preferences->Email preferences. This is also the default procedure nowadays in GNOME when setting up new products.]
[Mass-resetting default assignee, see bug 705890. Please reclaim this bug report by setting the assignee to yourself if you still plan to work on this. Thanks!]
I'm going to go ahead and close this because it concerns a very old version and it seems to have committed patches which suggests the problem was fixed at the time and somebody forgot to close the bug. Feel free to open a new bug if the problem persists.