GNOME Bugzilla – Bug 546277
[pending] Traceback when accessing "User Privileges" tab of "Account Properties" dialog of "User Settings"
Last modified: 2009-03-10 00:05:28 UTC
When attempting to navigate the list of checkboxes in the "User Privileges" tab of the "Account Properties" dialog of the "User Settings" application (users-admin), we see these Tracebacks and nothing is presented: Traceback (most recent call last):
+ Trace 204568
s.processObjectEvent(event)
self.listeners[key](event)
orca.setLocusOfFocus(event, child)
orca_state.locusOfFocus)
newLocusOfFocus)
self.updateBraille(newLocusOfFocus)
result = self.brailleGenerator.getBrailleRegions(obj)
result = generator(obj)
self._getBrailleRegionsForTableCell(cell)
self._getBrailleRegionsForTableCell(obj[i])
table = obj.parent.queryTable()
raise NotImplementedError NotImplementedError
The problem seems to be an assumption that we're in a table cell in braillegenerator.py:_getBrailleRegionsForTableCell. Instead, we're in a table cell that is in a table cell that is in a table.
Created attachment 115852 [details] [review] Patch to try/except check for table This patch solves the problem and gets the table speaking again. However, it doesn't catch the hypothetical case where we have a cell nested within a hierarchy of cells within a table and we want to read the header. I'm thinking it's OK to not try to handle that case until we run into a real use case. Please test!
Hi Will, Indeed it works well with the patch, thank you, one comment though, (probably not our fault), but tabbing to get from checkbox to another does not work. Probably because we are within a table? The arrow keys allows us to move between the checkboxes.
s+arrow keys+up/down+g :)
> Indeed it works well with the patch, thank you, Thank *you*! Committed based upon your testing. You're awesome. > not our fault), but tabbing to get from checkbox to another does not work. > Probably because we are within a table? The arrow keys allows us to move > between the checkboxes. Yeah - this is needed whether you're using Orca or not. It's most likely because it is in a table. :-(