| Summary: |
Orca does not always give the correct output when navigating the eclipse project explorer tree. |
| Product: |
[Eclipse Project] Platform
|
Reporter: |
jose vilmar estacio de souza <vilmar> |
| Component: |
SWT | Assignee: |
Platform-SWT-Inbox <platform-swt-inbox> |
| Status: |
CLOSED
WORKSFORME
|
QA Contact: |
|
| Severity: |
normal
|
|
|
| Priority: |
P3
|
CC: |
eclipse.felipe, ericwill, Silenio_Quarti
|
| Version: |
4.0 | Keywords: |
accessibility, triaged |
| Target Milestone: |
--- | |
|
| Hardware: |
PC | |
|
| OS: |
Linux | |
|
| See Also: |
https://bugzilla.gnome.org/show_bug.cgi?id=525316
|
| Whiteboard: |
|
Build Identifier: 20100617-1415 When navegating in the project explorer or in the package explorer, orca sometimes does not speak the name of the item correctly. It seems the problem happens when the item being shown is two levels below the item shown above. Reproducible: Always Steps to Reproduce: 1. With orca active launch eclipse and choose an empty workspace. 2. Create two projects named p1 and p2. 3. In the project p2 create a class named T1 in the default package. 4. Go to the package explorer and use the keyboard to expands all items until you find the class created in the step 3. 5. Press the down key. Orca should read JRE system library but instead orca reads p1. Orca uses the event "object:active-descendant-changed" to announce the item and seems that something is wrong with this object. In the end of this message there is a python script to demonstrate. Launch the script, execute the steps 4 and 5, and inspect the output of the script. The python script. #!/usr/bin/python import pyatspi def blah(event): activeDescendant = event.any_data parentTable = event.source.queryTable() index = activeDescendant.getIndexInParent() row = parentTable.getRowAtIndex(index) col = parentTable.getColumnAtIndex(index) print "Descendant with index %d is at (%d, %d)" % (index, row, col) cell = parentTable.getAccessibleAt(row, col) cellIndex = cell.getIndexInParent() if cellIndex != index: print "ERROR: wrong child returned. Index should be %d; got: %d" % \ (index, cellIndex) pyatspi.Registry.registerEventListener(blah, "object:active-descendant-changed") pyatspi.Registry.start()