Apache OpenOffice (AOO) Bugzilla – Issue 93269
[a11y] caret-moved and focused events initially missing
Last modified: 2013-08-07 14:44:00 UTC
Steps to reproduce: 1. Launch OOo Dev 300 m29 or m30 2. Start Writer by choosing Text Document 3. Open the (to be) attached test case, and: 4. Don't click on anything! :-) (Sometimes it makes the bug go away). 5. Press Down Arrow (and only Down Arrow) to begin moving through the text and table (don't leave the table as you arrow) Expected results: object:text-caret-moved and object:state-changed:focused events would be emitted both for paragraphs giving up focus AND for paragraphs gaining focus. Actual results: the expected events are emitted just for the paragraphs giving up focus. (Here's where things get more interesting) 6. Within the table, press Up Arrow a few times. Then press Down Arrow. Notice that the expected events are present for Up Arrow and suddenly present when you Down Arrow. 7. Right Arrow to move to the next column. Repeat steps 5 and 6. Initially the events are missing when you press Down Arrow for the new column. But up arrow within that column and then the correct events are subsequently emitted for that column when you press Down Arrow. This is a regression. It wasn't present in 2.4, nor am I seeing it in m26. I don't have m27 or m28, but it's definitely present in m29 and m30. Thanks!
Created attachment 56099 [details] test case
OOo 3.2
@OD: as described. The first "down arrowings" don't send all events. After "up" it works. Tested in OOO310m3
defect cause found: OOo's ATK bridge does not initially listens to all objects. When an object gets the focus and submits a corresponding focus-changed event. A job is queued to listen to this object in the future. Unfortunately, this job is performed after the caret-moved event is submitted. Thus, the caret-moved event is lost for a certain AT tool.
fixed in cws swa11y32 - changed file: /vcl/unx/gtk/a11y/atkutil.cxx, rev. 271421 solution: after the job for the focus event has been performed and the focus event is emitted it is also emitted an object:text-caret-moved event, if the cursor is inside the text object, for which the focus event is emitted.
correction of fix needed - changed file: /vcl/unx/gtk/a11y/atkutil.cxx, rev. 272283
OD->ES: Checked in internal installation set of cws swa11y32_2nd - please verify
Using the swa11y32_2nd_en-US_SolarisIntel.tar file Thomas Lange made for me (300m51(Build:9408)[CWS:swa11y32_2nd]), the Orca team has noticed the expected caret-moved events are present; the object:state-changed:focused events (detail1 == 1) are still initially missing. As described in the opening comment, if you up arrow in the table and then down arrow, the events suddenly start appearing. This continues to be true for the focused events. So...I think this bug needs to be reopened. :-(
CCed: od
OD->williewalker: You are right. Somehow I have overlooked that object:state-changed:focused are also needed to be submitted. --> reopening this issue.
Fix is in progress in cws swa11y32_2nd
taking over
fix for emitting missing object:state-changed:focused event in cws swa11y32_2nd - changed file: /vcl/unx/gtk/a11y/atkutil.cxx, rev. 274924
OD->ES: Checked the adjusted fix in cws swa11y32_2nd - please verify.
Verified in CWS swa11y32_2nd
Fixed and integrated => closing now..