GNOME Bugzilla – Bug 382418
Orca should announce when you enter/leave a table in OOo Writer documents
Last modified: 2006-12-15 16:07:09 UTC
When you use the arrow keys to navigate within an OOo Writer document, you can enter or leave a table without realizing it. It would be helpful if Orca were to announce when one has entered or left a table. Suggested behavior: 1. When entering a table, Orca should announce the table dimensions. Something like "table with x columns and y rows." 2. When leaving a table, Orca should announce that the table has been exited. Something like "leaving table."
Good idea.
Created attachment 78329 [details] [review] First cut at a fix for this problem. Here's a first stab. I haven't checked yet to see if it's only confined to oowriter. I've got a feeling it might do the check for oocalc (and any other OOo application) as well. I'm not sure that's a bad thing. Comments? One problem I'm seeing at the moment is that it announces the table row/column totals for the first two lines as you enter a table from outside. I'll try to tighten this up tomorrow (if Joanie doesn't beat me to it ;-)
It looks like for some reason we're getting two object:state-changed:focused events at the top/bottom of tables: one with detail1 being 1 (upon entering the table); the other with detail1 being 0 (upon leaving the first row -- or the last row in the case of up arrowing from the bottom). The rest of the time, changing from one row to the next only results in a single object:state-changed:focused event (whose detail1 is 1). So, what about: if event.type == "object:state-changed:focused" and \ event.detail1 == 1: checkForTableBoundry(orca_state.locusOfFocus, event.source) That seems to solve the problem of it announcing the table info for the first two lines. As for it doing the check elsewhere, I noticed it gave that information for the table in the Document Recovery dialog. :-) I haven't yet decided if that additional information is a good thing or a bad thing. I'll keep playing with it and form an opinion. :-)
Okay, I'm leaning towards narrowing down the check. Case 1: When you are in Calc and get into the File menu, you're first told that you're leaving the table. When you exit the menu, you're given the (full) dimensions of the spreadsheet (i.e. 65,536 x 256). This information isn't necessary. Case 2: When you get into the OOo Open dialog and move focus to the table of files, you're given the dimensions. This isn't all that bad IMHO, but it means that the behavior in tables of files is inconsistent among apps. My 2 cents....
Thanks Joanie. I'll refine the patch tomorrow with your suggested change in comment #3, and to make sure that it only occurs in Writer. I also want to move the checkForTableBoundry() routine into the StarOffice class rather than have it as a global routine. More tomorrow.
Created attachment 78372 [details] [review] Revised version of the patch that will hopefully just affect Writer and only speak the entry once. I've gone ahead and checked this into CVS HEAD to make it easier to test. Joanie (and Mike) could you have at it please, before I close out the bug? Personally I think this is very nice.
Just gave it a try. It is indeed very nice! Thanks!!
This functionality seems to be working nicely. Closing as FIXED. Thanks.