After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 620331 - Structural navigation objects should be navigable by a "list of" dialog
Structural navigation objects should be navigable by a "list of" dialog
Status: RESOLVED DUPLICATE of bug 690395
Product: orca
Classification: Applications
Component: general
2.31.x
Other All
: Normal enhancement
: ---
Assigned To: Orca Maintainers
Orca Maintainers
post-3.0
Depends on:
Blocks: 404403
 
 
Reported: 2010-06-02 06:19 UTC by Hammer Attila
Modified: 2012-12-18 06:59 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Implementation of the navigation window (17.49 KB, patch)
2010-09-05 19:47 UTC, Marcus Habermehl (BMH1980)
none Details | Review
0002 (4.22 KB, patch)
2010-09-06 10:19 UTC, Marcus Habermehl (BMH1980)
none Details | Review
Fixing column order and adding lists to form entries (2.36 KB, patch)
2010-09-06 22:48 UTC, Marcus Habermehl (BMH1980)
none Details | Review
Joined patch with containing some fixes (18.96 KB, patch)
2010-09-07 08:24 UTC, Hammer Attila
none Details | Review
Joined patch of all changes (18.71 KB, patch)
2010-09-07 15:16 UTC, Marcus Habermehl (BMH1980)
none Details | Review
Add support for structural navigation by list. (19.38 KB, patch)
2010-09-08 22:27 UTC, Marcus Habermehl (BMH1980)
none Details | Review
Debug.out with possible show a problem (291.71 KB, application/octet-stream)
2010-09-09 06:07 UTC, Hammer Attila
  Details
Fix Jose suggested problem (19.44 KB, patch)
2010-09-09 13:20 UTC, Hammer Attila
none Details | Review
Version with 3 lists (20.23 KB, patch)
2010-09-10 18:58 UTC, Marcus Habermehl (BMH1980)
none Details | Review
Patch for 3 lists with fixes (19.27 KB, patch)
2010-09-11 03:15 UTC, Marcus Habermehl (BMH1980)
none Details | Review
Patch for 3 lists with fixes (19.60 KB, patch)
2010-09-11 22:17 UTC, Marcus Habermehl (BMH1980)
none Details | Review
Supporting HTML navigation by 3 lists and one treeview. (26.34 KB, patch)
2010-09-12 17:53 UTC, Marcus Habermehl (BMH1980)
none Details | Review
A fix with potfiles.in (410 bytes, patch)
2010-09-13 05:45 UTC, Hammer Attila
none Details | Review
Fixed version (26.35 KB, patch)
2010-09-13 08:16 UTC, Marcus Habermehl (BMH1980)
none Details | Review
With removed whitespaces (26.34 KB, patch)
2010-09-13 14:15 UTC, Marcus Habermehl (BMH1980)
none Details | Review
This is a test webpage with image links (265 bytes, text/html)
2010-09-17 07:23 UTC, Hammer Attila
  Details
Joined patch with separate check boxes and radio buttons state messages in form field list part (27.02 KB, patch)
2010-09-18 05:46 UTC, Hammer Attila
none Details | Review
New patch version (30.08 KB, patch)
2010-10-07 20:48 UTC, Marcus Habermehl (BMH1980)
none Details | Review
Fixed patch (30.83 KB, patch)
2010-10-09 11:24 UTC, Marcus Habermehl (BMH1980)
none Details | Review
Really fixed patch (30.81 KB, patch)
2010-10-09 15:18 UTC, Marcus Habermehl (BMH1980)
none Details | Review
Debug.out with shows some traceback error messages (95.67 KB, application/octet-stream)
2010-10-10 06:10 UTC, Hammer Attila
  Details
Next one (32.50 KB, patch)
2010-10-10 10:42 UTC, Marcus Habermehl (BMH1980)
none Details | Review
Faster version (30.79 KB, patch)
2010-10-11 20:32 UTC, Marcus Habermehl (BMH1980)
none Details | Review
Debug file with possible show an interesting problem (101.95 KB, application/octet-stream)
2010-10-12 05:00 UTC, Hammer Attila
  Details
Headings fixed (32.55 KB, patch)
2010-10-12 08:15 UTC, Marcus Habermehl (BMH1980)
none Details | Review
This is a links list Firefox extension screen shot (181.58 KB, image/png)
2010-10-12 11:07 UTC, Hammer Attila
  Details
Debug.out file when I using Links List old Firefox extension (58.37 KB, application/octet-stream)
2010-10-12 11:43 UTC, Hammer Attila
  Details
Patch with filtering (33.78 KB, patch)
2010-10-12 21:22 UTC, Marcus Habermehl (BMH1980)
none Details | Review
Demonstrate the simple search operation without filter edit box (155.26 KB, application/octet-stream)
2010-10-13 05:28 UTC, Hammer Attila
  Details
Patch with first entry selected and filter entry above the object list (33.89 KB, patch)
2010-10-13 13:18 UTC, Marcus Habermehl (BMH1980)
none Details | Review
This debug.out possible show the problem with I prewious described (926.17 KB, application/octet-stream)
2010-10-13 14:02 UTC, Hammer Attila
  Details
Supporting HTML navigation by 3 lists and 1 treeview. (30.96 KB, patch)
2010-10-17 12:20 UTC, Marcus Habermehl (BMH1980)
none Details | Review
Supporting HTML navigation by 3 lists and 1 treeview. (32.42 KB, patch)
2010-10-20 09:41 UTC, Marcus Habermehl (BMH1980)
none Details | Review
Debug.out with shows a Thunderbird related problem (141.30 KB, application/octet-stream)
2010-10-21 04:40 UTC, Hammer Attila
  Details
Patch with fix for Thunderbird (32.90 KB, patch)
2010-10-21 09:17 UTC, Marcus Habermehl (BMH1980)
none Details | Review
Debug file with show Thunderbird related problem (154.28 KB, application/octet-stream)
2010-10-22 05:18 UTC, Hammer Attila
  Details
Rewritten patch with some changes and new features (47.90 KB, patch)
2011-01-12 20:49 UTC, Marcus Habermehl (BMH1980)
none Details | Review
Modifyed joined patch with based Marcus last attached revision (48.10 KB, patch)
2011-01-13 06:16 UTC, Hammer Attila
none Details | Review
Second revision with based Marcus sent patch (48.50 KB, patch)
2011-01-13 10:02 UTC, Hammer Attila
none Details | Review
Third revision with based on Marcus morning sent patch (48.70 KB, patch)
2011-01-13 10:45 UTC, Hammer Attila
none Details | Review
New patch version (53.78 KB, patch)
2011-01-19 01:00 UTC, Marcus Habermehl (BMH1980)
none Details | Review
New patch (75.10 KB, patch)
2011-02-08 20:20 UTC, Marcus Habermehl (BMH1980)
none Details | Review
This is the GNOME3 master branch compatible patch (76.29 KB, patch)
2011-09-27 12:30 UTC, Hammer Attila
none Details | Review
Patch for Orca/GNOME/Gtk 3 (73.18 KB, patch)
2011-09-30 07:14 UTC, Marcus Habermehl (BMH1980)
none Details | Review

Description Hammer Attila 2010-06-02 06:19:23 UTC
Dear Developers,

I think since two or three years ago, Rich Caloggero developed a Links List and Headings list extension with Firefox, oldest time this extension is very popular with Orca users. Unfortunately, this extension development is stopped, for example the headings list extension is not working with Firefox 3.6.x series.
Lot of time Orca users search this extensions with Orca mailing list.
Longer time, not possible do similar builtin function in Orca with lists two keystroke the lists and headings, and if the user choose a link or heading a list, do following actions, depending with the list type:
1. If the user choose a heading with the list, jumps the caret with choosed heading, similar with structural navigation mehanism if the user press 2 to jump next 2. heading level.
2. If the user choose a link with list, open the choosed link.

This feature working description in this bugreport is very easy, but I don't no technical possible do this feature builtin with Orca or not, not resulting this feature very slow list generation in Firefox and Orca working?
Absolute sure if technical possible do this feature in Orca next or next+1 version, this feature are very popular with Orca users.
If technical possible do this feature, important both the speech and braille output in the lists.
Unfortunately my technical knowledge is not enough now to working this feature, but I welcome help testing if anybody possible do this feature.

Attila
Comment 1 Joanmarie Diggs (IRC: joanie) 2010-06-02 17:05:04 UTC
Attila, for what it's worth, Will Walker and Mike Pedersen thought we should not include this feature in Orca. I always thought we should. Now that they're gone and I'm in charge.... <huge grin>

A couple of years ago, as an experiment, I basically had implemented this feature in my local environment. The problem, at least at the time, is that if we do it through AT-SPI and the page is really big, it can take *forever* to build up the list. :-(

However, there have since been changes and bug fixes in the Collections interface. And maybe we could consider doing this via the DOM instead.... Although, really, what I'd like to see is a solution by which any structural navigation object in any application could be listed.
Comment 2 Hammer Attila 2010-06-03 08:01:05 UTC
Hy Joanie,

Yes, I fraid little this problem, because unfortunately biggest page now producing little slow list generation with Links List extension in Firefox too.
Your oldest implementation with your local system how works prewious?
You would like separate list generations for example popular structural nabigation objects (links list, headings list, form fields list)?
I think this three list generation is more enough, because this three type lists do common always used task operations.
Possible little stupid ydea, possible impossible to do or unneed to do, but what happen if we store an opened page listed objects with a temporary file for example inside the .orca directory? If the page is not changed (not opened a new page the user between two list generations, enough to process the stored file). Possible this is little fastest the second list generation when the first list generation operation is processed important objects. For example, if the Firefox application title is changed, lot of time meaning the user opened a new page (for example now my Firefox title containing this bug open title). When I will be send this comment, the title is change. Or, possible enough to look what showing the HTML title field.
But, this is possible very unneed ydea, I don't no how can possible implementing this function with purpose the possible fastest list generation operation.
For example, now the Firefox links list and Headings list result speed is following, this page now this bugzilla page containing 59 links:
When I press Ctrl+Shift+l key, three or four second later the links list is present the screen, for example this extension always generated again the list if the user press Ctrl+Shift+l key combination.
in live.gnome.org/Orca main page, the Links List extension generating the list I think five second, this main page containing 95 links.
For example, in live.gnome.org/Orca website, the headings list extension generating headings list 1 second, Orca main page containing 11 headings.

If possible this feature anyway in future builtin with Orca, absolute useful feature, not depending the list generation speed.

Attila
Comment 3 Joanmarie Diggs (IRC: joanie) 2010-07-05 02:45:50 UTC
(3.0 Planning Spam-o-rama. Sorry!)
Comment 4 Joanmarie Diggs (IRC: joanie) 2010-07-05 15:00:29 UTC
I really want to look at doing something here, but given everything else on the to-do list, non-critical Gecko bugs are going to have to wait until after 3.0, unless someone volunteers to do them.

If no one volunteers, I'll look at picking this one back up after 3.0.
Comment 5 Hammer Attila 2010-07-07 07:28:36 UTC
Joanie, in Orca level, what the best method to list for example the links or headings when need generating the future list?
For example, if I look how works now the structural navigation code for example to determining what the next heading when the user press h key, this is help me in future with learning purpose?
Unfortunately, I absolute not known now Orca structural navigation working method and how Orca communicate with Firefox now, I am very fraid not I am a best person with possible do now this feature before UI freeze, because I think remaining very short time. But, longer time, very interesting me this code working method.
Comment 6 Marcus Habermehl (BMH1980) 2010-09-05 19:47:22 UTC
Created attachment 169521 [details] [review]
Implementation of the navigation window
Comment 7 Marcus Habermehl (BMH1980) 2010-09-05 19:47:41 UTC
As I told on orca-list yesterday, I have written a script to implement this list (as treeview).

But one thing I can't solve. If you press Enter on a heading entry Firefox should focus the heading on the page.

That's working. But after this I doesn't get any response in speech or braille on navigation.

Maybe you know how to solve this problem.

The git patch is attached.
Comment 8 Hammer Attila 2010-09-06 05:51:04 UTC
Marcus, when I open Html Object Navigator with following website, some heading levels are Orca spokened with unnamed label. The website is following, please test:
http://vakbarat.index.hu

Attila
Comment 9 Hammer Attila 2010-09-06 06:17:52 UTC
Marcus, I have got a question when I browsing form fields:
Why using this feature different role name translations with Orca role name translations? This feature what place get role names translated strings? For example, if have the list an edit box, I hear "bejegyzés" word after control value, not "szerkesztőmező" word. Another example, if the list have some buttons, I hear "nyomógomb" word after value spokened (for example commit nyomógomb), not "commit gomb". Not possible replace this last entryes with Orca general role name translations? This now used mehanishm is possible disturb non english language users, because some controls are translated differently with Orca general used translated control names and resulting different terminology.
Possible solving this? For example, I not found "nyomógomb", "bejegyzés", "legördülődoboz" words in Orca translation, but this feature using this translations, possible get this role name informations with external translated system component. Orca spokening for example "bejegyzés" word with edit boxes, spokening "nyomógomb" word when have buttons in a list, and spokening "legördülődoboz" if have a list a combo box or a drop down list if I using this feature. In Orca general translation, button are translated "gomb", edit box translated "szerkesztőmező", and combo box and drop down list translated "kombinált listamező" words in hungarian translation.

Attila
Comment 10 Hammer Attila 2010-09-06 06:42:02 UTC
Marcus, unfortunately following string are not show translated format if I using hungarian language the HTML Object Navigator feature with Orca when I browsing heading levels:
#: ../src/orca/html_object_navigator.py:267
#, python-format
msgid "level %s"
msgstr "%s szint"

I hear for example "level 1", "level 2" final words.

Attila
Comment 11 Marcus Habermehl (BMH1980) 2010-09-06 10:18:31 UTC
I attached a second patch that fixes this things from the first one.

The "Unnamed" headings were headings with childs. Now the name of the childs is used as name for the headings.

The different translations came from pyatspi. I was using the getLocalizedRoleName method. Now I'm using the braille translation. But I think they are sometimes confusing. Text instead of entry, as example.

The translation problem with the heading level should be fixed, too.
Comment 12 Marcus Habermehl (BMH1980) 2010-09-06 10:19:16 UTC
Created attachment 169557 [details] [review]
0002
Comment 13 Hammer Attila 2010-09-06 12:01:28 UTC
Marcus, if a heading level link have the list, and I browsing this headings and activate this headings with Enter key, not opened the new selected document.
For example, lot of heading level links are have with vakbarat.index.hu website.
In future, possible solving this issue? All you doed prewious fixes with 0002 revision is working fine now.
One suggestion: In form field list part, not possible replace the order with following the combo box roles:
1. Label.
2. Value.
3. Role name.
For example, if you open this bugreport, you see now what look up the three column if a list have combo box, for example:
1. Column: Product (this is the label).
2. Column: combo box (this is the role name).
3. Column: Orca (this is the combo box value).
When I jumping direct with form fields with Orca +Tab key, Orca spokening this combo box example with following order:
Product: Orca combo box
Comment 14 Marcus Habermehl (BMH1980) 2010-09-06 22:48:02 UTC
Created attachment 169627 [details] [review]
Fixing column order and adding lists to form entries
Comment 15 Marcus Habermehl (BMH1980) 2010-09-06 22:48:20 UTC
The order I have changed. I've used the order from JAWS and hadn't the speach order of Orca in mind.

I'm not sure if I understand you correctly with the headers.

* Webpage has a heading that's containing a link foo to bar.com
* You press Enter on the heading 'foo' in the Navigator window
* The link will be activated an Firefox is going to bar.com

Do you mean something like this?

If so, I think this isn't a good idea. When selecting a heading in the list and suddenly landed on another page, that would be very confusing. Therefore, the link entries are there. While headings are there for structuring and navigation.
Comment 16 Hammer Attila 2010-09-07 05:00:38 UTC
Marcus, you are understand right.
When you navigating heading levels a webpage with h or shift+h keys, and if you found a heading level link and press enter key, the new link is opened. Because happening this operation with this situation, I request this mehanishm with HTML object navigator feature if this is possible. But if your openion and Joanie openion this is not good ydea with HTML object navigator feature, I full agree.

Just a moment, I look new rewision.
Comment 17 Hammer Attila 2010-09-07 05:14:21 UTC
Marcus, in form field list part, need correct following role names informations if this is possible:
With check boxes, now the HTML Object Navigator function using following order:
1. Label.
2. State (checked or unchecked)
3. Role name (check box).
With this form field type, Orca using following order:
1. Label.
2. Role name (check box).
3. State (checked or unchecked).

In combo boxes, the order is perfect now, but very need the "selected" text with second column? Not always selected the combo boxes actual choosed item?

I see an interesting problem, but unable to reproduce always:
Some time when I use this function, Orca not always spokening actual table row, spokening only actual column. The table cell reading preference my machine is row (spokening entire table cell row, not actual cell only). Do you known why happening this some time?
Comment 18 Hammer Attila 2010-09-07 08:24:30 UTC
Created attachment 169653 [details] [review]
Joined patch with containing some fixes

Marcus, if you not engry me and if not matter, I doed a joined patch with containing all your doed changes, this patch apply is easyest for beginner testers.
Because my patch containing two fixes only, I wroted you what can I do if you not want apply my joined patch (you not need apply this patch if you not want do a git reset --hard command):
In src/orca/html_object_navigator.py file I insert following lines with end of __init method:
        #Need notify the user need wayt the HTML objects detection time before GUI window is displayed.
        message=_("Please wayt, HTML objects detecting in progress...")
        orca.speech.speak(message)

I doed this notification message because I see some complex webpages with navigation object detection is relative long time (about 10-20 sec). This message notify the user don't need worry, the HTML object detection is running. :-):-)

In src/orca/structural_navigation.py file I fix a letter mistake with HTML Object Navigator learning mode message. Original code with containing the mistake message is following:
        self.inputEventHandlers["showHtmlObjectNavigator"] = \
            input_event.InputEventHandler(
                self.showHtmlObjectNavigator,
                _("Open the HTML Object Naviagor."))

I fix only the Naviagor word with Navigator word.

Attila
Comment 19 Marcus Habermehl (BMH1980) 2010-09-07 12:33:14 UTC
Before I create a new patch, there is something about the form field order.

I have created a test page with many form fields and used Orca+Tab to know what Orca is speaking. And I must hear that the order isn't unitary.

Should I still use Orcas order?

This is spoken by Orca on the different fields:

ROLE_CHECK_BOX: name role status
ROLE_COMBO_BOX: name content role
ROLE_ENTRY: name role content
ROLE_PASSWORD: name role content
ROLE_PUSH_BUTTON: name content role
ROLE_RADIO_BUTTON: name status role

I think it would be better if the order would be the same.

Or is this more a question for orca-list?
Comment 20 Joanmarie Diggs (IRC: joanie) 2010-09-07 12:44:32 UTC
Personally, I agree with you about the order. Back when we had a UI guy (the same one who said we should not have this dialog box you're working on. ;-) ), he declared that the above would be the order. Drives me nuts w.r.t. combo boxes because you don't know where the label stops and the combo box contents begin. Whilst one can alter the order via custom formatting strings, I think the default should be as you describe.

Anyhoo, yes, that would be a question for the orca-list. Thanks!
Comment 21 Hammer Attila 2010-09-07 13:18:54 UTC
Personaly, I better prefer Orca specific speech order with form fields (default formatting string order with src/orca/formatting.py), this is very good and equals Marcus wroted orders with form fields I think.

The purpose if possible not have differences if the user using Orca+Tab and Orca+Shift+Tab key to look form fields with a webpage or using HTML navigation feature both two speech output with information order.

Orca-list question is a very good ydea.

Attila
Comment 22 Marcus Habermehl (BMH1980) 2010-09-07 15:15:44 UTC
I now have adjusted the list so that it corresponds to the speech.

The text of "selected" I have removed.

Attila, your changes I have taken in my new patch. The notification I have changed a bit.

The order can be changed later, after discussion on the list, I think.
Comment 23 Marcus Habermehl (BMH1980) 2010-09-07 15:16:46 UTC
Created attachment 169677 [details] [review]
Joined patch of all changes
Comment 24 Hammer Attila 2010-09-07 15:34:55 UTC
Marcus, now form field list is perfect (check box order), I tested with this bugzilla webpage. You are change the order? This is very good now.
Following form field objects the HTML Object Navigator speech output is equals Orca normal navigation spokened text (Orca+Tab key):
Edit box, button, Check box, Combo box.

Thank you the fixes with you doed, and thank you my notification message correction.

Attila
Comment 25 Hammer Attila 2010-09-08 04:28:01 UTC
Marcus, if I activating HTML Object Navigator window and a webpage have form fields, headings or links, the tree table main elements (form fields, headings, links) are closed tree views. This is good.
But, if not have for example form fields, headings or links a webpage, not possible hidden this elements the GUI window with not containing navigable items?
For example, if a webpage not have headings, enough to present the closed form fields and links treeview main elements with first table. Possible fix this? This is resulting quickest handle with this feature I think.

Another suggestion with main elements:
Now Orca does'nt spokening tutorial messages with main closed or opened treeview element (headings, formfields, and links items) if tutorial messages feature is enabled. Possible fix this if this is need?
For example I known I need open a closed tree view with Shift+Right arrow key combination, and if I need close main tree view, need using Shift+Left arrow key, but if not have a tutorial message, beginner user possible try open the closed tree view with right arrow key. Right arrow key is go to the second column with the table, and this column is blank now if the main tree view is closed.
Comment 26 Paul Hunt 2010-09-08 13:25:42 UTC
Hi,

Orca seems to be messing up the child count for the number of form fields/headings/links.  If I expand the tree view on one of them, Orca correctly announces the number of child elements in the tree.  But if I then arrow down through say 5 of them, then go back to the top level of the tree, Orca now says there are 5 items... and if I go back in and arrow down through 6 of them, Orca says there are 6 items...
Comment 27 Jose Vilmar Estacio de Souza 2010-09-08 15:10:27 UTC
Hi.
Nice job.
I've a small suggestion.
It would be possible to omit empty elements in the list? If for example the page has no heads, the list could omit the headings tree.
Comment 28 Jose Vilmar Estacio de Souza 2010-09-08 15:27:30 UTC
(In reply to comment #26)
> Hi,
> 
> Orca seems to be messing up the child count for the number of form
> fields/headings/links.  If I expand the tree view on one of them, Orca
> correctly announces the number of child elements in the tree.  But if I then
> arrow down through say 5 of them, then go back to the top level of the tree,
> Orca now says there are 5 items... and if I go back in and arrow down through 6
> of them, Orca says there are 6 items...

Although I was unable to play using the form fields, I got using the links.
Comment 29 Hammer Attila 2010-09-08 16:20:24 UTC
Jose, I full agree your request. I wroted in comment #25 with following, but not full right english:
"But, if not have for example form fields, headings or links a webpage, not
possible hidden this elements the GUI window with not containing navigable
items?
For example, if a webpage not have headings, enough to present the closed form
fields and links treeview main elements with first table. Possible fix this?
This is resulting quickest handle with this feature I think."
This is equals your request?

Attila


Another suggestion with main elements:
Comment 30 Jose Vilmar Estacio de Souza 2010-09-08 17:03:35 UTC
(In reply to comment #29)
> Jose, I full agree your request. I wroted in comment #25 with following, but
> not full right english:
My English is not very good, I am from Brazil and we speak Portuguese.
> "But, if not have for example form fields, headings or links a webpage, not
> possible hidden this elements the GUI window with not containing navigable
> items?
> For example, if a webpage not have headings, enough to present the closed form
> fields and links treeview main elements with first table. Possible fix this?
> This is resulting quickest handle with this feature I think."
> This is equals your request?
> 
Yes, exactly.
Comment 31 Jose Vilmar Estacio de Souza 2010-09-08 18:59:24 UTC
When I go to http://live.gnome.org/Orca/Roadmap
I can not access headings using html object navigator.
The tree with the heads are shown, I can expand using shift+right, but when I press enter in a head, orca does not jump to the correct place.
Am I doing something wrong?
Comment 32 Jose Vilmar Estacio de Souza 2010-09-08 19:09:25 UTC
One thing that needs attention.
Suppose the following:
1. Go to a page like www.google.com
2. Press orca_key+w
3. Switch to firefox pressing alt+tab and open another page like bugzilla.gnome.org
4. Switch to html object navigator pressing alt+tab, expand forms and press enter in the search field.

Since the current page in firefox is not google, orca jumps to a wrong place.

Perhaps orca could detect that a new page was loaded and then close the html object navigator or reload it.
Comment 33 Marcus Habermehl (BMH1980) 2010-09-08 22:27:08 UTC
Created attachment 169810 [details] [review]
Add support for structural navigation by list.
Comment 34 Marcus Habermehl (BMH1980) 2010-09-08 22:27:36 UTC
Uh, so many comments. :-) I hope I don't forget one.

(In reply to comment #24)
> You are change the order?

Yes, I have used the order that is spoken.

(In reply to comment #25 and #27)
> Marcus, if I activating HTML Object Navigator window and a webpage have form
> fields, headings or links, the tree table main elements (form fields, headings,
> links) are closed tree views. This is good.
> But, if not have for example form fields, headings or links a webpage, not
> possible hidden this elements the GUI window with not containing navigable
> items?

Empty elements are now hidden.

(In reply to comment #25)
> Now Orca does'nt spokening tutorial messages with main closed or opened
> treeview element (headings, formfields, and links items) if tutorial messages
> feature is enabled. Possible fix this if this is need?

That's strange. Here Orca is speaking the tutorial messages. Does you get error
messages from Orca on terminal?

(In reply to comment #26)
> Orca seems to be messing up the child count for the number of form
> fields/headings/links.  If I expand the tree view on one of them, Orca
> correctly announces the number of child elements in the tree.  But if I then
> arrow down through say 5 of them, then go back to the top level of the tree,
> Orca now says there are 5 items... and if I go back in and arrow down through 6
> of them, Orca says there are 6 items...

Here's the same. This messages are coming from another Orca script. Do you know
if this problem appears in other applications or dialogs, too?

(In reply to comment #31)
> I can not access headings using html object navigator.

Yes, that's correct. See comment #7 I don't know why. I hope that an Orca devel
has a solution.

As I understood Orca/at-spi my code should work. There must be something that I
have misunderstood. :-(

(In reply to comment #32)
> Perhaps orca could detect that a new page was loaded and then close the html
> object navigator or reload it.

If the Navigator lost its focus, the window will be destroyed, now. That is,
what JAWS on Windows is doing. Else every page must be loaded twice. By the
browser and by the Navigator. Even if you want use the Navigator on a page.
Comment 35 Hammer Attila 2010-09-09 05:49:54 UTC
Marcus, thank you the fixes.
Now tutorial messages are spokened with closed and opened main tree views. You do a this related fix, or prewious possible have temporary problem my development system?

Attila
Comment 36 Hammer Attila 2010-09-09 06:07:31 UTC
Created attachment 169828 [details]
Debug.out with possible show a problem

Marcus, when I list headings at http://vakbarat.index.hu webpage, Orca does'nt spokened all columns when I opened the headings tree view and navigate headings with down arrow key. I attached a debug.out file, Orca only spokened heading text. When Orca spokened first heading text, after heading text, spokened the tree level 2 string (I don't no this is the right english message translation with this text), because I using hungarian language translation with Orca.

When I go to columns with left and right arrow keys, I see all columns. First column right the heading text, and second column right the heading level (level %s string with the translation file).

Why happening this? You have got any ydea?

Attila
Comment 37 Hammer Attila 2010-09-09 06:15:01 UTC
Marcus, I have got a little suggestion, I don't no anybody agree?
Not possible to go focus the first awailable closed tree view element when the user activate the HTML Object Navigator feature? Now, when GUI window is displayed when I listing HTML objects with bugzilla webpage, the first awailable links closed tree view control is not focused and not spokened. This first control are focused only if I press a down arrow key.

Attila
Comment 38 Jose Vilmar Estacio de Souza 2010-09-09 09:49:59 UTC
I'd like to suggest that the message
"Please wait while HTML objects are collected."
was spoken using the voice system.
Comment 39 Hammer Attila 2010-09-09 10:51:00 UTC
Oh, Jose, you are absolute right. This message does'nt present the screen.
When I do my the first message related patch, I using orca.speech.speak method, and Marcus corrected my english message. Unfortunately we forgot the system message voice feature with "virtual" messages.

Now how need switch the voice person before I would like spokening a message? Possible you wrote an example?

Attila
Comment 40 Hammer Attila 2010-09-09 11:18:19 UTC
Marcus, what mean following commit message with last attached revision?
The message is following:
"Add support for structural navigation by list."

Now this revision have a possibility to collect form fields, links and headings with three single list if the user want?
What choosed and prefer the community in Orca list? Now when I activating HTML Object navigator function have closed treeviews with links, headings and forms. My personaly openion, this is very good ydea I think because possible browse all object with one place. For example, I very like this mode. But I have two questions:
1. I no, Jaws have three possibilities to list links, headings and forns with different list. Nvda what method use? I newer try NVDA with this related, and doesn't matter if we following another way. :-):-)
2. Some webpages the HTML object collecting operation is relative slow unfortunately, this is not your mistake, about 10-20 sec with very complex webpages. If we do with have user possibility to ask only forms, headings or links list with user purpose, and keep now doed your implemented feature with one object possibility, we not do fastest performance with single lists? Or this is impossible technical now? So, my comment mean both two mode awailable in future if this feature better performance produced with single lists. If the HTML collecting speed fasting is impossible, does'nt need do this step I think.

Thoughts?

Attila
Comment 41 Jose Vilmar Estacio de Souza 2010-09-09 12:42:28 UTC
(In reply to comment #39)
> Now how need switch the voice person before I would like spokening a message?
> Possible you wrote an example?
> 
> Attila

        orca.speech.speak(_("Please wait while HTML objects are collected."), 
             orca.settings.voices.get(orca.settings.SYSTEM_VOICE))

I don't know if it's the best way, but it works.
Comment 42 Hammer Attila 2010-09-09 13:20:46 UTC
Created attachment 169851 [details] [review]
Fix Jose suggested problem

Jose, done. Please test. Now HTML collection notification is spokened the system voice.

Please be careful, I doed joined patch for beginner users purpose to easyest the testing. If this is not need, please write and I only send always the change patch only.

Attila
Comment 43 Jose Vilmar Estacio de Souza 2010-09-09 13:47:07 UTC
(In reply to comment #42)
> Created an attachment (id=169851) [details] [review]
> Fix Jose suggested problem
> 
> Jose, done. Please test. Now HTML collection notification is spokened the
> system voice.
Well done.
Works like a charm, Thanks.
Comment 44 Marcus Habermehl (BMH1980) 2010-09-10 18:58:33 UTC
Created attachment 169983 [details] [review]
Version with 3 lists
Comment 45 Marcus Habermehl (BMH1980) 2010-09-10 19:03:45 UTC
Okay, I have attached a patch that use 3 lists, instead of 1 tree. The keybindings maybe are bad. But for testing they should be usable.

Now, Orca is notifying the user, if no objects of the requested type are found.

@Attila:
I know the problem, that Orca doesn't speak columns that aren't visible. If you make the window bigger, Orca is speaking the whole row. Maybe this is because how Orca is collecting this informations.
Comment 46 Hammer Attila 2010-09-11 03:15:48 UTC
Marcus, thanks the new attachment, I testing when I go to home.

Ok, I understand now why not spokened all columns with prewious revisions with some situations, thanks your answer. Doesn't solve the problem if present the gui window with default maximized state?

Attila
Comment 47 Marcus Habermehl (BMH1980) 2010-09-11 03:15:50 UTC
Created attachment 170004 [details] [review]
Patch for 3 lists with fixes

Here is a new patch for the 3-lists-variant. This patch contains some fixes.

Because of the new notify if searched objects aren't found you have to press the key binding twice. This is fixed in this patch.

Not visible columns aren't spoken. This is fixed by using a single column for all informations, instead of 3 different columns. Now the whole row is spoken.

The dialog seems to be a bit faster, after removing the tests if the dialog already exists. Since the dialog is destroyed if its lost the focus, this tests aren't required.
Comment 48 Marcus Habermehl (BMH1980) 2010-09-11 03:19:04 UTC
(In reply to comment #46)
> Marcus, thanks the new attachment, I testing when I go to home.
> 
> Ok, I understand now why not spokened all columns with prewious revisions with
> some situations, thanks your answer. Doesn't solve the problem if present the
> gui window with default maximized state?

That's depending on the screen resolution and the required width for the label. There will be ever situations where some columns aren't shown. Because of this I'm putting all informations into a single column, now.

JAWS and NVDA seems to do this the same way. So why Orca not, if it is working? :-)
Comment 49 Hammer Attila 2010-09-11 15:58:15 UTC
Marcus, the new three list mode function is fantastic. For example, I now ask only form fields list with this bugzilla page, the list is present my screen about 4 sec later after I muted notification message. Congratulation you! I think we do maximum performance speed now with this feature with complex webpages. Not complex webpages every list is present very fast.

I have got a question and I welcome doing following fix if ewerybody want:
Ewerybody accept following final shortcut suggestions with this tree list:
Orca+f7: links list.
Orca+F6: headings list.
Orca+F5: form fields list.
This shortcuts are simple press I think both two Orca keyboard layout.
Or anybody have another shortcut suggestions?

I found another interesting problem with possible need fixing with headings list:
For example the http://akadalymentes.sg.hu webpage containg heading level links. When I ask links list, I wonderful possible open this links and present new webpage if I select a link with list and press enter key, this is absolute not matter and working full right. When I ask headings list, this heading level link texts are presented, but if I select any heading level link and press Enter key, the new webpage is not opened. Not need enabling this style heading level links automaticaly opening if the user ask headings list? For example, if future the heading focusing and navigation operation is working right, if the new webpage not opening automaticaly if the user choosed a heading level link with headings list, need press two enter key. First enter key focusing the new heading level link, and second enter key opening this new linked webpage.
For example, Headings List Firefox extension does'nt opening automaticaly this heading level links. I think Jaws does'nt opening automaticaly this heading level links if the user ask headings list and choosed a heading level link with list the Enter key, only put the focus the new heading level link. I don't no Nvda how works with this related.
I don't no we what better choose. We follow this standard way mode with headings list if a heading level is a heading level link, or we follow another way with possible simplest with users? This problem is need fixing?
If everybody openion we not need fixing this problem, I full agree
If not need fixing this working method with headings list, only need fixing future the headings list focusing working method if an experienced developer answer Marcus question with top of comments. Form fields list is working right, links list is working right. Every string are translatable. Only need add some translator notes with translatable strings, Marcus, if you want, I welcome do bot two fix (shortcuts modifications and add translator notes).

Attila
Comment 50 Jose Vilmar Estacio de Souza 2010-09-11 16:52:42 UTC
(In reply to comment #47)
> Created an attachment (id=170004) [details] [review]
> Patch for 3 lists with fixes
> 
> Here is a new patch for the 3-lists-variant. This patch contains some fixes.
> 
> Because of the new notify if searched objects aren't found you have to press
> the key binding twice. This is fixed in this patch.
> 
> Not visible columns aren't spoken. This is fixed by using a single column for
> all informations, instead of 3 different columns. Now the whole row is spoken.
> 
> The dialog seems to be a bit faster, after removing the tests if the dialog
> already exists. Since the dialog is destroyed if its lost the focus, this tests
> aren't required.

You need to import the debug module since you have the following line in the code:
            debug.printException(debug.LEVEL_FINEST)

I liked the old way, when the elements were placed in a tree.
1: Only one key to remember.
2: All the elements at hand.
3: The tree tells me how many elements each node has.
Now I don't know for example how many links the page has.
Comment 51 Marcus Habermehl (BMH1980) 2010-09-11 22:17:15 UTC
Created attachment 170047 [details] [review]
 Patch for 3 lists with fixes

(In reply to comment #49)

> I have got a question and I welcome doing following fix if ewerybody want:
> Ewerybody accept following final shortcut suggestions with this tree list:
> Orca+f7: links list.
> Orca+F6: headings list.
> Orca+F5: form fields list.
> This shortcuts are simple press I think both two Orca keyboard layout.

But not usable. Orca+F1 till Orca+F9 are used already by the Gecko script. Something with chat messages and dynamic region or so.

> Or anybody have another shortcut suggestions?

I prefer such a  F5 - F7 solution. As you said, it's easy to use. Because the Orca+F# are already in use we could use Orca+Ctrl+F#.

What do you think about this bindings?

> I found another interesting problem with possible need fixing with headings
> list:
> For example the http://akadalymentes.sg.hu webpage containg heading level
> links. When I ask links list, I wonderful possible open this links and present
> new webpage if I select a link with list and press enter key, this is absolute
> not matter and working full right. When I ask headings list, this heading level
> link texts are presented, but if I select any heading level link and press
> Enter key, the new webpage is not opened. Not need enabling this style heading
> level links automaticaly opening if the user ask headings list? For example, if
> future the heading focusing and navigation operation is working right, if the
> new webpage not opening automaticaly if the user choosed a heading level link
> with headings list, need press two enter key. First enter key focusing the new
> heading level link, and second enter key opening this new linked webpage.

That could be useful if you know that the heading is a link. But if you know this, I think you would use the link list. And if you would not know that the heading is a link, you would be confused if you are suddenly on another site.

> For example, Headings List Firefox extension does'nt opening automaticaly this
> heading level links. I think Jaws does'nt opening automaticaly this heading
> level links if the user ask headings list and choosed a heading level link with
> list the Enter key, only put the focus the new heading level link. I don't no
> Nvda how works with this related.
> I don't no we what better choose. We follow this standard way mode with
> headings list if a heading level is a heading level link, or we follow another
> way with possible simplest with users? This problem is need fixing?

Neither JAWS nor NVDA are following links in headings. And Orca doesn't do this, too. I mean, if you press 'h'. In that case you have press 'h' and 'Enter'.

> If everybody openion we not need fixing this problem, I full agree
> If not need fixing this working method with headings list, only need fixing
> future the headings list focusing working method if an experienced developer
> answer Marcus question with top of comments.

I'm not blind and I don't know what's really better for a blind. But I'm thinking that the heading list should jump to headings only. If not, what do you do if you really want to got to a heading?

> Form fields list is working right,
> links list is working right. Every string are translatable. Only need add some
> translator notes with translatable strings, Marcus, if you want, I welcome do
> bot two fix (shortcuts modifications and add translator notes).

The keybindings I have changed in the new patch. Because of the missing 'import debug' line and another fix for Jose.

@Jose:

I have changed back the liststore to a treestore with one expander. Now you get the count of objects spoken. Have a look and tell me what you think.
Comment 52 Jose Vilmar Estacio de Souza 2010-09-12 00:39:30 UTC
(In reply to comment #51)
> 
> @Jose:
> 
> I have changed back the liststore to a treestore with one expander. Now you get
> the count of objects spoken. Have a look and tell me what you think.

Nice, although the count sometimes are wrongly spoken.
Sorry to be boring, but I still prefer the way it was originally implemented.
Comment 53 Marcus Habermehl (BMH1980) 2010-09-12 01:24:48 UTC
I really don't know why. Could there be a problem in the Orca function/method that detects the count?

It's not a big problem to implement both ways. The differences in the code is very few.

Okay, I will create a new patch.

Orca+Ctrl+F5: List with form fields (like the previous, not the last one)
Orca+Ctrl+F6: List with headings (like the previous, not the last one)
Orca+Ctrl+F7: List with links (like the previous, not the last one)
Orca+Ctrl+F8: Tree with all three types (like the first one)

Any other wishes or suggestions?

Because of the missing count in lists, I will check the function/method that is detecting the count for trees. Maybe I can duplicate it for lists.

And I will have a look onto the code for the tree object count. But I can't make a pledge.

@Attila:
What translator notes I should add? That's not my subject (is this right? I mean, I'm not good with this). :-) If I create a new patch I can add this notes. So we can avoid an extra patch.
Comment 54 Jose Vilmar Estacio de Souza 2010-09-12 02:34:34 UTC
(In reply to comment #53)
> I really don't know why. Could there be a problem in the Orca function/method
> that detects the count?
> 
I'm not sure, but I think I've seen this same kind of problem in other areas.
> It's not a big problem to implement both ways. The differences in the code is
> very few.
> 
> Okay, I will create a new patch.
> 
> Orca+Ctrl+F5: List with form fields (like the previous, not the last one)
> Orca+Ctrl+F6: List with headings (like the previous, not the last one)
> Orca+Ctrl+F7: List with links (like the previous, not the last one)
> Orca+Ctrl+F8: Tree with all three types (like the first one)
> 
Great! Thanks.
> Any other wishes or suggestions?
> 
Since you asked, what about creating a separate message for each element type to be shown? When user press for example ctrl+f5 orca could read something like:
Please wait while form fields are collected
Comment 55 Hammer Attila 2010-09-12 06:05:11 UTC
Marcus, following translatable messages are possible need translator notes:
#: ../src/orca/html_object_list.py:84
msgid "List of form fields"
For message possible translator notes with this message is following:
# Translators: this is the form field list dialog title.
# This dialog are present if the user press an Orca shortcut key with an opened
# webpage.
# If this feature are activated a shortcut, Orca collecting awailable form
# fields with a single column list.
#

#: ../src/orca/html_object_list.py:89
msgid "No form fields found."
This message translator note is following for example:
# Translators: if a user request form fields list with a webpage and not have #
# form fields, Orca notify the user.
#
But I think this is not need, because this message is absolute understable.

#: ../src/orca/html_object_list.py:91
msgid "List of headings"
Similar with form fields list title translator note message.

#: ../src/orca/html_object_list.py:95
msgid "List of links"
Similar with form fields list title translator note.

#: ../src/orca/html_object_list.py:264
msgid "Unnamed"
Well, need write translator note when Orca using this string with this features. What headings, links are get this label? Image links, or another elements with are not have textual descriptions?

#: ../src/orca/html_object_list.py:289
#, python-format
msgid "level %s"
This is understable with experienced translators (this is meaning heading level), but need a little translator note for beginner translators I think. I using equals hungarian translator message with heading level string (for example Orca present 1. címsorszint with hungarian language).

#: ../src/orca/html_object_list.py:292
msgid "visited"
This is an interesting message. I no this is mean a visited link of course. Possible need a translator note for example following:
# Translators: this string means a visited link when user ask links list.
#
Note: not better "visited link" word? Or this two word result longest output with not fit the screen with some situations? I am unfortunately not see the screen. :-(:-(

#: ../src/orca/html_object_list.py:294
msgid "unvisited"
Same as prewious translatable message and question (replace unvisited link).

#: ../src/orca/structural_navigation.py:597
msgid "Open a list with form fields."
Possible need for example following translator note:
# Translators: when user activate a shortcut with form fields list function,
# Orca presenting form fields list with a webpage.
#

#: ../src/orca/structural_navigation.py:602
msgid "Open a list with headings."
Same as prewious.

#: ../src/orca/structural_navigation.py:607
msgid "Open a list with links."
Same as form fields list learning mode message translator note.

If my english example translator notes is not correct, please correct.
This translator notes usual easyest Orca translators work, if a translator for example not known detailed Orca, only translating Orca messages, or easyest translator work if have a not always understable translation message if the translator doesn't notify the new implemented function.

Very important, this translator notes need add before the marked translated message code, with writed example sintax (need the hass marks and spaces).
If you do this fix when working another fixes with this feature, very thank you. But, if you not have time to do this notes because you working another features etc, I welcome do this translator note completion if you attached new modifyed patch and write corrected english language translator note messages, because my english is not always good.

Future shortcuts:
Orca+Ctrl+ variant: good I thinkboth desktop and laptop layout, not resulting extra difficult phisical keypress with hands, I tested laptop keybinding and tryed desktop keyboard layout if I using normal Insert key, not numerical. Numerical insert Orca+Ctrl keypress is difficulter my hand. :-(:-(
But I think when we using firefox or Thunderbird with Orca, the normal Orca+f5 etc combinations are not reserved, only Orca+F11 and Orca+F12. If you open for example Firefox Or Thunderbird, and activate Orca learning mode with Orca+H key, easy verify this. I verifyed. Or have have another Gecko script use application with reserwing this keystrokes, I not known any application, but possible I known wrong and accept.
You wroted I think Pidgin for example with reserved shortcuts or dinamic regions. Pidgin are you absolute right (Orca+f1... Orca+f6), but I think this feature not working with Pidgin. Dinamic range keystrokes is not Orca+1... Orca+6 normal numbers?
But, if we need absolute safe and compatible the keystrokes, I welcome accept Orca+Ctrl variant shortcut keys.

Attila

Attila
Comment 56 Marcus Habermehl (BMH1980) 2010-09-12 17:53:41 UTC
Created attachment 170089 [details] [review]
Supporting HTML navigation by 3 lists and one treeview.

Here is the new patch.

@Jose:
I have create 4 different "wait" messages for all 4 modes.

@Attila:
The translator notes I have added. Hopefully they are okay.

The Orca+F# keybindings are defined in toolkits/Gecko/keymaps.py. Maybe they are only activated if there are such live regions.
Comment 57 Jose Vilmar Estacio de Souza 2010-09-12 18:44:24 UTC
(In reply to comment #56)
> Created an attachment (id=170089) [details] [review]
> Supporting HTML navigation by 3 lists and one treeview.
> 
> Here is the new patch.
> 
> @Jose:
> I have create 4 different "wait" messages for all 4 modes.
> 
Something wrong, When I press orca_key+ctrl+f7, f6, f5 or f8, nothing happens.
Am I doing something wrong?
Comment 58 Marcus Habermehl (BMH1980) 2010-09-12 19:30:38 UTC
(In reply to comment #57)
> (In reply to comment #56)
> > Created an attachment (id=170089) [details] [review] [details] [review]
> > Supporting HTML navigation by 3 lists and one treeview.
> > 
> > Here is the new patch.
> > 
> > @Jose:
> > I have create 4 different "wait" messages for all 4 modes.
> > 
> Something wrong, When I press orca_key+ctrl+f7, f6, f5 or f8, nothing happens.
> Am I doing something wrong?

That's strange. Here all 4 lists are working correct. Do you get speak "Please wait while <something> are collected."?
Comment 59 Hammer Attila 2010-09-13 05:45:25 UTC
Created attachment 170116 [details] [review]
A fix with potfiles.in

Marcus, I doed a fix with po/POTFILES.in, but now I not doed joined patch.
When I ran intltool-update hu command with orca/po directory, I get an error message, intltool doesn't found html-object-navigator.py file, because the right filename is src/orca/html_object_navigator.py).
This patch hopefuly fix this problem, because after this modification I see new translatable messages with hu.po file after intltool-update hu command ran right.
Thank you the translator notes, very perfect.

I have got a question with I would like ask fix suggestions:
How can possible only three list mode awailable my machine, and doesn't changed notification messages with new patch style? I doed following commands, but not help:
1. I navigate the orca source tree and do a git reset --hard command.
2. I make clean command, and do make uninstall command.
3. I remove unneed prewious revision files.
4. I applied your last revision patch, not see any error messages.
5. I doed po/POTFILES.in modification, and translated missing messages.
6. In toplevel source tree directory I ran autogen.sh, make, and make install command.
7. I restarted Orca.
What can I forgotted?

Very interesting, I prewious customized the testing shortcut keys with three list with Orca+F5... Orca+F7 shortcuts. This shortcuts are working right, but if I known right, the shortcuts are changed with Orca+Ctrl variant. I not see the treeview style possibility with Orca keybindings when I launched Firefox and press Orca+Ctrl+space key combination, only see three simple list possibility. Perhaps need cleaning my mozilla.py file with Orca preferences directory?

Attila
Comment 60 Hammer Attila 2010-09-13 06:53:29 UTC
Well, I not understand. I downloaded again entire clean Orca source tree structure, and I applied last patch. I not see changes my system. The prewious test shortcuts are setted up after I clean my Mozilla.py (Orca+a, Orca+g and Orca+r). The applied patch is containing Orca+Ctrl style variant, and src/orca/structural_navigation.py file containing right Marcus defined shortcuts (Orca+Ctrl+F5, Orca+Ctrl+F6, Orca+Ctrl+F7 and Orca+Ctrl+F8). Jose, if I remember right you wroted nothing happen when you activate this shortcuts, what shortcuts are presenting you when launch Firefox and activating Orca Application preferences?

Attila
Comment 61 Marcus Habermehl (BMH1980) 2010-09-13 08:16:27 UTC
Created attachment 170117 [details] [review]
Fixed version

The wrong file name in POTFILES.in has to be orca-html-object-navigator.ui, not html-object-navigator.py.

And in Makefile.am was a '\' missing. This could be the reason of your problem. Here not all py files was installed because of this.
Comment 62 Hammer Attila 2010-09-13 08:45:25 UTC
Thank you the fix, now works all change right.

Attila
Comment 63 Jose Vilmar Estacio de Souza 2010-09-13 10:09:10 UTC
(In reply to comment #61)
> Created an attachment (id=170117) [details] [review]
> Fixed version
> 
> The wrong file name in POTFILES.in has to be orca-html-object-navigator.ui, not
> html-object-navigator.py.
> 
> And in Makefile.am was a '\' missing. This could be the reason of your problem.
> Here not all py files was installed because of this.

Marcus, works perfectly, thanks.
When the patch was applied, git advised me about a line with witespace.
warning: 1 line adds whitespace errors.
Comment 64 Marcus Habermehl (BMH1980) 2010-09-13 14:15:43 UTC
Created attachment 170151 [details] [review]
With removed whitespaces

Here the whitespaces are removed. Really, I have to search an editor that removes whitespaces on saving.
Comment 65 Hammer Attila 2010-09-14 06:08:00 UTC
Marcus, if you have a little time, please look following webpage:
http://ingatlan.com/komarom.php
When I ask form fields list, some form fields element have get wrong "unnamed" label, or an invalid label. If you see the screen after opening this webpage and not listing form fields, all items have normal labels. The form fields list function part why not get this labels?
For example the "értékesítés típusa" combo box label is "Értékesítés típusa:", but the list column have the "névtelen" label (unnamed translated with hungarian language the névtelen word).
Next comment I send a screen shot when the form fields list is present, please compare this screenshot and normal webpage seed labels and values.
Possible fix this?
If you need more informations or help, I welcome try help.

Attila
Comment 66 Hammer Attila 2010-09-14 06:10:08 UTC
Unfortunately I unable to send screen shot, because I press Printscreen key, the form fields list window is closed.

Attila
Comment 67 Marcus Habermehl (BMH1980) 2010-09-14 12:06:46 UTC
Attila, that's the problem. They haven't real labels. Form fields should have a name or title attribute in HTML. But on this site they haven't or have wrong content in the name/title attribute.

From the Web Content Accessibility Guildelines (WCAG) 2.0 of the W3C:

1.1.1 Non-text Content: All non-text content that is presented to the user has a text alternative that serves the equivalent purpose, except for the situations listed below. (Level A)

 * Controls, Input: If non-text content is a control or accepts user input, then it has a name that describes its purpose. (Refer to Guideline 4.1 for additional requirements for controls and content that accepts user input.)

4.1.2 Name, Role, Value: For all user interface components (including but not limited to: form elements, links and components generated by scripts), the name and role can be programmatically determined; states, properties, and values that can be set by the user can be programmatically set; and notification of changes to these items is available to user agents, including assistive technologies. (Level A)

Okay, JAWS on Windows can handle such wrong form fields. But that a guesswork. You can't know if the previous text is 'really' a label for the form field or not.

As example:

[Text] This was a nice weekend.
[Input for searching]

JAWS will show you an input field for text with the label "This was a nice weekend.". And you don't know if what purpose this input field has.
Comment 68 Hammer Attila 2010-09-14 12:29:54 UTC
Marcus, thank you the answer, I understand now. But you don't no, why spokening Orca right textual informations with this form fields if I jumps form field elements with Orca+Tab or Orca+Shift+Tab key, and why show full different label some elements the form fields list feature in this webpage?
For example, when I jump form fields the prewious I wroted webpage, I hear right "Értékesítés típusa:" and "Ingatlan típusa:" combo box label texts. When I navigating Orca+Tab or Orca+Shift+Tab key the prewious I wroted webpage, all form field labels are right spokened with normal textual description (with presenting the screen).

You have got an ydea how can possible result form fields list feature part always equals good textual labels with Orca form field jump function spokened textual labels?
For example, I see similar problem when I would like report a bug with bugzilla.gnome.org (for example Orca section), when I ask form field lists when I choosed desktop and Orca part. The form fields feature don't spokening if I remember right the "Component:", "version:" labels, but Orca form field jump function spokening this labels always right.

Attila

Attila
Comment 69 Marcus Habermehl (BMH1980) 2010-09-16 09:18:34 UTC
I'm thinking Orca is reading the line. I haven't found a hint for this in the code.

At the moment I can't find a way to get correct labels.

If ALL form fields are structured like [label] [field] it's no problem. As example the site you told. There are 3 check boxes. On the screen they are looking like [field] [label]. But they are written completely different.

The first one results in this accessible objects:
[Table]
    [List item]
        [Table cell]
            [Check box] name: és környéke
        [Table cell]
            [Label] content: és környéke

The second one results in this accessible objects:
[Section] content: Keresés az egész Dunántúlon
    [Check box]

The third one results in this accessible objects:
[Section]
    [Section]
        [Check box]
    [Section] content: Csak képes hirdetést!

And this is an example with check boxes only. Nobody can know what the label is. The previous or the following text. And sometimes form fields haven't a label.

I can't understand why this webpage is so different written. There are two ways how the name for a form field can easy determined.

1. with the 'title' attribute of a form field.
2. with the 'label' tag, its 'for' attribute and the 'id' attribute of a form field.

The first check box as example is using the second method.

I will try to find a solution for this. But the problem is, from Monday on I haven't www access for ca. 3 weeks.

An easier solution (for me ;-) ) would be, if you ask the webmaster to make the site accessible. Just my experience, you can reach so much. :-( It's like programs. You can't force anyone to do so. And it would solve only this page. I'm sure that there is yet more of this kind.
Comment 70 Marcus Habermehl (BMH1980) 2010-09-16 09:21:31 UTC
Eh, maybe I'm wrong about the second way to determine the label. Have to check this.
Comment 71 Hammer Attila 2010-09-16 11:06:07 UTC
Marcus, thank you your answer, very interesting.
Unfortunately, usual webpage accessibility requests is a very low priority with existing webpages in Hungary. The web developers not always looks he's or she's created vebpages with accessibility criterias and W3c standards. This webpage is relative  accessible with Orca normal form field operations.

If you possible found a way to solving this form field listing difference problem, I thank you very mutch. When I read your prewious comments, all you determined objects are resulted good informations, but I haven't got any ydea how can possible get form field listing function right informations with this not right designed webpages. Another interesting question is bugzilla new bug report form fields difference with Orca normal form field jump operation and form fields list function. For example, the bugzilla report a new bug page part have similar you detected  problems, equals my prewious linked webpage? So, the form field listing function get wrong informations because not right the form object design in bugzilla?

Good luck,

Attila
Comment 72 Hammer Attila 2010-09-17 06:43:38 UTC
Marcus, in http://vakbarat.index.hu webpage have some links in links list function parts, with get now the "unnamed" label. For example now this links is image links. I verifyed what list with links list Firefox extension, and this image links have a label (possible only Links List Firefox extension generated label). Possible the alt field is not filled right?
When I selected this links text with Shift+down arrow key, I see following texts:
"Bódi SylviHCI: 67   Helyezés 23.
Terry BlackHCI: 55   Helyezés 80.
Halász GáborHCI: 26   Helyezés 597."
When I jumps normal way with Orca the  links with Tab key, I hear following texts, all new line means a next Tab key press:
"bodi_silvi image link
bódi Silvi link
terry_black image link
Terry Black link
halasz_gabor image link
Halász Gábor link"

Possible do any fix this problem with links list part, or this is impossible determining what the correct text with this image links? If this image links is not have alt field filled, not possible returned only Orca returned string (for example bodi_silvi image link)?
Now, links list part how can determine an image link text?

Attila
Comment 73 Hammer Attila 2010-09-17 07:23:28 UTC
Created attachment 170463 [details]
This is a test webpage with image links

Marcus, Because you wroted you not have www access if I remember right with three weeks, I created a little test page. I hope coding right the webpage structure, because I newer create image links containing pages.
This is a test webpage only, but I hope right demonstrating the problem with image links with links list part. The image files not exists, because I not have any images now with possible insert, and szilvi.html is not exists.
The first image link I filled the alt field, this link is presenting full right the links list function, get correct the alt field text.
The second image link I not filled the alt field, when I jumping the links with Orca general structural navigation commands (u, Shift+u, Tab or Shift+Tab key), I hear right textual informations with all links, not "unnamed" text. This second missing alt field link get "unnamed" label with links list function.

I hope little help you this test page.
If you need more test or help, please write next comment and I try help, because I have www access with full time.

Attila
Comment 74 Marcus Habermehl (BMH1980) 2010-09-17 21:00:59 UTC
It's nice, but it wasn't necessary to create a test page. I have saved some pages local.

The main page and 'Enter bug' of bugzilla.gnome.org, google.de an the both mentioned by you.

So I can test my changes with more than one page.

Can you check some other pages for problems? Then I can save them, too.

Normally I have full www access, too. But on Monday I remove and the provider hasn't enough resources to enable the connection in the new flat. Because of this I have to wait 3 weeks. :-(
Comment 75 Hammer Attila 2010-09-18 05:46:08 UTC
Created attachment 170525 [details] [review]
Joined patch with separate check boxes and radio buttons state messages in form field list part

Marcus, if not matter, I doed a joined patch and do following fix with form field list part:
- Separated messages for check boxes and radiobuttons states, now radiobuttons state messages are equals with Orca spokened form field navigation messages (selected/not selected).
Prewious revisions the radio buttons state messages is checked and not checked in form fields list window (handle state messages with one messages both two controls), but Orca normal form field list navigation operation using different text with spokening radio button states with normal structural navigation operations.

Now this problem is fixed, I checked this with www.oc.hu webpage, this webpage have two radio buttons.

Attila
Comment 76 Marcus Habermehl (BMH1980) 2010-10-07 20:48:27 UTC
Created attachment 171926 [details] [review]
New patch version

Okay. Now I'm back on the www and with a new patch. ;-)

2, maybe 3 good and 1 bad news.

1) At the moment the label problem seems to be fixed. At the moment I can't find missing labels.

2) The list seems to be faster. I think! :-)

3) On my last test orca was jumping to the headings. But the headings were links. So I'm not sure if this problem is really solved.

The bad thing is, I'm not sure if the patch is applicable. :-( I don't know how, but I have lost an important patch. But I'm hoping that I haven't make a mistake on restoring the lost diffs. Please try the patch.
Comment 77 Jose Vilmar Estacio de Souza 2010-10-08 00:22:06 UTC
Patch applied and problems found!
When I press orca+ctrl+f8, I hear the message "Please wait while HTML objects are collected.".
After a while I hear "No headings found." and nothing is shown.
Comment 78 Hammer Attila 2010-10-08 04:43:18 UTC
Jose, I confirm your problem.
For example the http://vakbarat.index.hu webpage if I press Orca+Ctrl+F8 key I hear "No form fields" message. After this, HTML object navigator window is not presenting the screen.
Single Form fields list, headings list, and links list are presenting right the screen.
When I using headings list with this webpage, if I choosing a heading and press Enter key, impossible to navigate the cursor keys after I choosed the heading.
You confirm this?

I looked the form fields list part with this bugzilla page. The label fix is good, except following controls:
Status combo box, I hear only the : character before the value =unconfirmed).
Importance combo box, I hear only the normal enhancement value.

I don't remember prewious revisions how many second generated the single form fields list with this webpage, now this generation time is 11 second.

Removed following string with translation, now this string are present the screen with english language for example the http://oc.hu webpage if I listing form fields:
msgid "Unnamed"
For example the oc.hu webpage have an unlabelled edit box with get "unnamed" label value. Simple open this webpage and ask form fields list to verify.

Another removed string, I don't no this is important or not:
msgid "No HTML objects found."
Comment 79 Hammer Attila 2010-10-08 05:10:15 UTC
If I opening http://origo.hu/hirmondo webpage and press Orca+Ctrl+F8 key, I hear following messages:
No form fields.
No headings.
After this messages spokening, HTML object navigator window is not presenting the screen with only links tree.

Attila
Comment 80 Marcus Habermehl (BMH1980) 2010-10-08 08:16:39 UTC
Sorry, I've forgett to test F8. :-/

(In reply to comment #78)
> When I using headings list with this webpage, if I choosing a heading and press
> Enter key, impossible to navigate the cursor keys after I choosed the heading.
> You confirm this?

Okay, so this isn't solved. That's too bad!

> I looked the form fields list part with this bugzilla page. The label fix is
> good, except following controls:
> Status combo box, I hear only the : character before the value =unconfirmed).
> Importance combo box, I hear only the normal enhancement value.

Can you tell me the bugzilla page? I've tested https://bugzilla.gnome.org/query.cgi?format=advanced. There are 2 missing labels. GNOME Version and GNOME Target.

> Removed following string with translation, now this string are present the
> screen with english language for example the http://oc.hu webpage if I listing
> form fields:
> msgid "Unnamed"
> For example the oc.hu webpage have an unlabelled edit box with get "unnamed"
> label value. Simple open this webpage and ask form fields list to verify.

Ah, yes. For testing I haven't used translable strings and for "Unnamed" I have forgett to make it translatable. Sorry.

> Another removed string, I don't no this is important or not:
> msgid "No HTML objects found."

Yes, this was removed. Now you will informed separatly for form fields, headings and links. Or do you think that isn't a good idea?
Comment 81 Hammer Attila 2010-10-08 09:04:12 UTC
Marcus, thank you the answers.
My answers your questions:
When I testing form field labels in bugzilla, I opening simple this bug report link, and press Orca+Ctrl+F5 key.
Of course if a webpage not have form fields, headings or links, separated different notification messages are absolute good ydea, similar with prewious revisions. This is OK for Orca+Ctrl+F5, Orca+Ctrl+F6, and Orca+Ctrl+F7 key combinations generated lists, don't need changing anything with this code parts with this function related.
The problem is following now:
When now we using Orca+Ctrl+F8 key combination (HTML Object Navigator window), and not have for example only form fields or headings, or both form fields and headings, Orca spokening the one or two used notification messages (No form fields found. No headings found.).
Prewious rewisions does'nt spokening any notification if the testers using the HTML Object Navigator treeview style function (Orca+Ctrl+F8 combination), simple skyp missing objects with the generated tree view.
If you fix this problem only HTML Object Navigator function, don't need enable again the second removed message (No HTML Objects found message), because this message is newer spokened I think (I newer see a webpage with not have both form fields, headings and links).
Possible spokened this message only a very extreeme situation, for example if the user direct opening a simple text file with Firefox. :-):-)
You test what happening this situation with four generated list? If need, I testing this with a simple .txt file.

Attila
Comment 82 Marcus Habermehl (BMH1980) 2010-10-09 11:24:19 UTC
Created attachment 172001 [details] [review]
Fixed patch

This patch re-adds the "No HTML objects found." message if there aren't headings, links nor form fields.

The "Unnamed" string is translatable again.

And I have fixed an exception and have done some cleanings.

Atilla, I think the labels can't be found better. I have tested in Windows with HAL and JAWS. And I can tell you Orca is equal, sometimes better in finding labels.

Here are the differences on my test pages (field 1: JAWS10, field 2: HAL, field 3: Orca; separeted by ';').

https://bugzilla.gnome.org/
Unnamed1 ; quicksearch ; |
Unnamed2 ; quicksearch ; Unnamed
Unnamed3 ; quicksearch ; |

https://bugzilla.gnome.org/show_bug.cgi?id=620331
Unnamed1 ; quicksearch ; |
Additional Comments ; alias ; Additional Comments
: ; UNCONFIRMED ; :
Product: ; nautilus ; Product:
Component: ; Views ; Component:
Version ; 2.26.x ; Version
OS ; All ; OS
Normal ; minor ; Normal
Whiteboard ; status_whiteboard ; Whiteboard
Keywords ; keywords ; Keywords
Depends on ; dependson ; Dependson
Blocks ; blocked ; Blocks
See Also: ; see_also ; See Also:
GNOME target: ; --- ; GNOME target:
GNOME version: ; 2.25/2.26 ; GNOME version:
Unnamed2 ; quicksearch ; |

https://bugzilla.gnome.org/enter_bug.cgi?product=orca

Unnamed1 ; quicksearch ; |
Unnamed2 ; ; Component:
Unnamed3 ; unspecified ; Version:
Severity: ; normal ; Severity:
OS: ; Windows ; OS:
Alias: ; alias ; Alias:
GNOME target: ; --- ; GNOME target:
GNOME version: ; --- ; GNOME version:
Summary: ; short_desc ; Summary:
Description: ; description ; Description:
Add an attachment ; Add an attachment ; Add an attachment
: ; keywords ; Keywords :
CC: ; cc ; CC:
Remember values as bookmarkable template ; Remember values as bookmarkable template ; Remember values as bookmarkable template
Unnamed4 ; quicksearch ; |

It looks like HAL is using the first way that I have used (the accessible name). I think JAWS10 is using another system than JAWS9 to get a label. For the search entry on bugzilla.gnome.org its | in JAWS9 and Orca and Unnamed in JAWS10.

As I said previous, it's not possible to guess the correct label every time. The only solution is really to write the admins of the page to make it accessible.

So what do you think about the labels?
Comment 83 Hammer Attila 2010-10-09 12:12:08 UTC
Marcus, I understand the label problem. I think you are true.
Your machine working right the fixed patch the HTML Object Navigator function (Orca+Ctrl+F8 key generated list)?
I tryed for example the www.origo.hu/hirmondo webpage, and the navigator window is newer displayed. Only the no form fields found and no headings found message is spokened.
Possible this is my system error.
I doed following steps to verify the fixed patch is applyed:
1. I do a git reset --hard command.
2. I removed the src/orca/html_object_navigator.py file and the .ui file.
3. Appliing your patch.
4. I doed make clean >/dev/NULL and make uninstall >/dev/NULL commands.
5. I doed general compilation and install commands.

Attila
Comment 84 Marcus Habermehl (BMH1980) 2010-10-09 15:18:00 UTC
Created attachment 172020 [details] [review]
Really fixed patch

Sorry, I have forgett to apply an other patch before creating my patch from git. Now it should be really fixed.
Comment 85 Jose Vilmar Estacio de Souza 2010-10-09 22:37:04 UTC
Works fine.
In my opinion, no need to announce the absence of headers and / or form fields when we press ctrl + orca + f8, but it is a matter of taste.
Comment 86 Hammer Attila 2010-10-10 06:10:26 UTC
Created attachment 172036 [details]
Debug.out with shows some traceback error messages

Marcus, now I tested new patch with http://vakbarat.index.hu webpage.
Headings and form fields list is OK, but links and HTML Navigator List is not (Orca+Ctrl+F7 and Orca+Ctrl+F8 keystrokes generated lists).
Another webpages this lists works fine, but I see some traceback error messages with possible help you identifiing the problem why not working this two list with this webpage now.
When I press Orca+Ctrl+F7 keystroke, I see following traceback error message with debug.out file:
Traceback (most recent call last):
  • File "/usr/local/lib/python2.6/dist-packages/orca/input_event.py", line 210 in processInputEvent
    consumed = self.function(script, inputEvent)
  • File "/usr/local/lib/python2.6/dist-packages/orca/structural_navigation.py", line 737 in showLinkList
    html_object_navigator.showHtmlObjectNavigatorUI("links")
  • File "/usr/local/lib/python2.6/dist-packages/orca/html_object_navigator.py", line 544 in showHtmlObjectNavigatorUI
    if HON.init():
  • File "/usr/local/lib/python2.6/dist-packages/orca/html_object_navigator.py", line 223 in init
    self.objectStore.append([getLabel(i), i])
  • File "/usr/local/lib/python2.6/dist-packages/orca/html_object_navigator.py", line 413 in getLabel
    return "%s %s %s" % (guessName(obj), getType(obj), getContent(obj))
  • File "/usr/local/lib/python2.6/dist-packages/orca/html_object_navigator.py", line 470 in guessName
    elif obj.parent.getChildAtIndex(obj.getIndexInParent() - 1).name:
AttributeError: 'NoneType' object has no attribute 'name'

When I press Orca+Ctrl+F8 keystroke, I see following traceback error message:
Traceback (most recent call last):
  File "/usr/local/lib/python2.6/dist-packages/orca/input_event.py", line 210, in processInputEvent
    consumed = self.function(script, inputEvent)
  File "/usr/local/lib/python2.6/dist-packages/orca/structural_navigation.py", line 742, in showObjectNavigator
    html_object_navigator.showHtmlObjectNavigatorUI("all")
  File "/usr/local/lib/python2.6/dist-packages/orca/html_object_navigator.py", line 544, in showHtmlObjectNavigatorUI
    if HON.init():
  File "/usr/local/lib/python2.6/dist-packages/orca/html_object_navigator.py", line 221, in init
    self.objectStore.append(objectIter, [getLabel(i), i])
  File "/usr/local/lib/python2.6/dist-packages/orca/html_object_navigator.py", line 413, in getLabel
    return "%s %s %s" % (guessName(obj), getType(obj), getContent(obj))
  File "/usr/local/lib/python2.6/dist-packages/orca/html_object_navigator.py", line 470, in guessName
    elif obj.parent.getChildAtIndex(obj.getIndexInParent() - 1).name:
AttributeError: 'NoneType' object has no attribute 'name'

Possible fix this problem?

Attila
Comment 87 Marcus Habermehl (BMH1980) 2010-10-10 10:42:59 UTC
Created attachment 172042 [details] [review]
Next one

I have put the lines to guess a name into try/except statements. So your problems should be fixed. At the moment I can't test it, because your page was changed.

But I'm really annoyed that I can't find a way to focus this stupid headings. For the first time it works. But then Orca/Firefox/what ever is jumping to the last focused object.
Comment 88 Hammer Attila 2010-10-10 14:29:34 UTC
Marcus, thank you the fix.
I don't no why, this bugzilla page the HTML object navigator list generation is very slow now. I not remember oldest speed times, but when I press Orca+Ctrl+F8 key combination, the list is generated about 28 second. :-(:-(
If you want, because I not remember prewious speeds, I welcome testing last finalized revision, because I stored my last attached patch with based your original written code before you doed changes.
Possible slow the list generation because we writing lot of comments? :-):-)
Only the Orca+Ctrl+F8 generated list speed is slow, for example the form field list with this webpage generated about 14 second. Of course this speed slowing depending the webpage structure.

The headings not focusing problem not a possible Mozilla Firefox 3.6.x regression bug?
I think Joanie reported following Mozilla bug with not fixed yet the Mozilla developers, Bill Cox doed wonderful patches, but Mozilla Developers not accepted yet:
I found the link this bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=546068
Please you look. If this bug producing your problem, I think we unable to fix this issue unfortunately without Mozilla developers.
I very hope not this bug producing headings jump and unable cursor navigation related problem if the user choosing a heading with headings list.

Another question:
When the user activating the HTML object navigator list (Orca+Ctrl+F8 key combination list), and the list generation is slower a webpage, your openion need spokening the no form fields found and no headings found messages if not have a webpage form fields or headings or not have bot two? Fastest not complex webpages this notifications is newer spokened, because the list is faster generated before the notifications is full spokened.
A typical example the very fast list generation is www.origo.hu/hirmondo webpage.
I suggest need remove this notification messages only the HTML object navigator window generated list (Orca+Ctrl+F8 key generated list), but need keep this notifications of course the another three list generations.
You accept this suggestion? If not, I full agree.

Attila
Comment 89 Jose Vilmar Estacio de Souza 2010-10-11 09:29:31 UTC
(In reply to comment #88)
> Marcus, thank you the fix.
> I don't no why, this bugzilla page the HTML object navigator list generation is
> very slow now. I not remember oldest speed times, but when I press Orca+Ctrl+F8
> key combination, the list is generated about 28 second. :-(:-(

This is indeed confirmed.
I tested with an old version of the patch, dated from Sun, 12 Sep 2010 19:39:45 +0200 and response is much more quick when I press orca+ctrl+f8.
Comment 90 Marcus Habermehl (BMH1980) 2010-10-11 11:28:07 UTC
(In reply to comment #88)
> Marcus, thank you the fix.
> I don't no why, this bugzilla page the HTML object navigator list generation is
> very slow now.

You are right. I have make a test. It's because of the way I'm search the current document. The first versions was using the _getDocument method from the StructuralNavigation class. But this method is returning the last document you have used/has navigated in, not the current one. That's bad if you switch between two or more windows or tabs. So I have to search the current document by myself. Currently I have found a way to save ~ 2 seconds. But this isn't enough.

> Possible slow the list generation because we writing lot of comments? :-):-)

No, no. :-) Comments are ignored on execution.

> The headings not focusing problem not a possible Mozilla Firefox 3.6.x
> regression bug?

Here you are right, too. 

> Another question:
> When the user activating the HTML object navigator list (Orca+Ctrl+F8 key
> combination list), and the list generation is slower a webpage, your openion
> need spokening the no form fields found and no headings found messages if not
> have a webpage form fields or headings or not have bot two? Fastest not complex
> webpages this notifications is newer spokened, because the list is faster
> generated before the notifications is full spokened.
> A typical example the very fast list generation is www.origo.hu/hirmondo
> webpage.
> I suggest need remove this notification messages only the HTML object navigator
> window generated list (Orca+Ctrl+F8 key generated list), but need keep this
> notifications of course the another three list generations.
> You accept this suggestion? If not, I full agree.

Yes, thats right. But I wont send a new patch before I have solved the speed issue.

Hmm. I will make some tests what part of the code is so slow. Maybe this will help to find a better solution.
Comment 91 Marcus Habermehl (BMH1980) 2010-10-11 20:32:54 UTC
Created attachment 172130 [details] [review]
Faster version

This patch make the list a bit faster. On my machine ~ 10 seconds.

As example this bug report with Orca+Ctrl+F8 needs ~ 14 seconds. The search for objects requires 12 seconds. The work before and after each only 1 seconds. And the search itself is done by at-spi's getMatches method. So I don't think that I can make the code faster.

Except I don't try to guess a name if no accessible name is present. But as we know on some pages this would be not good.

The notifications are fixed, too.
Comment 92 Hammer Attila 2010-10-12 04:41:25 UTC
Marcus, thank you the new patch. The speed now drastical faster, the list generation time now this bugzilla page is 14 second.
I think this is the maximum speed with possible to provide.

I have got a question with single column lists, but I don't no this is a general GTK control issue or not under Linux:
You now what type control to use with UI file when would like do single column list? Not have a control with provide simple beginning letter search without jump the cursor the search edit box? Now the search is working for example if I pressing a word beginning letter, but the cursor of course jump an edit box with possible write the search term. If I would like jump the search result, need press a Tab key. If I turn on list view for example with Nautilus, this is the same issue, possible this is a general GTK control working method. Why need this if possible? Now not have possibility to jumps only h beginning links for example, if the user only need the second h beginning letter link, need choosing with arrow key.
If not have a control with possible known this similar working, optional possible need do a filter text box with possible filtering the list. Not need focusing the filter text box when the list windows is displayed (Orca+Ctrl+F5, Orca+Ctrl+F6, Orca+Ctrl+F7 generated lists), need focusing the list and prewious Tab control possible the filter text box.
I don't no sure need the filter possibility with form fields list, but I think Orca+Ctrl+F6 and Orca+Ctrl+F7 generated list window is possible need this function.

What your openion?

Attila
Comment 93 Hammer Attila 2010-10-12 05:00:48 UTC
Created attachment 172154 [details]
Debug file with possible show an interesting problem

Marcus, very interesting, the headings list function and Html Object Navigator list function doesn't found headings the http://vakbarat.index.hu webpage now, but of course have headings this page.
Before I make the debug.out file and sending attachment, I tested my last attached 2010-09-18 revision attached patch to determine this is not a HTML page design change problem.
The bad news, the 2010-09-18 revision found headings both two type list, the you now attached patch not found headings with Orca+Ctrl+F6 key combination generated list, and only links tree present with Orca+Ctrl+F8 generated list.
The full interesting think, this two function is perfect working with another pages, for example the http://akadalymentes.sg.hu webpage, both two list mode present right the headings the list window.

I not found any traceback related issues the debug.out file.

Attila
Comment 94 Marcus Habermehl (BMH1980) 2010-10-12 08:15:23 UTC
Created attachment 172166 [details] [review]
Headings fixed

I have fixed the matchRule. It was searching for objects that are visible *and* focusable. But the last state isn't true for headings. Because of this the rule hasn't found headings.

Those matchRules can be very sneaky. ;-)

Because of the search , try the new dialog. :-) I have put an entry below the object list. It's working like the default one, but it leaves your search terms. So it should be easier.

What do you think?
Comment 95 Hammer Attila 2010-10-12 08:44:29 UTC
Marcus, thank you the headings fix, works fine.
The new dialog control is begin good, but not possible use this control with only filtering?
For example, if I writing the tech word with search term edit box, only need list the tech beginning headings or links in future I think.
This filter is useful if possible doing the list control with direct letter beginning jump if the user not want filtering, but would like cicle switch a letter beginning links or headings. For example:
If I have the tree table list and press h key, need jumping direct the h beginning letter link or heading without need navigating another controls. When I press h key again, need jump the second h letter beginning link. The prewious revisions default problem is following:
When I press h key, popup an edit box with possible writing another text, and if I would like hear what the first h beginning link or heading, need press a Tab key. This method disadvantage with unable to jump for example the second h beginning letter link or heading.

Try you Jaws links list if you have a demo JAWS and Windows, this is working same. But of course the two list type (GTK and Windows) is different.
I very fraid this is a general GTK control issue. If impossible to fix this problem, need reenable the searching under the tree table list with prewious revisions known, and need do a filter edit box with filtering only the search term field the list. If only this method possible doing similar working method, this is enough I think if not have another solution method.

Attila
Comment 96 Marcus Habermehl (BMH1980) 2010-10-12 10:10:53 UTC
(In reply to comment #95)
> Marcus, thank you the headings fix, works fine.
> The new dialog control is begin good, but not possible use this control with
> only filtering?
> For example, if I writing the tech word with search term edit box, only need
> list the tech beginning headings or links in future I think.

I'm not sure if this could be implemented easily. For the file selection dialogs such a filter already exists as widget. But not for lists or trees.

The problem is, you have to check every keyboard event and remove entries that doesn't fit the term. But if a char is removed, you have search the removed entries and place the corresponding entries into there old position. You have to store the label, the object and the position in memory. Depending on the machine, the running applications and the length of the list, this could be very slow, I think.

> This filter is useful if possible doing the list control with direct letter
> beginning jump if the user not want filtering, but would like cicle switch a
> letter beginning links or headings. For example:
> If I have the tree table list and press h key, need jumping direct the h
> beginning letter link or heading without need navigating another controls. When
> I press h key again, need jump the second h letter beginning link. The prewious
> revisions default problem is following:
> When I press h key, popup an edit box with possible writing another text, and
> if I would like hear what the first h beginning link or heading, need press a
> Tab key. This method disadvantage with unable to jump for example the second h
> beginning letter link or heading.

Yes. With the current solution you can use the up/down keys in the entry to got to the next one. Sure you have to use the tab key, too. But in contrast to the default entry you can do this. The default one begins on the first line if you want go back to the entry.

> Try you Jaws links list if you have a demo JAWS and Windows, this is working
> same. But of course the two list type (GTK and Windows) is different.

I know the behavior of JAWS. But this isn't a feature of JAWS. It comes from the Windows GUI.

Maybe it would be good to fill a bug report for this for Gtk+ to use the Windows way?

On Windows, if you press "t" "e" "c" "h" slowly, you will get the next entry starting with "t", than with "e" and so on. But if you press "tech" faster, you will get the next entry starting with "tech".

The current way in Gtk+ is great for people who can see the entry *and* the list. But on the accessible site it's very bad.

> I very fraid this is a general GTK control issue. If impossible to fix this
> problem, need reenable the searching under the tree table list with prewious
> revisions known, and need do a filter edit box with filtering only the search
> term field the list. If only this method possible doing similar working method,
> this is enough I think if not have another solution method.

Does you know any application that is using such a filter? If I'm straightforward, at the moment I don't know how to implement such a filter in a correct way.

If I have an example, this could be easier to implement and we could test the speed of the filter.
Comment 97 Hammer Attila 2010-10-12 11:07:02 UTC
Created attachment 172176 [details]
This is a links list Firefox extension screen shot

Marcus, I understand your answer, if difficult to realize my suggestion, need restore oldest way.
I attaching a screen shot with Links List Firefox extension window. This is an oldest Firefox extension with support my wroted way full with filtering and quick search.
I don't no what type control using this extension, but if I press t letter, the caret jumps fast the first t letter beginning link without to pop up any edit box.
I don't no what language developed this extension, unfortunately now I not remember this extension webpage, and this extension development stopped with since two or three years.

Attila
Comment 98 Marcus Habermehl (BMH1980) 2010-10-12 11:39:18 UTC
I think this list wouldn't be a good example. As I those extensions know it's written in XUL or Java.

How this extension is called?

Can you please translate this labels of the list? So I know for what they are.

Válasszon egy hivatkozást a listából, majd aktiválja az ok gombot.
Hivatkozások listája  Szűres a következő kifejezes szerint
Ugrás a hivatkozásra
Comment 99 Hammer Attila 2010-10-12 11:43:41 UTC
Created attachment 172179 [details]
Debug.out file when I using Links List old Firefox extension

Marcus, possible this debug.out file little help what type list using this old extension.
I think the Orca specific role is ROLE_LIST_ITEM.

Attila
Comment 100 Hammer Attila 2010-10-12 12:24:59 UTC
Marcus, sorry, I try correct translating this extension texts with english.
Válasszon egy hivatkozást a listából, majd aktiválja az ok gombot. In english, this text means: select a link from the list, and press Enter key.
  Szűres a következő kifejezes szerint: in english, this text means filter this text or similar, for example filter:
Hivatkozások listája means: links list
Ugrás a hivatkozásra button means: jump to link

If this Java or Xul language wroted example is not good, I think I newer see any GTK list containing application with supports my would like filter and jump way. If this is true, not matter, only need restoring prewious using scheme and not need the filter text if slowest the code running.
Testing purpose possible you do a little demo UI and application window with containing awailable typical GTK lists? Now you I think using one column GtkTreeView component.
Unfortunately I am unable to do this because I am full not see the screen to design UI window.

Attila
Comment 101 Marcus Habermehl (BMH1980) 2010-10-12 21:22:46 UTC
Created attachment 172217 [details] [review]
Patch with filtering

Attila, try this one. After searching for a while it wasn't so complicated as I was thinking before to add a filter.

The entry I have added previously is now for filtering. I have to trick to enable the filter for Orca+Ctrl+F8. :-)
Comment 102 Hammer Attila 2010-10-13 05:17:14 UTC
Marcus, sorry the long comment, the filtering is perfect. The filtering is not slow for example the http://vakbarat.index.hu webpage, I tryed simple a or t filter.
I have got one suggestion with TAB order:
Now, the controls are following order with list window if I press Tab keys:
1. The focused list (not pressed TAB key now).
2. Filter edit box.
3. Cancel button.
4. Jump button.

My suggestion:
When the user activating the list, need right first focusing the list control. If the user press Shift+Tab key, need jump the focus with filter edit box.
If the focus have the list and the user press Tab key, need jumping the jump button, and last control is the cancel button.
So, the suggested order with dialog window:
1. Filter edit box (not focused default first with list generation).
2. List control (default need focusing right, similar with prewious revisions). This is happening right. One optional suggestion: possible default select the first item with the list? Now if I see right, the tree table is focused, but the first item is not choosed or selected.
3. Jump button.
4. Cancel button.

Visual this order good your openion?
When the user writing a filter term and press Shift+Tab key, the first filtered item is not selected. Possible fix this?

Note, if I have the list and try write for example the t letter, I tryed your suggestion with simple press Down arrow key to hear the founded item, this practice is not help with this dialog (Orca+Ctrl+F5, Orca+Ctrl+F6 and Orca+Ctrl+F7 generated lists), need the TAB key press to hear first founded item. Possible only not spokened the choosed item when I moved Up or Down arrow keys if I write search term, if you moving the cursor, you see the new selected element?
Oh... I think sure this is the problem, please you confirm with visual test. Try following steps:
1. Open http://vakbarat.index.hu webpage.
2. Ask links list.
3. Write one a letter when the list focused, and begin jump with Up or Down arrow key. The next or prewious element is focused, but not spokened.
I verifyed this after I wroted a letter with do first three down arrow key press, and press Tab key. The focus is jump right the 3. a beginning list item.
If I repeat this test but only press two Down arrow key, after I press Tab key, I hear right the second a beginning list item.
Possible fix this?

For example if I try same step with the desktop, this practice is working right.
And a very interesting think, in desktop this step is filtering the list. For example, I have got four o beginning icon my desktop: Orca, Openoffice.org Writer, Openoffice.org Calc, Offline Documentation. If I write simple o letter and jumping Up or Down arrow keys the icons, only I see right o letter beginning icons and this filtered icons is automatic spokened if I move Up or Down arrow key. If I press Tab key, I see again all icons in the list.

This working method happening because for example the desktop using another control (icon view layered pane)? What happening if we try replacetree table component with normal list box, or this problem is different? 

Attila
Comment 103 Hammer Attila 2010-10-13 05:28:24 UTC
Created attachment 172232 [details]
Demonstrate the simple search operation without filter edit box

Marcus, I sending a debug.out file. I do my wroted prewious wroted test steps.
Orca see the actual selection changed elements when I simple write the t letter the links list tree table and press down arrow keys, but not spokening the new selected items with this situation.

Possible fix this problem?

Attila
Comment 104 Marcus Habermehl (BMH1980) 2010-10-13 12:31:19 UTC
To move the filter entry is no problem. But I have a problem to change the order of the buttons. Because it's the default GNOME layout. The left one is "Cancel" in every dialog and the next one is something else. So if I change the order, I would violate the "GNOME Human Interface Guidelines".

But you haven't use tab to go to the "Jump to" button. Because it's the default action, you need to press Enter on an entry only.

Ah, yes. You have requested before to select the first entry. It's done, now.

Yes, the search results aren't spoken if you press down/up arrow. Till now I don't know if this is a problem with Orca or Gtk+. But I will search in the Orca code again.

Sure. In Nautilus it's working because it's using a GtkIconView widget. An my dialog is using a GtkTreeView widget. But that shouldn't be a problem.

I'm not sure what do you mean with "normal list box". Between lists and trees, there is no differences in Gtk+. The first one is using a GtkListStore as model and the second one is using a GtkTreeStore model. But that's only about how the data can be stored and because of the search it doesn't make any difference. You can check this by yourself. F5 till F7 is using the GtkListStore model and F8 is using the GtkTreeStore model.

At the moment I wont send a new patch. Maybe I can find a way/fix that the search results are spoken.
Comment 105 Hammer Attila 2010-10-13 12:50:40 UTC
Marcus, thank you your answer.
Thank you the future filter edit box movement, and if this is GNOME dialog standard, not need replace of course the jump and cancel button order with dialogs.
Comment 106 Marcus Habermehl (BMH1980) 2010-10-13 13:18:32 UTC
Created attachment 172264 [details] [review]
Patch with first entry selected and filter entry above the object list

Here is the new patch. To get the search results spoken, you have to apply the patch from bug #632058.

Today is patch day. ;-)
Comment 107 Hammer Attila 2010-10-13 13:54:30 UTC
Marcus, thank you the new patch.
I see following issue:
When I opening the www.origo.hu/hirmondo webpage, and write the filter text box with t letter, Orca first right spokening the first founded item.
When I press one Down arrow key, nothing happening, the second founded item is only spokening when I press again the down arrow key.

Next comment I attaching a debug.out file:

Note: thank you the patch suggestion for bug 632058, working perfect, I found only one problem with I described with first comment with the bugreport.

Attila
Comment 108 Hammer Attila 2010-10-13 14:02:14 UTC
Created attachment 172269 [details]
This debug.out possible show the problem with I prewious described
Comment 109 Hammer Attila 2010-10-13 14:18:04 UTC
Marcus, Jose, your openions need the filter edit box longer time if committed future Marcus bug 632058 patch?
If the future final patch is committed, this is resulting fast accessible filtering.
Comment 110 Marcus Habermehl (BMH1980) 2010-10-13 19:15:01 UTC
(In reply to comment #107)
> Marcus, thank you the new patch.
> I see following issue:
> When I opening the www.origo.hu/hirmondo webpage, and write the filter text box
> with t letter, Orca first right spokening the first founded item.
> When I press one Down arrow key, nothing happening, the second founded item is
> only spokening when I press again the down arrow key.

Does you have pressed tab to go back to the list? If not, then this behavior is correct.

But I think if #632058 is fixed, this filter entry can be removed. Do you agree?
Comment 111 Hammer Attila 2010-10-14 04:22:59 UTC
Marcus, when I testing new patch, prewious I applied #632058 patch and not press Tab key when I write filter term with filter edit box when I moving filtered items.
Of course I full agree, if #632058 bug is fixed, safe remove the filter edit box, because builtin GTKTree vidget do filtering and this possibility is accessible when this bug is fixed.

Attila
Comment 112 Marcus Habermehl (BMH1980) 2010-10-17 12:20:16 UTC
Created attachment 172540 [details] [review]
Supporting HTML navigation by 3 lists and 1 treeview.

Here is the new patch with removed filter entry.

Attila, an other bad news. I have to remove the line that was selected the first entry. I don't know how this was working on your machine. But here this was stopping Orca to speak the window title. The window was showing and I doesn't get anything spoken. That's very bad.
Comment 113 Hammer Attila 2010-10-18 03:17:04 UTC
Marcus, very interesting, when I used your prewious attached patch, I right hear the window title when I press Orca+Slash key combination.
For example, when I open links list, I hear right the window title this keystroke.
Or you try test this keystroke with another applications?

Attila
Comment 114 Marcus Habermehl (BMH1980) 2010-10-18 08:27:56 UTC
Sometimes if the list is showing in head "li" and then speak is interrupted. I'm sure this is because of the signal that is emitted if the first entry is selected. Maybe to many events on the same time to speak?

If I'm using the "Who I am" function I get the title spoken, too. That's no problem. But an user can't use this function till the window is shown.
Comment 115 Hammer Attila 2010-10-18 13:38:36 UTC
Very interesting, but I agree your comment.
I newer see any problem with you wroted.
I doed following:
1. I activated the link list function, and wayt Orca speaks the first selected item.
2. I tryed Say title command (Orca+Slash laptop keybinding command).

You doed different tasks when you see this problem?
Of course if this oldest applied feature is not safe (say first selected list item), I full accept.

Tomorrow entire day I am not in home, I travelling, but wednesday but wednesday I welcome testing if need.

Attila
Comment 116 Marcus Habermehl (BMH1980) 2010-10-20 09:41:04 UTC
Created attachment 172818 [details] [review]
Supporting HTML navigation by 3 lists and 1 treeview.

I have modified the patch to enable the lists and the navigator in yelp, too. I was hoping that it works in OOo, too. But OOo doesn't provide the necessary informations. :-(

Currently I have tested the patch with the following apps.

Mozilla Firefox: works
Mozilla Thunderbird: works
OpenOffice.org: doesn't works
Yelp: works
Devhelp: doesn't works (it's using Webkit)

Please try other apps that are using HTML documents, if you know someone.
Comment 117 Hammer Attila 2010-10-21 04:37:52 UTC
Marcus, thank you this changes, very good job!

I see two problem only yet:
1. In Yelp application:
When I opening for example the Orca help topics, and ask links list, the list presenting right. But if I choosing a link the list and press Enter key, the new choosed section is opened right, but unable to navigate the cursor keys and structural navigation keys until I not press for example a Tab key.
You confirming this problem?
The reproducation steps is following:
1. Click for example in Orca main window the help button.
2. When help topics is displayed, ask for example links list with Orca+Ctrl+F7 key combination.
3. Choose a section link and press enter key. After the new choosed section is opened, you try using normal structural navigation key bindings (for example try jump next heading with h key) or try move the caret with arrow keys. You not hear anything.
Perhaps this problem is related with my prewious wroted Mozilla related bug?
When I choosing a section link in a help topics with Tab key and opening new section with Enter key, perfect working structural navigation keybindings and good usable the arrow keys with moving the caret, Orca is perfect speak the informations.

2. With Thunderbird related:
When I using this feature with an already opened letter, the feature working full right, thank you this change, lot of time I using this feature with Thunderbird.
But I have got a bad news:
I tryed a very irreal test with I hope end users don't do in future.
If not opened any message and I have the messages tree table list, if I direct activate for example the links list function, after orca is spokening the notification message, Orca is full freeze unfortunately.
Next comment I attaching this problem related a debug.out file with possible show why happening this problem. Of course the present message window check menu item is unchecked under view menu, but Orca try collecting all e-mail messages the links.
After Orca spokening the notification message, remaining debug.out part containing following lines before I try restarting with Orca:
---------> QUEUEING EVENT object:property-change:accessible-name

Of course this is a very not real situation, because why try using any users the form fields, headings, links or HTML Navigation list function with message tree table list? If need, you have any ydea how can restrict this feature in Thunderbird only the opened e-mail message window and how can handle this exception? For example, if not opened any messages, need Orca don't try collecting form fields, headings or links.

Attila
Comment 118 Hammer Attila 2010-10-21 04:40:24 UTC
Created attachment 172891 [details]
Debug.out with shows a Thunderbird related problem

This debug.out file possible show what happening if I ask links list in Thunderbird without have any opened messages.

Attila
Comment 119 Marcus Habermehl (BMH1980) 2010-10-21 09:17:47 UTC
Created attachment 172908 [details] [review]
Patch with fix for Thunderbird

Hi Attila.

I have added a message if no HTML document was found. So TB should be fixed now.

Your problem with Yelp I can't confirm. Here I haven't a problem to use one of the lists or the tree and use after this caret browsing or keys like 'h' or 'u'.

What version of yelp you are using? Here is Yelp 2.30.1 installed.
Comment 120 Hammer Attila 2010-10-21 09:26:42 UTC
Marcus, thank you the Thunderbird related fix, I will be look.

I using Ubuntu Lucid with Orca git master version, builtin yelp version is following: 2.30.0-0Ubuntu2, this is relative old.

Possible newest versions not producing my wroted problem, I using unchecked grab focus on objects when navigating under Orca Yelp application preferences.
Thank you the positive no confirmation answer with you, this is good news.

Attila
Comment 121 Hammer Attila 2010-10-21 13:19:25 UTC
Marcus, I not see any change with Thunderbird related.
I downloaded your patch and doed normal compilation way:
Doed git reset --hard command, remove src/orca/html_object_navigator.py and src/orca/orca-html-object-navigator.ui files, applied your new patch and doed full Orca uninstall, make clean, ./autogen.sh, make and make install commands.

My used Thunderbird version with my Lucid system is following:
3.0.9

Can I doed wrong any steps to see the change?
When your Thunderbird not have any opened letter but a letter is selected with message list tree table, your machine what happening if you press Orca+Ctrl+F7 key combination?
I hear the links list related notification message and Orca is freeze.

Attila
Comment 122 Marcus Habermehl (BMH1980) 2010-10-21 15:57:56 UTC
Can you please attach a debug output with the new patch? Maybe there is another problem that I have to fix.
Comment 123 Hammer Attila 2010-10-22 05:18:50 UTC
Created attachment 172975 [details]
Debug file with show Thunderbird related problem

Marcus, here the debug.out file, sorry but yesterday I forgot attaching.
Now happening following after Orca spokening the notification message:
SPEECH OUTPUT: 'Várjon, amíg a hivatkozások összegyűjtése befejeződik.' voice=system
KEYEVENT: type=1
          id=65476
          hw_code=73
          modifiers=8196
          event_string=(F7)
          is_text=True
          timestamp=1006436
          time=1287724153.859952
KEYBOARDEVENT: type=1
                id=65476
                hw_code=73
                modifiers=4
                event_string=(F7)
                keyval_name=(F7)
                is_text=True
                timestamp=1006436
                time=1287724153.860393
orca.isModifierKey: returning: False
----------> QUEUEING KEYRELEASE 'F7' (73)
---------> QUEUEING EVENT object:property-change:accessible-name
---------> QUEUEING EVENT object:property-change:accessible-name

Interesting, but the last line have remaining entire debug.out file before I try restarting Orca.

Attila
Comment 124 Marcus Habermehl (BMH1980) 2010-10-22 12:13:01 UTC
You are sure that orca freeze? How long you are waiting?

Sorry for this stupid question. But at the moment I haven't any idea why this happens.

One possibility could be that there is a change between Thunderbird 3.0.9 and 3.1.5. Because here with 3.1.5 I haven't problems.

Your Thunderbird is producing many more 'QUEUEING EVENT ...' lines. And at me its over 1000 lines. But I don't know why or what object this come from.

But this must be solved! It's possible that someone could try to show the lists out of a message. A user can select accidental the wrong window, or press another key than Enter, etc.
Comment 125 Hammer Attila 2010-10-22 12:25:30 UTC
Marcus, I tryed the function with my Inbox folder. Perhaps not problem with I have 1466 mail with this folder?
When I try the feature with an entire folder, the feature working right, not producing problems.

When I see the freeze, I wayt 20-30 second before I try restarting Orca. Very interesting, if I remember right key presses is not spokened, and Orca not spokened the Welcome message when I restart. Only entire system restart help.

Just a moment, I try what happening if I put one mail with the drafts folder and ask the list.

Attila
Comment 126 Hammer Attila 2010-10-22 12:40:14 UTC
Uh Oh, if one mail have the drafts folder, the feature working right, sorry Marcus! I think if have relative lot of mail with a folder, the feature is slowest. So, 1466 mail with my Inbox folder is too lot of. :-(:-(
But end users I think not try ask links list if haven't opened any mail messages.
When I navigate this temporary saved message but not opened this message, if I press Orca+Ctrl+F7 key binding, Orca wonderful spokening no links found notification. This is the right needed spokening message with this situation, or needed spokening the No HTML document found in %s message?
This message is not spokened.
I verify what message is spokened if not have any mail with the temporary folder, the no links found message spokened if I press Orca+Ctrl+F7 key binding.

You wroted Thunderbird 3.1.5 version is producing different result with my Thunderbird 3.0.9 version producing result. When you testing, your folder how many messages have?
With my prewious comment I wroted wrong word, I not want write entire folder, I want write empty folder, but I mistake the word. :-):-)

Attila
Comment 127 Marcus Habermehl (BMH1980) 2010-10-22 14:09:36 UTC
I have tried it with my inbox with ~ 150 messages and with a newsgroup with 2440 messages. Both works without any freezes.

Orca should speak "No HTML document found in ...". But, maybe you have activated the message pane (View -> Layout -> Message Pane)? In that case there is a (possible) HTML document. So "No links found" would be correct.

Maybe you should update your Ubuntu to Maverick. ;-)

I really haven't any idea what the problem could be. :-(
Comment 128 Hammer Attila 2010-10-22 15:20:46 UTC
Marcus, when the message pane check menu item is unchecked, Orca spokening right the no html document found in... message.
In Thunderbird 3.0.9, this menu item is some time checked automaticaly and I prewious forgot uncheck. So if this menu item is checked, the no links found message is correct.

Your openion not enough only update Thunderbird? I very like my Lucid system. :-):-)

But if future testing need Maverick because your testing base is Maverick, I installing Maverick a smallest partition.

Attila
Comment 129 Marcus Habermehl (BMH1980) 2010-10-23 10:43:04 UTC
Okay, in that case I would say the patch works. Or does you have found another problem or something missing?

Attila, it was a joke. :-) Okay, it's true that 2 apps (Thunderbird and Yelp) aren't work correct. But if this isn't a problem for you it's no reason to make an upgrade.
Comment 130 Hammer Attila 2010-10-24 05:35:16 UTC
Yes, the patch is works correct. If I using the patch right way (not try using the feature with not have opened any letter in Thunderbird), I not see any problem.
Okai, I see the smilei now your comment with suggest Maverick update. :-):-)
Comment 131 Joanmarie Diggs (IRC: joanie) 2010-10-24 13:49:07 UTC
Marcus, thanks so much for all your work in this area!

Ultimately, I'll have some questions, suggestions, etc. for you. In the meantime, I'm getting caught up after being away for several weeks. :-/ It would be helpful if you could obsolete any patches that are obsolete. That way the list of unreviewed patches will contain only those that I need to look at.

Thanks!
Comment 132 Marcus Habermehl (BMH1980) 2010-10-24 16:03:32 UTC
Attila, can you mark your old patches and debugs as obsolete? I haven't access to do this.
Comment 133 Joanmarie Diggs (IRC: joanie) 2010-10-24 18:56:42 UTC
(In reply to comment #132)
> Attila, can you mark your old patches and debugs as obsolete? I haven't access
> to do this.

Ah, that was my bad. Apologies. I have just marked Attila's earlier patches as obsolete.
Comment 134 Hammer Attila 2010-10-25 03:24:53 UTC
How can I mark my oldest attachments with opsolete flag?
I newer doed prewious this.
If need doing this step with my already not actual attachments, I doing welcome.

Attila
Comment 135 Marcus Habermehl (BMH1980) 2010-10-25 08:59:17 UTC
@joanie: I think you haven't marked a wrong file as obsolete. :-)

@Attila: Got to the attachment, click on 'Details'. Check there the checkbox obsolete and submit it.
Comment 136 Hammer Attila 2010-10-25 09:35:34 UTC
Marcus, thank you, done now. :-):-)
I not checked obsolete check box only with your last patch and my last debug.out.
I only look my attachments (oldest patches, oldest debug.out files) with are not need and not actual.
Joanie, if you for example longer time look this bugreport, how can difference obsolete and not obsolete attachments? Bugzilla using different colors with two type attachments?

I see only differences with Orca if I click details button and look obsolete check box.

Attila
Comment 137 Marcus Habermehl (BMH1980) 2010-10-25 09:58:26 UTC
Thanks Attila.

Attila, Bugzilla is hiding obsolete attachments. You can view/hide them with the links 'Show obsolete' or 'Hide obsolete'.
Comment 138 Hammer Attila 2011-01-07 12:10:31 UTC
Marcus, what can you think:
your openion need doing another works with your patch and your feature?
Joanie, what your openion:
Possible committing Marcus doed function before UI freeze? We will be ready before the UI freeze date with this feature?
Very need and important this function, because for example with Firefox 4 series not working unfortunately the Links List and Headings List extensions, this extensions is not compatible the 4.x Firefox series.
If I remember right the prewious tests (3.6 series) only the headings list not working, but this is not Marcus patch mistake,  this is a not fixed yet Mozilla bug. I now not remember right the Mozilla bug link or the comment number with I linked this Mozilla bug.

Next week I think I looking this feature with 4.0 Firefox version.

Attila
Comment 139 Marcus Habermehl (BMH1980) 2011-01-12 20:49:22 UTC
Created attachment 178178 [details] [review]
Rewritten patch with some changes and new features

Yes Attila, I think some work is needed. ;-)

I have completely rewritten the script to add some features, make the code cleaner and faster (hopefully).

The main changes are:

* The keyboard shortcut for the form fields list has been replaced with Orca+Ctrl+F4; the old one is used for the frames list, now
* The name of an object is now generally identified; the last version was too heavily focused on certain problematic pages
* In addition to the existing objects can now be clickable objects and frames are listed
* Objects are no longer searched in an at-spi collection but with a pyatspi function
* Spoken hints were replaced by message dialogs, because the hints are otherwise only available with speech enabled
* The labels on the lists are now geared more closely to the format that uses Orca for speech output
* The information in the lists were expanded to mark mandatory fields in forms and lists with multiple selection feature
* The labels for object types in the navigator list (Orca+Ctrl+F8) are containing now the number of elements

Please test the patch and report if there are problems.
Comment 140 Hammer Attila 2011-01-13 06:16:24 UTC
Created attachment 178206 [details] [review]
Modifyed joined patch with based Marcus last attached revision

Marcus, thank you your work!
Now I not tryed yet the new revision, I fixed only a wrong path with po/POTFILES.in file, I attached now the fixed patch, please use this patch when you working.
Your patch unfortunately wrong the original path with src/orca/orca-html-object-navigator.ui file, forgotted the /orca part. The right path is following:
src/orca/orca-html-object-navigator.ui.

I trying the new revision and if I found a problem, I writing comment.

Attila
Comment 141 Hammer Attila 2011-01-13 07:45:06 UTC
Marcus, I looked little the new revision, and founded following issues with localization related:
1. If possible, need replacing in links related the link role type and the visited state. Now, all functions with sends links list sending following order the informations:
- link label (the text of the link)
- Role type (link in english, hungarian for example the role type is hivatkozás)
- Visited or not visited state
I think this order is not only hungarian language not right.
Need replacing the role type and visited state, similar with prewious revisions (prewious revisions this is okai).
For example an english language output the new future replacing order resulting following type output, I think this order is right too in english language:
- Marcus new revision (this is the link text name)
-not visited (link state)
- Link
So, the full table row is "marcus new revision not visited link".

2. With all of headings list types related:
Now, english language output is following if a heading level have a list:
- Heading text
- Role type (in english this is heading, for example in hungarian this is címsor)
- Heading level number (in english this is level %s string in translation file)
The problem is following:
Need merging the role type and heading level strings with one string, because in hungarian language the order is not right, the right order is following:
%s heading level
In hungarian language translation we using ordinal number format with heading level (add a dot after the %s number parameter), this is very good, because Espeak spokening right the heading level number with ordinal number the hungarian language (first, second, etc).
Now produced hungarian language output for example the headings list part is following:
- Marcus new revision (this is the heading level normal text)
- Címsor (this is the rolename with filled automaticaly, in english this is heading)
- 1. szint (this is the automatic filled %s level string translation)
The right order is following:
- Marcus new revision (this is the heading level normal text)
- 1. címsor szint
I think this future I wished order is not right with english, so need doing a way the translators setting the role name and level order.

Possible doing following fixes ways:
Only need two %s parameter, first %s return the role name, second %s return heading number after normal heading text.
Or simplest fix you remove the role type with the list, and add the %s level string simple the heading word, because in headings list always have headings, similar with Orca+Ctrl+F8 in headings tree.
For example the new translation marked string is following, I show the english modifyed string, and hungarian translation:
#. Translators: this represents the level of a heading in a HTML
#. document.
#.
#: ../src/orca/html_object_navigator.py:621
#, python-format
msgid "heading level %s"
msgstr "%s. címsor szint"
If the heading role removed the list, this string type both english and hungarian language output is full right.

This is works right the prewious revisions, but I not remember now how can prewious implemented.

I begin looking form fields part.
Summary: the new revision is very good, all informations are translatable right if you resolving this two problem. The new revision is very fast, for example the http://vakbarat.index.hu webpage. Only the Orca+Ctrl+f8 list producing I think ten seconds the entire objects list, another single lists producing the list is 3 or 4 seconds. But I not surprising this 10 second speed value with the entire elements list, because this list containing I think 64 headings, and more than 120 links, so this is a very good result.

Attila
Comment 142 Hammer Attila 2011-01-13 08:13:58 UTC
Marcus, with form fields related I found following issues:
1. Need replacing the combo box role type and role name order. Now shows following type this bugzilla page the product combo box related informations the list:
Product: combo box Orca
When I jump normal Orca next or prewious form fields commands the form fields, Orca spokening following order the informations:
Product: Orca combo box

2. The following pages I see some unnamed form fields, but the labels is putted right the last column I think:
http://ingatlan.com/komarom-esztergom-megye
If I remember right, prewious revisions this is fixed.

Attila
Comment 143 Hammer Attila 2011-01-13 08:16:28 UTC
Another page with seeing the form fields related second problem:
http://openhouse.hu/hu/

Attila
Comment 144 Hammer Attila 2011-01-13 08:44:42 UTC
Marcus, sorry, the second form fields reported problem is not valid, I verifyed the last awailable this patch before this revision.
This problem is a web designed mistake I think. You confirming this?
I remember possible wrong, very sorry.

But I remember right need replacing the combo box related order (value and role type), this is working right before this revision.
With I reported heading levels and links related problem:
Prewious patch determining I think following way this informations, I copying the old code:
def getType(obj):
    """Return the type of an accessible object.

    Arguments:
    - obj: the accessible object.
    """

    if obj.getRole() == pyatspi.ROLE_HEADING:
        # Translators: this tells the user the level of a heading in the HTML
        # object navigator window.
        #
        objType = _("level %s") % getAttribute(obj, "level")
    elif obj.getRole() == pyatspi.ROLE_LINK:
        if pyatspi.STATE_VISITED in obj.getState().getStates():
            # Translators: this indicates that a link in the HTML object
            # navigator window is visited.
            #
            objType = _("visited")
        else:
            # Translators: this indicates that a link in the HTML object
            # navigator window is unvisited.
            #
            objType = _("unvisited")
    else:
        objType = rolenames.rolenames[obj.getRole()].brailleLong

    return objType

I found an another cosmetic issue, with I don't no possible now resolving, now not looked detailed the new code:
Prewious revisions if the users asks single lists for form fields, headings, or links, following style notification message are spokened:
#. Translators: this message is spoken while form fields of a
#. webpage are collected for the form field list window.
#.
#: ../src/orca/html_object_navigator.py:83
msgid "Please wait while form fields are collected."
If not have form fields with a HTML document, following style notification are spokened:
"No form fields found."

Attila
Comment 145 Hammer Attila 2011-01-13 10:02:29 UTC
Created attachment 178208 [details] [review]
Second revision with based Marcus sent patch

Marcus, I think I fixed following problems I hope right way:
- Replaced the link visited/unvisited state and role name
- Removed the heading level role name and add heading word with %s level translation string. This is resulting for example right output for hungarian language if I ask headings list.
Of course need I correct replacing the string order with translation (heading level %s to %s. heading level), but this is not matter.
 - Replaced combo box related order with Orca style order.

Please look this new modifyed version.
I not yet added single notification messages with single frame, form field, headings and links list, because need more looking the code before I trying this.

Attila
Comment 146 Hammer Attila 2011-01-13 10:45:37 UTC
Created attachment 178211 [details] [review]
Third revision with based on Marcus morning sent patch

This joined patch containing all prewious I doed modifications, and I fixed following two problem:
1. I fixed a missed typo with a translator comment.
2. If not matter, I replaced the list frames and list form fields key bindings. List frames binding my patch now Orca+Ctrl+F4, list form fields binding is now Orca+Ctrl+F5, similar with oldest prewious revisions.
I very like prewious the form fields listing command the Orca+Ctrl+F5 key binding, but if more people would like form fields list command with Orca+Ctrl+F4 binding, I full accept this.

Marcus, if my fixes is full good, please use this patch the startup point if need anything fixing. Now I not will be do new modifications, waiting your reviewing.

Attila
Comment 147 Marcus Habermehl (BMH1980) 2011-01-14 21:46:06 UTC
Attila, the unnamed form fields that you have found are really unnamed. The site devels are using the field content as label. A very terrible habit.

Currently I will ignore your comments to labeling. :-) Better to say the format of labeling. Because I've found a way to use the already existing functions that are used for speech output. If I really can implement that my script will save some code and changes on the format are only required in one place and your fixes shouldn't be necessary. Because the list should *really* have the same format like speech.

But currently I have some problems with this. Joanie, maybe you can give me a little hint. To get the label for an object, I'm using generate(obj, formatType = "unfocused", forceTutorial = True) of the script's speechGenerator instance.

If I'm doing this on https://bugzilla.gnome.org/enter_bug.cgi?product=orca, most of the time the Component and the Version list haven't a label. But sometimes they have.

Joanie, does you have any idea why? It's really strange.
Comment 148 Hammer Attila 2011-01-15 06:17:59 UTC
Marcus, thank you your answer and the confirmation of this example unnamed labels.
What my fixes are accettable?
I solving right way the links and headings related order problems, and the combo box related list order problem, or I choosed wrong way?

Attila
Comment 149 Marcus Habermehl (BMH1980) 2011-01-19 01:00:34 UTC
Created attachment 178679 [details] [review]
New patch version

Okay, a new attempt. :-)

Attila, I have not used your patch. In the meantime, I had already changed too much. Your patch would not work anymore. :-(

I changed the following:

* Path to orca-html-object-navigator.ui in po / POTFILES.in corrected
* A list of anchors can now also be called
* The HTML objects are searched and sorted in one go, which makes the script faster
* The labels are generated as a list and not as a string, which prevents double spaces
* The function to guess the name was again slightly revised and supplemented
* The strings for the role and status have been revised slightly
* A new function was created to convert a link into a label
* Comments for translators was revised slightly
* The labels for headings, combo boxes and links have been corrected

I have a feeling that the script is now even faster.

The page http://ingatlan.com/komarom-esztergom-megye was completely revised. Some form fields have no more a label. As with http://openhouse.hu/hu/ the content is used as a label. That is why there are more unnamed form fields. I had saved the old page locally. Except for a checkbox and a text box the new version also works with the old site.

The various notifications when certain objects were not found I have intentionally left off. It shortens the script and usually a user knows what objects he was looking for. Or do you think that the distinction is necessary?

I changed the keyboard shortcut for the form fields list to F4, as I have forgiven the shortcuts alphabetically. I thought that this is easier to remember. F2 = anchors; F3 = clickable objects; F4 = form fields; F5 = frames; F6 = headings; F7 = links; F8 = all objects

Since you can change the shortcuts in the settings so I do not think that's a problem. Or what do you think?
Comment 150 Marcus Habermehl (BMH1980) 2011-01-19 01:05:44 UTC
(In reply to comment #148)
> What my fixes are accettable?
> I solving right way the links and headings related order problems, and the
> combo box related list order problem, or I choosed wrong way?

Sorry, forgott to answer. Yes, your changes were okay. Only one if-block could be removed because it was no longer needed after your changes.
Comment 151 Hammer Attila 2011-01-19 06:45:24 UTC
Marcus, thank you the new modified revision.
My experiences is following after I doed new translations:
All role informations orders is translatable right, and possible give the right order for hungarian language specific role informations orders, thank you this method. So, this fix is working full right.

With shortcuts related:
I understand now why you using this key map, this is absolute logical. I suggest only this two keystrokes replacement because another screen readers using this style keystroke for example forms and frames if I remember right, except not have CTRL key for this keystrokes, but Orca need the CTRL mask to prewent keybinding conflicts with chat commands. But of course not matter if this feature using different key combinations with another screen readers, because Orca is a different screen reader.
So, if another testers like this key map (Orca+Ctrl+F4=form fields list, Orca+Ctrl+F5=frames list), I full agree, because this keystrokes are possible replacing with key bindings page with structural navigation supported applications Orca applications preferences page. Only the disadvantage is following, if I remember right the user need doing this replacement I think all applications preferences page if the user would like replacing this keystrokes with all supported structural navigation applications Orca preferences page, I need verifying this.
If this is true, keystrokes code replacing is simplest, but I think need ask Orca-list the users what keystrokes would like with single HTML objects list?

The objects distinction related:
I think more looking better if have object distinction if not foundable for example form fields, headings, etc, for example:
"No headings found."
"No form fields found."
Similar:
"Please wait while form fields are collected."
"Please wait while headings are collected."
What the openion with another testers?
Prewious revisions using this style notifications if I remember right, but this is a cosmetic modification only.

Attila
Comment 152 Hammer Attila 2011-01-19 07:00:53 UTC
Marcus, I remember full right.
If the user would like replacing the list of frames and list of form fields keystrokes, need doing this replacement with all Orca structural navigation supported applications Orca application-specific preferences dialog/keybindings page. This feature now supporting Firefox, Thunderbird, Yelp, and I think Openoffice.org and Libreoffice.org Writer, this is four manual need modification.

Have another disadvantage if the user would like manual doing this replacement with all this feature supported Orca application-specific preference dialog, first need deleting for example the list of frames key binding (Orca+Ctrl+F5), after this need redefining the form fields list with Orca+Ctrl+F5 keystroke, and final need bounding again the list of frames keybinding with Orca+Ctrl+F4 keybinding.
Code replacement is simplest, need doing one time, but need asking users with orca-list more users what keystrokes would like this two commands. You doing this?
If the users choosing this now used commands key map, we not need do any work this related.

Attila
Comment 153 Marcus Habermehl (BMH1980) 2011-02-08 20:20:06 UTC
Created attachment 180414 [details] [review]
New patch

Okay. After few days of thinking and writing here now the most extensive patch.
I hope that it corresponds to what joanie has in mind and is a compromise to
the extensive keybindings.

A list of all object types I omitted, since the creation of such a list is very
time consuming. This doesn't make sense if the user must wait 30 seconds or more
and can't continue working.

The patch contains summarized the following changes (I hope I haven't
forgotten anything and translated them understandable):

* object_navigator.py (ObjectNavigator class)
  ° Objects are searched by the findAllDescendants function of pyatspi and
    the corresponding Predicate method of the StructuralNavigation class.
  ° The labels in the list are created using the format from formatting.py, as
    it's used for speech for unfocused objects.
  ° Missing role names (e.g. for sections) are attached.
  ° Role names for unvisited links or visit links are prefixed with (un)visited.
  ° The role names of headings is the suffix 'level [1-6]' attached.
  ° Labels of form fields are determined with the guessTheLabel method of the
    Script class from scripts.toolkits.Gecko.script.py.
  ° Lists and tables without name will get their content as label.
  ° Sections and paragraphs get always their content as label.
* object_navigator.py (showObjectNavigator function)
  ° If the cursor isn't within a document a corresponding message is spoken and
    the function is broken off. This is necessary because the guessTheLabel
    method returns otherwise empty labels.
  ° Otherwise a message is spoken that objects are collected.
  ° The dialog will be opend if objects are found, otherwise a corresponding
    message will be spoken. The duration may vary on the same page with the
    same objects. The results with my test pages are
    (object type/at least/maximum/average [in seconds]):
    - Anchors: 0 10 3
    - Blockquotes: 0 10 2
    - Buttons: 0 7 2
    - Check boxes: 0 7 2
    - Combo boxes: 0 7 2
    - Entries: 0 15 4
    - Form fields: 0 21 6
    - Headings: 0 7 2
    - Headings of level 1: 0 8 2
    - Headings of level 2: 0 7 2
    - Headings of level 3: 1 6 2
    - Headings of level 4: 0 6 2
    - Headings of level 5: 0 7 2
    - Headings of level 6: 0 7 2
    - Landmarks: 0 7 2
    - Large objects: 0 13 4
    - Links: 1 11 4
    - List items: 0 9 3
    - Lists: 0 8 3
    - Live regions: 1 33 9
    - Paragraphs: 0 17 3
    - Radio buttons: 0 7 2
    - Separators: 0 5 2
    - Tables: 0 8 2
    - Unvisited links: 1 13 4
    - Visited links: 0 10 3
* structural_navigation.py (StructuralNavigationObject class)
  ° The __init__ method was extended to include the parameter 'navigator'. It
    represents a method by which a 'List of ...' dialog will be created. A
    corresponding attribute is added to the class.
  ° The automated generation of key bindings has been modified to create key
    bindings for 'List of ...' dialogs, also. For this purpose, the additional
    method showNavigatorAtLevelFactory was created.
  ° The listOfFunctions attribute was added to the class to disable/enable the
    dialogs.
* structural_navigation.py (StructuralNavigaion class)
  ° The listOfFunctions attribute was added to the class to disable/enable the
    dialogs.
  ° The object type LINK has been added.
  ° The __init__ method was extended with a parameter to disable/enable the
    'List of ...' dialogs. For this purpose, the attribute listOfEnabled was
    added to the class.
  ° Key binding for the 'List of ...' dialogs have been added to the Bindings
    methods for the different object types.
    - Anchors: Orca+A
    - Blockquotes: Orca+F1 (Orca+Q is already in use)
    - Buttons: Orca+F2 (Orca+B is already in use)
    - Check boxes: Orca+X
    - Large objects: Orca+O
    - Combo boxes: Orca+C
    - Entries: Orca+E
    - Form fields: Orca+F5 (Orca+Orca+Tab isn't possible)
    - Headings: Orca+F6 (Orca+H is already in use)
    - Headings 1-6: Orca+[1-6]
    - Landmarks: Orca+M
    - Links: Orca+F7
    - Lists: Orca+L
    - List items: Orca+I
    - Live regions: Orca+Y
    - Paragraphs: Orca+P
    - Rado buttons: Orca+R
    - Separator: Orca+F3 (Orca+S is already in use)
    - Tables: Orca+F4 (Orca+T is already in use)
    - Unvisited links: Orca+U
    - Visited Links: Orca+V
  ° For the various object types, a Navigator method was added that is passed
    as additional parameter to the StructuralNavigationObject class call.
  ° For the new object type LINK was been added one Bindings, Criteria,
    Presentation and Predicate method. The Bindings method defines a key binding
    for the 'List of ...' dialog only.
  ° For the object types LINK, UNVISITED_LINK and VISITED_LINK a
    NavigatorPresentation method was added. They follows the links, rather than
    just select them.
* scripts.apps.epiphany.script.py (Script class)
  ° The object type LINK has been added.
* scripts.apps.soffice.script.py (Script class)
  ° The call of the StructuralNavigation class was extended with a parameter
    that has the value False. This disables the 'List of ...' dialogs per
    default.
* scripts.apps.soffice.structural_navigation.py (StructuralNavigation class)
  ° The __init__ method and the call to the StructuralNavigation class from
    structural_navigation.py were also extended with a parameter for the
    'List of ...' dialogs.
* scripts.apps.yelp.yelp_v3.script.py (Script class)
  ° The object type LINK has been added.
* scripts.toolkits.Gecko.script.py (Script class)
  ° The object type LINK has been added.
  ° The call of the GeckoStructuralNavigation class is extended with a
    parameter for the 'List of ...' dialogs.
  ° The application specific settings have been extended with a check box.
    With it it's possible to disable/enable the 'List of ...' dialogs. The check
    box is sensitive with structural navigation enabled, only. By default,
    the dialogs are disabled.
* scripts.toolkits.Gecko.script_settings.py (GeckoStructuralNavigation class)
  ° A setting was added to disable/enable the 'List of ...' dialogs.
  ° The __init__ method and the call of the StructuralNavigation class from
    structural_navigation.py were also extended with a parameter for the
    'List of ...' dialogs.
* scripts.toolkits.WebKitGtk.script.py (Script class)
  ° The call of the StructuralNavigation class was extended with a parameter
    of the value True. This activates the 'List of ...' dialogs by default,
    because application specific settings aren't available for WebKitGtk.
* scripts.toolkits.WebKitGtk.structural_navigation.py (StructuralNavigation class)
  ° The __init__ method the call to the StructuralNavigation class from
    structural_navigation were also extended with a parameter for the
    'List of ...' dialogs.

To define a 'List of ...' dialog  for a strctural navigation object, 10 lines of
code (excluding comments) are necessary.
Comment 154 Jose Vilmar Estacio de Souza 2011-02-08 21:07:22 UTC
(In reply to comment #153)
> Created an attachment (id=180414) [details] [review]
> New patch
I didn't test the patch but I've the following observation:
Orca+p, Orca+o, Orca+i and Orca+u are used when the keyboard layout is set to laptop.
Comment 155 Hammer Attila 2011-02-09 06:29:21 UTC
Jose, you are true.
Marcus, following another keybindings is reserved for goto bookmarks command too in laptop layout:
Orca+1... Orca+6
Look following part with Orca documentation:
http://library.gnome.org/users/orca/2.91/commands_bookmarks.html
I think Orca+Ctrl+1... Orca+Ctrl+6 is free.

Another way if you using laptop layout, and the patch is not applied, launch a structural navigation supported application,  go to learn mode and try press all now you used keybindings. If Orca spokened with an another Orca function description when a structural navigation supported application is launched in learn mode, the keybinding is reserved with another function.

Attila
Comment 156 Marcus Habermehl (BMH1980) 2011-02-09 23:11:16 UTC
The same for Orca+M and Orca+L.

Attila. The Orca+Ctrl variants have been rejected as too complicated. I'm sorry, but I haven't any idea longer. But I think I'm not the only one. Because nobody has a suggestion.

We have 26 structural objects. Orca+Ctrl is too complicated and Orca only is often already in use.

I would agree with you and use Orca+Ctrl. This was already used in the previous versions.

joanie, speak a word of command. :-)
Comment 157 Hammer Attila 2011-09-27 10:38:16 UTC
Marcus, I little looked with actual patch applying for orca-xdesktop and GNOME3 master version.
I have got now more time, and will be testing the latest patch with orca-xdesktop version after I read again latest comments and changes.

With orca-xdesktop branch the last patch applied succesful, of course with GNOME3 master branch this is not happening yet, some need patching files are the patch producing fails.
For example, POTFILES.in are different with two branches.
Your openion need doing lot of work to finalize this function?
What can I help you?

I very would like use this function with next Orca 3.4 version.
Joanie, your openion have a chance to this function are part of 3.4 Orca final version?
Lot of users searching this function for Firefox related (forms list, links list and headings list) with international accessibility related mailing lists. Firefox native not supporting this type function, oldest Navigation Bundle extension is not compatible with newest Firefox releases with bigger than 3.6 release, so my openion absolute need future this function for Screen reader part.
Marcus doed function not only Firefox supporting, supports Yelp, Openoffice/Libreoffice, Thunderbird e-mail client, etc.

For example, I think I fifteen minute prewious answered  question this problem related with vinux-support list, when an user searched a similar plugin for Firefox.

Attila
Comment 158 Hammer Attila 2011-09-27 12:30:17 UTC
Created attachment 197559 [details] [review]
This is the GNOME3 master branch compatible patch

Hy,

Marcus, I fixed two fails your patch po/POTFILES.in and src/orca/MAKEFILE.am related.
Orca-xdesktop related this is not need, but GNOME3 master branch related this is important.
Unfortunately, need two patches to handle this I think, because po/POTFILES.in and src/orca/MAKEFILE.am is full different with two branches.
If anybody want testing, please be carefuly.
This patch are compatible only with Orca GNOME3 master version, not orca-xdesktop version.
If anybody would like using this development function with orca-xdesktop version, use Marcus doed prewious attached patch.

Attila
Comment 159 Marcus Habermehl (BMH1980) 2011-09-27 14:09:12 UTC
Attila, your changes aren't enough. The UI used by my patch is written for Gtk2 and doesn't use gir. I'll try to port the old patch to GNOME3 today. But maybe I've today not enough time.
Comment 160 Hammer Attila 2011-09-27 15:23:53 UTC
Comment on attachment 197559 [details] [review]
This is the GNOME3 master branch compatible patch

Sorry Marcus, I forgot this difference.

Attila
Comment 161 Marcus Habermehl (BMH1980) 2011-09-30 07:14:02 UTC
Created attachment 197853 [details] [review]
Patch for Orca/GNOME/Gtk 3

Here is the patch for Orca/GNOME/Gtk 3.

Please try if the patch is working correctly. Here (Ubuntu 11.10) I have some trouble with UnicodeEncodeError and LookupError in Orca. Because of this I'm not sure if really everything is working.

Currently I see two things that aren't working as expected. If one of the lists is shown I have to do a Tab and a Shift+Tab before the list entries are spoken. But this seems to be Orca related because I get a LookupError at this time.

The other thing is that the settings from the preferences dialog aren't restored. Because of this I have set the listOfEnabled setting to True. Till now I don't know why.
Comment 162 Hammer Attila 2011-09-30 10:29:52 UTC
Marcus, your founded unicode encode traceback related errors is not an introspection related problem?
Look with bug 659122, I founded lot of similar unicode encode or decode traceback error related issues if I using hungarian locale, with Joanie already fixed.

I will be try your patch after I installed my oneiric system with Orca dependencies and rebuilded with master Orca version my system, thank you your work.

Attila
Comment 163 Hammer Attila 2011-09-30 12:15:10 UTC
Hy Marcus,

I little looked your GNOME3 compatible patch, for example Linkslist working wonderful with a simple hungarian webpage.
I found following issues with short testing:
1. Lot of you doed keybindings are conflicting for Orca builtin keybindings.
For example, I think you are defined a part form field list command with ORCA+R (I think list of radio buttons), this keybinding are will be conflicting with Orca dinamic column header setting function for Openoffice.org and Libreoffice.org.
You using Orca+1... Orca+6 to list specific level of headings, but this keystrokes are will be conflicting with Orca jump bookmark commands, this commands are using equals builtin keystrokes for Firefox related.
Lot of part list command are defined you, for example with Orca+I, Orca+O, Orca+L, this you defined keybindings are conflicting with Orca builtin flat review commands for laptop layout.

An other interesting issue, with need you confirmation and perhaps Joanie confirmation:
For example, if I ask links list with a webpage, first list item are not focused and selected I think. Orca begin spokening list items with arrow keys if I press TAB and SHIFT+TAB key combination.
I am not sure, but I think this is a GtkTreetable related problem, because for example with file selection dialogs I see similar issue when I drop down the awailable files list table in GNOME3.
You confirm this?

Attila
Comment 164 Hammer Attila 2012-03-05 10:55:35 UTC
Marcus, unfortunately latest attached patch not working with Orca master version.
When I try actualizing the patch, have only minimal differences in the MAKEFILE.am and POTFILES.in file, and some scripts already removed with the source tree.

Attila
Comment 165 Jose Vilmar Estacio de Souza 2012-03-05 12:42:16 UTC
Any chance of incorporate this patch in orca?
Seems to be very useful and I saw many people requesting for a similar feature.
Comment 166 Hammer Attila 2012-03-05 13:21:10 UTC
Because I think already UI freeze, I very fraid not have chance to land this feature the 3.4 stable upstream release.
But I very hope and wayt future Orca support this feature native, because this function absolute easyest the web browsing, and this function missing since Firefox 4.0 (oldest Navigation Bundle external Firefox extension are unusable since FF4).

Absolute agree with Jose wrote: lot of users searching this function in Orca List since Navigation Bundle are unusable.
This task absolute an important screen reader function my openion, because sighted users don't need listing for example form fields, headings or links in Firefox, Thunderbird or Epiphany, so Mozilla developers for example absolute sure not will be doing this function, but visualy impaired users with migrating other opensource screen reader very missing this function. For example, NVDA support this feature (I think list of headings, form fields and links is possible, I not use NVDA, my primary screen reader is Orca).

Marcus investigate lot of work this feature implementation since 2010 september.
If have possibility to test new revisions, I will be help welcome for testing.
Unfortunately I not see entire why not working the last attached patch in Orca master version. When I tryed resolve some patch failing (for example POTFILES.in and MAKEFILE.am differences, removed already unused scripts), Orca is entire freezed when I restart 
after general make and make install command.

Attila
Attila
Comment 167 Hammer Attila 2012-03-05 14:44:28 UTC
Hy,

Look following result, I looked what files are producing patch apply fail:
patching file po/POTFILES.in
Hunk #1 succeeded at 20 with fuzz 2.
patching file src/orca/Makefile.am
Hunk #1 succeeded at 40 with fuzz 1.
patching file src/orca/object_navigator.py
patching file src/orca/scripts/apps/epiphany/script.py
Hunk #1 FAILED at 56.
1 out of 1 hunk FAILED -- saving rejects to file src/orca/scripts/apps/epiphany/script.py.rej
patching file src/orca/scripts/apps/soffice/script.py
Hunk #1 succeeded at 198 (offset 1 line).
patching file src/orca/scripts/apps/soffice/structural_navigation.py
patching file src/orca/scripts/apps/yelp/yelp_v3/script.py
Hunk #1 FAILED at 50.
1 out of 1 hunk FAILED -- saving rejects to file src/orca/scripts/apps/yelp/yelp_v3/script.py.rej
patching file src/orca/scripts/toolkits/Gecko/script.py
Hunk #1 succeeded at 107 (offset -6 lines).
Hunk #2 succeeded at 353 (offset -3 lines).
Hunk #3 succeeded at 372 (offset -3 lines).
Hunk #4 succeeded at 704 (offset -7 lines).
Hunk #5 succeeded at 731 (offset -7 lines).
Hunk #6 succeeded at 745 (offset -7 lines).
Hunk #7 succeeded at 756 (offset -7 lines).
Hunk #8 succeeded at 900 (offset -7 lines).
Hunk #9 succeeded at 1013 (offset -7 lines).
Hunk #10 succeeded at 1026 (offset -7 lines).
patching file src/orca/scripts/toolkits/Gecko/script_settings.py
patching file src/orca/scripts/toolkits/Gecko/structural_navigation.py
patching file src/orca/scripts/toolkits/WebKitGtk/script.py
Hunk #1 succeeded at 166 with fuzz 2 (offset -7 lines).
patching file src/orca/scripts/toolkits/WebKitGtk/structural_navigation.py
patching file src/orca/structural_navigation.py
Hunk #14 succeeded at 1934 (offset 5 lines).
Hunk #15 succeeded at 1959 (offset 5 lines).
Hunk #16 succeeded at 2050 (offset 5 lines).
Hunk #17 succeeded at 2070 (offset 5 lines).
Hunk #18 succeeded at 2170 (offset 5 lines).
Hunk #19 succeeded at 2195 (offset 5 lines).
Hunk #20 succeeded at 2286 (offset 5 lines).
Hunk #21 succeeded at 2311 (offset 5 lines).
Hunk #22 succeeded at 2404 (offset 5 lines).
Hunk #23 succeeded at 2429 (offset 5 lines).
Hunk #24 succeeded at 2531 (offset 5 lines).
Hunk #25 succeeded at 2556 (offset 5 lines).
Hunk #26 succeeded at 2647 (offset 5 lines).
Hunk #27 succeeded at 2680 (offset 5 lines).
Hunk #28 succeeded at 2777 (offset 5 lines).
Hunk #29 succeeded at 2805 (offset 5 lines).
Hunk #30 succeeded at 2898 (offset -5 lines).
Hunk #31 succeeded at 2923 (offset -5 lines).
Hunk #32 succeeded at 2961 (offset -5 lines).
Hunk #33 succeeded at 3085 (offset -5 lines).
Hunk #34 succeeded at 3120 (offset -5 lines).
Hunk #35 succeeded at 3199 (offset -5 lines).
Hunk #36 succeeded at 3337 (offset -5 lines).
Hunk #37 succeeded at 3362 (offset -5 lines).
Hunk #38 succeeded at 3481 (offset -5 lines).
Hunk #39 succeeded at 3506 (offset -5 lines).
Hunk #40 succeeded at 3601 (offset -5 lines).
Hunk #41 succeeded at 3613 (offset -5 lines).
Hunk #42 succeeded at 3712 (offset -5 lines).
Hunk #43 succeeded at 3732 (offset -5 lines).
Hunk #44 succeeded at 3831 (offset -5 lines).
Hunk #45 succeeded at 3856 (offset -5 lines).
Hunk #46 succeeded at 3947 (offset -5 lines).
Hunk #47 succeeded at 3967 (offset -5 lines).
Hunk #48 succeeded at 4052 (offset -5 lines).
Hunk #49 succeeded at 4072 (offset -5 lines).
Hunk #50 succeeded at 4274 (offset -5 lines).
Hunk #51 succeeded at 4299 (offset -5 lines).
Hunk #52 succeeded at 4416 (offset -5 lines).
Hunk #53 succeeded at 4441 (offset -5 lines).

Attila
Comment 168 Joanmarie Diggs (IRC: joanie) 2012-03-05 15:02:11 UTC
In the meantime, I wonder if updating and maintaining Jon Gunderson's extension is the way to go? Firefox claimed it wasn't updated for version 10, but let me install it anyway.
Comment 169 Joanmarie Diggs (IRC: joanie) 2012-03-05 15:02:50 UTC
Ugh. Submitted before I copied the link:
https://addons.mozilla.org/en-US/firefox/addon/accessibility-evaluation-toolb/

It claims to be an "evaluation" toolbar, but it does allow for navigation.
Comment 170 Hammer Attila 2012-03-05 15:44:13 UTC
I think longer time period better this function inside with orca, because possible supporting more apps.
Marcus oldest patch supports I think Openoffice/libreoffice.org, Thunderbird, Yelp, Firefox, etc.
I think prewious Orca list threads only form fields, links and headings list need.
Practical to keeping the navigator style interface too if an user would like browsing all importanter objects with a treeview.
So, future following possible keystrokes need reserving:
List of form fields: Orca modifier+Ctrl+f5 (Orca+F5 reserved for Pidgin chat).
List of headings: Orca modifier+Ctrl+f6 (Orca+F6 reserved for Pidgin chat).
List of links: Orca modifier+Ctrl+f7 (Orca+F7 reserved for Pidgin chat).
Show all objects: Orca+F8

Attila
Comment 171 Marcus Habermehl (BMH1980) 2012-03-06 14:30:35 UTC
Currently I'm working on a new version. I was able to reduce the code that creates the labels for the list entries.

I've also done concerned about the keyboard shortcuts. It is not possible to get uniform keyboard shortcuts for the lists. And Orca + F1 to F12 is also already in use. So I've considered the following.

With Orca + Down will change in the list mode. Like Orca + BackSpace. Then a navigation button such as "A" key is not jumping to the next anchor, rather a list of all anchors is shown.

What do you think? This is a bit more complicated, but it has uniform shortcuts.

@joanie: On an extension for Firefox to trust I think is wrong. Currently the problem is there that this extension is not being maintained. And what about HTML messages in Thunderbird? Or other browsers like Chrome, Midori, Epiphany, or KDE/Qt browsers, Yelp or Devhelp?
Comment 172 Hammer Attila 2012-03-06 14:59:25 UTC
Marcus, how will be works this new method?
For example if I press future Orca+Down and l will be presenting list of links?
So if I understand right, your purpose prowide easy access with all important structural navigation objects with general structural navigation commands after the user press Orca+Down keystroke?

Before we using Orca+Down keystroke, if possible need resolving bug 607847.
With hungarian keyboard layout only Orca+Down keystroke to practical associate with Sayall operation in laptop layout, because other keybindings are conflicts.
For example, flatreview spokening current character conflicting with sayall command (orca+semicolon), spokening current character attribute conflicting with Orca find, etc.

So, the ydea I think is very good.

Attila
Comment 173 Marcus Habermehl (BMH1980) 2012-03-06 23:28:40 UTC
For the most part you're right. However, "Orca + Down, L" would show a list of lists. :-)

All structural navigation objects would be accessible via a list. Except for table cells and list items. I do not think this makes sense. Except one has a different opinion.

I hope that this also works with headings of a certain level (1-6).

Of course we can talk about "Orca + Down." It was just the first free combination that I've found.

However, I have decided against a list of all objects. It just takes too long to create the list. Especially on pages with many elements.

But before I can test my changes I must find out why Orca ignores all keystrokes on my freshly installed Ubuntu 12:04. :-(

If all goes well, the lists were accessible using these keystrokes:

Orca + Down, A: List of anchors
Orca + Down, Q: List of blockquotes
Orca + Down, B: List of buttons
Orca + Down, X: List of check boxes
Orca + Down, O: List of large objects
Orca + Down, C: List of combo boxes
Orca + Down, E: List of entries
Orca + Down, Orca + Tab: List of form fields
Orca + Down, H: List of headings
Orca + Down, 1: List of headings of level 1
Orca + Down, 2: List of headings of level 2
Orca + Down, 3: List of headings of level 3
Orca + Down, 4: List of headings of level 4
Orca + Down, 5: List of headings of level 5
Orca + Down, 6: List of headings of level 6
Orca + Down, M: List of landmarks
Orca + Down, L: List of lists
Orca + Down, D: List of the live regions
Orca + Down, P: List of paragraphs
Orca + Down, R: List of radio buttons
Orca + Down, S: List of separators
Orca + Down, T: List of tables
Orca + Down, U: List of unvisited links
Orca + Down, V: List of visited links
Orca + Down, Tab: List of links
Comment 174 Hammer Attila 2012-12-04 11:48:02 UTC
Hy Marcus,

Now have a testable patch this function related?
For example now interested an user with linkslist function related in the list.

Attila
Comment 175 Hammer Attila 2012-12-04 12:03:58 UTC
Mozilla based extensions longer time period is not a good solution this situation, because very fast the Mozilla products releasing schedule. Easy happening perhaps following situation any time:
1. Mozilla publicate a new Firefox version.
2. An extension working the new version.
3. Mozilla publicate for example six week later a new main version, but the extension maintainer not doed a new version. This situation the navigation purpose extension will be incompatible the new Firefox main version.

Marcus, you prewious doed an Orca extension with doing links list functions, but unfortunately need putting your script with the .local/share/orca/scripts directory (Mozilla.py file).
Since you sent me your version have a newest version?

Attila
Comment 176 Marcus Habermehl (BMH1980) 2012-12-07 11:25:10 UTC
Hi Attila.

I had written the user-script for my sister. But she did not get along with Linux and has stayed with Windows. Therefore I have not worked on this version.

And since I got no answer to the question about the shortcuts, I have not worked on the patch. Especially since I did not feel that the patch would ever be integrated with Orca.
Comment 177 Hammer Attila 2012-12-07 17:01:52 UTC
Marcus, very sorry, I think I realy forgot to answer your question, unfortunately I have lot of work this year.
Your ydea I think good if need accessing all structural navigation objects, because after the user pressing the first central keystroke, need pressing the real structural navigation binding (x for check box, c for combo box list for example).
Joanie I think begin preparing implementing list of structural navigable element feature, look following commit in master branch:
commit 741c55fceae7f4b2bd2c026d1a7f42b6a9f8271b
Author: Joanmarie Diggs <jdiggs@igalia.com>
Date:   Fri Dec 7 06:39:28 2012 +0100

    Add a _getAll() method to structural_navigation.py
    
    Note: This does not magically give you lists; it is, however, the
    method you need to generate those lists, which I'll work on next.

In src/orca/structural_navigation.py file the _getAll method code is following:
    def _getAll(self, structuralNavigationObject, arg=None):
        """Returns all the instances of structuralNavigationObject."""
        if not structuralNavigationObject.criteria:
            return []

        document = self._getDocument()
        col = document.queryCollection()
        criteria = structuralNavigationObject.criteria(col, arg)
        rule = col.createMatchRule(criteria.states.raw(),
                                   criteria.matchStates,
                                   criteria.objAttrs,
                                   criteria.matchObjAttrs,
                                   criteria.roles,
                                   criteria.matchRoles,
                                   criteria.interfaces,
                                   criteria.matchInterfaces,
                                   criteria.invert)
        rv = col.getMatches(rule, col.SORT_ORDER_CANONICAL, 0, True)
        col.freeMatchRule(rule)
        if criteria.applyPredicate:
            rv = list(filter(structuralNavigationObject.predicate, rv))

        return rv

Attila
Comment 178 Hammer Attila 2012-12-07 17:08:35 UTC
Joanie, keep future this bug for discussion related the new function when need testing the list of structural navigation elements feature?
I welcome help the testing if will be have a test patch an Ubuntu Raring live CD. Orca master version possible building a current daily Ubuntu 13.04 live CD, but this is little hard.

Attila
Comment 179 Marcus Habermehl (BMH1980) 2012-12-17 13:04:16 UTC
Attila, you misunderstood me. The question was primarily addressed to the Orca developers.

But if joanie now working on it, then I do not need to create a new patch. Because I don't know the plans for this feature.
Comment 180 Hammer Attila 2012-12-17 16:41:19 UTC
Oh, sorry Marcus.
Joanie, because the primary method are ready to query structural navigation objects, your openion fit this feature implementation the actual development cicle? If for example I using this new method and query links, what data are returned (link titles, or link objects)?

Attila
Comment 181 Joanmarie Diggs (IRC: joanie) 2012-12-18 06:59:37 UTC
(In reply to comment #180)
> Joanie, because the primary method are ready to query structural navigation
> objects, your openion fit this feature implementation the actual development
> cicle?

That is my plan.

> If for example I using this new method and query links, what data are
> returned (link titles, or link objects)?

The method is not the *only* thing you need. The method will give you link objects (or heading objects or whatever objects). Then you need to get the right text to display, the URL, the heading, the whatever. Doing all of this is easy because we have existing code to do it.

And this bug has gotten ridiculous. I will do the implementation.

*** This bug has been marked as a duplicate of bug 690395 ***