GNOME Bugzilla – Bug 620331
Structural navigation objects should be navigable by a "list of" dialog
Last modified: 2012-12-18 06:59:37 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
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.
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
(3.0 Planning Spam-o-rama. Sorry!)
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.
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.
Created attachment 169521 [details] [review] Implementation of the navigation window
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.
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
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
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
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.
Created attachment 169557 [details] [review] 0002
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
Created attachment 169627 [details] [review] Fixing column order and adding lists to form entries
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.
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.
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?
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
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?
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!
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
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.
Created attachment 169677 [details] [review] Joined patch of all changes
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
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.
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...
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.
(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.
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:
(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.
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?
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.
Created attachment 169810 [details] [review] Add support for structural navigation by list.
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.
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
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
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
I'd like to suggest that the message "Please wait while HTML objects are collected." was spoken using the voice system.
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
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
(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.
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
(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.
Created attachment 169983 [details] [review] Version with 3 lists
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.
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
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.
(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? :-)
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
(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.
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.
(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.
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.
(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
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
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.
(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?
(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."?
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
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
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.
Thank you the fix, now works all change right. Attila
(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.
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.
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
Unfortunately I unable to send screen shot, because I press Printscreen key, the form fields list window is closed. Attila
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.
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
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.
Eh, maybe I'm wrong about the second way to determine the label. Have to check this.
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
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
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
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. :-(
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
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.
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.
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."
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
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?
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
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?
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
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.
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.
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):
+ Trace 224083
consumed = self.function(script, inputEvent)
html_object_navigator.showHtmlObjectNavigatorUI("links")
if HON.init():
self.objectStore.append([getLabel(i), i])
return "%s %s %s" % (guessName(obj), getType(obj), getContent(obj))
elif obj.parent.getChildAtIndex(obj.getIndexInParent() - 1).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
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.
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
(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.
(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.
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.
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
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
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?
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
(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.
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
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
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
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
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. :-)
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
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
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.
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.
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. ;-)
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
Created attachment 172269 [details] This debug.out possible show the problem with I prewious described
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.
(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?
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
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.
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
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.
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
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.
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
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
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.
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
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
Can you please attach a debug output with the new patch? Maybe there is another problem that I have to fix.
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
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.
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
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
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. :-(
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
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.
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. :-):-)
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!
Attila, can you mark your old patches and debugs as obsolete? I haven't access to do this.
(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.
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
@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.
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
Thanks Attila. Attila, Bugzilla is hiding obsolete attachments. You can view/hide them with the links 'Show obsolete' or 'Hide obsolete'.
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
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.
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
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
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
Another page with seeing the form fields related second problem: http://openhouse.hu/hu/ Attila
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
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
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
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.
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
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?
(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.
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
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
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.
(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.
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
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. :-)
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
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
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 on attachment 197559 [details] [review] This is the GNOME3 master branch compatible patch Sorry Marcus, I forgot this difference. Attila
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.
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
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
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
Any chance of incorporate this patch in orca? Seems to be very useful and I saw many people requesting for a similar feature.
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
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
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.
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.
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
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?
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
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
Hy Marcus, Now have a testable patch this function related? For example now interested an user with linkslist function related in the list. Attila
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
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.
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
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
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.
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
(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 ***