Community
Participate
Working Groups
I've recently downloaded the latest RC of Eclipse Mars. Unfortunately some important viewparts became inaccessible to blind users in this pre-release: for example the text of the console or the about dialog is not readable. I tested if i'm really in the console by copying the current text into a gedit and well, i got the complete output from the console. Also in the about dialog i can only read a couple of buttons "installation details" "help" and " ok", all others are reported as "button". So i'd guess it might be an issue with multi text fields maybe. I'm using Gentoo 3.18.x and Gnome 3.14 with gnome-orca as screen reader. The eclipse dist i used was the J2EE brand for linux-gtk-x86_64.
Confirmed as described. Also I can not access the editor using orca.
Created attachment 254411 [details] listner to hoep reproduce the problem The attached script can be used to reproduce the problem. 1. Launch eclipse 4.4.2 and open the java editor. 2. Open a terminal session in a linux environment and launch the attached script. 3. Return to the java editor in eclipse and type some text. While typing, the script launched in the step 2 shows some events like: object:text-caret-moved(15, 0, 0) source: [text | ] host_application: [application | Eclipse] object:text-changed:insert(15, 1, /) source: [text | ] host_application: [application | Eclipse] object:text-caret-moved(16, 0, 0) source: [text | ] host_application: [application | Eclipse] object:text-changed:insert(16, 1, /) source: [text | ] host_application: [application | Eclipse] object:text-caret-moved(17, 0, 0) Now try the same steps using eclipse 4.5 rc3 and observe that no events are shown while typing.
Only to report that the problem persist using rc4.
This problem exists with GTK3 versions only. If you use GTK2 this problem does not occur This problem exists in 4.4.2 as well. In 4.4.2 the default is to use GTK2 on Ubuntu 14. If start 4.4.2 in GTK 3 we can see this problem. This problem is not a regression
Thanks for this suggestion but this causes new issues: for example if forcing gtk2 with Eclipse Mars would give us trouble switching viewparts via Ctrl + F7 because they are hard sorted instead of dynamically rearranged ( the last one on top etc) So for me this is not an fix nor an option.
What about this issue? Should i close it and open up new ones for each other issue the gtk2 setting causes or just add them to this one? Maybe there is also another solution to this that causes no other issues?
(In reply to Jann Schneider from comment #6) > What about this issue? Should i close it and open up new ones for each other > issue the gtk2 setting causes or just add them to this one? Maybe there is > also another solution to this that causes no other issues? After upgrading my env. to gnome 3.16 still no luck with this: forcing gtk2 works for luna but not for mars! Any other suggestions? Currently eclipse mars is just inaccessible for blind users!
Using Eclipse 4.5.1 things are getting even worse. Looks like forcing GTK2 doesn't help anymore! Some viewparts i tested: * JavaEditor: inaccessible * Help -> about dialog: only "OK" and "Installation Detaills" buttons are read by orca * Installation Detaills: partly accessible. i.e. cannot tab anywhere etc. * PackageExplorer: accessible Are there any more things i should test or can provide? Maybe using some particular debug settings etc. ? Any help would be apreciated!
I can confirm this bug does occur on arch linux, with eclipse 4.5.1. This doesn't seem to be a gtk3 issue, because other gtk3 applications, examples include gedit, gnome-builder, etc work fine. I'll gladly produce an orca debug log if needed to solve this bug. This is a very important bug to be solved, as we have several blind and visually impaired people who depend on eclipse as their daily driver. The gtk2 options seems not to work.
Yes, eclipse 4.5 is completely inaccessible on Linux for blind users. I use eclipse in linux since 2009 and this is the first version that I can not use. What can be done to fix this bug?? Thanks.
Looks like the VM setting -DSWT_GTK3 is not recognized anymore. Instead we have to use the launcher parameter --launcher.gtk_version 2 in the eclipse.ini file, before the launcher.vmargs parameter, or export SWT_GTK3=0 to the unix env before launching eclipse. If i do it that way i can read the editors again. I'll do some testing now to find out if there any other issues when using this setting.
Unfortunately there are still some major issues when running with gtk2 enabled that stopped me from testing on: - some times the editor content is not displayed after the startup until i switch editors. If i switch to another file and back to the first one afterwards its content is displayed again. - In the help -> about dialog the buttons are all spoken now. But i cannot get to the eclipse build information viewpart. The one displaying something like "Eclipse 4.5.1 build M2015..." No way to get to this using tab. - A much bigger problem is that in many situations the keyboard shortcuts stop working. For example if i configure anything in the window -> preferences pages and close that i cannot use any shortcut anymore. Not even Alt + F4 and such ones. So i have to kill eclipse and restart it afterwards. Another situation where i noticed this issue was when i launched another eclipse instance from within the running one to test a plugin i'm working at. - Some widgets in the preferences dialogs are not spoken. As an example i tried to configure some gradle tasks. Wherever i am putting the focus at using tab, most of the widgets are not read by orca. - Another problem is related to the tab items: for example in the manifest / plugin editor or the preference pages. Sometimes they are accessible, some times not. But i can't see any pattern when this occurs or not. - The wrong application name is propagated to the at-spi2 registry. But i've created another issue containing more information about that #481824. - when switching views using Ctrl + F7 the list is still hard sorted. That means i always get a somehow ordered list instead of getting the most recently used views at the top of the list. Any further suggestions?
(In reply to Jann Schneider from comment #12) Most (nearly all) of the issues described in the comments in this bug fall under the category of "things which must be fixed in Eclipse." However I'm not sure about this one: > - some times the editor content is not displayed after the startup until i > switch editors. If i switch to another file and back to the first one > afterwards its content is displayed again. and this one: > - Some widgets in the preferences dialogs are not spoken. As an example i > tried to configure some gradle tasks. Wherever i am putting the focus at > using tab, most of the widgets are not read by orca. The possibilities that spring to my mind include: 1. Genuine Orca bug 2. Eclipse bug similar to what we see in Gtk+ which I can work around in Orca 3. Eclipse bug If it's 3, well, never mind. If it's 1 then I'd like to fix it. If it's 2, I'm willing to work around whatever Eclipse/Gtk+ bug it is. That won't solve all your issues, but it would at least reduce their number. Therefore, if you email me privately two separate full debug.outs, one per each issue I'll take a look. Thanks!
ping.
See also: Bug 473800
New Gerrit change created: https://git.eclipse.org/r/71465
This is an important bug that needs to be fixed but unfortunately, it doesn't look like we'll be able to do it in time for 4.6, deferring to 4.6.1. Eric, please re-target if you disagree and think its possible to do it sooner...
(In reply to Arun Thondapu from comment #17) > This is an important bug that needs to be fixed but unfortunately, it > doesn't look like we'll be able to do it in time for 4.6, deferring to 4.6.1. Missed 4.6.1 as well, re-targeting to 4.6.2.
Moving to 4.7, fix can be backported to 4.6.3 if possible.
We should fix this for 4.7.
Moving to 4.7.1 as we do not have a fix yet and it may be too late for 4.7. Eric, do you intend to continue working on this bug? Please un-assign yourself if you won't be able to get to it for 4.7.1 so that someone else can try to take a look. Thanks!
(In reply to Arun Thondapu from comment #21) > Moving to 4.7.1 as we do not have a fix yet and it may be too late for 4.7. > > Eric, do you intend to continue working on this bug? Please un-assign > yourself if you won't be able to get to it for 4.7.1 so that someone else > can try to take a look. Thanks! Hi Arun, I am back at Red Hat full time now and this is on my list. I can't say about 4.7.1 because I don't know how much work is to be done, but I'll definitely be looking into this in the next weeks.
(In reply to Eric Williams from comment #22) > (In reply to Arun Thondapu from comment #21) > > Moving to 4.7.1 as we do not have a fix yet and it may be too late for 4.7. > > > > Eric, do you intend to continue working on this bug? Please un-assign > > yourself if you won't be able to get to it for 4.7.1 so that someone else > > can try to take a look. Thanks! > > Hi Arun, > > I am back at Red Hat full time now and this is on my list. I can't say about > 4.7.1 because I don't know how much work is to be done, but I'll definitely > be looking into this in the next weeks. Hi Eric, Are you actively looking into this bug? If not I would like to work on this. Can you please provide me with your analysis? Thanks Sravan
(In reply to Sravan Kumar Lakkimsetti from comment #23) > Hi Eric, > > Are you actively looking into this bug? If not I would like to work on this. > Can you please provide me with your analysis? > > Thanks > Sravan Hi Sravan, here is what I have discovered so far: I tested GTK2 on all Luna versions and Orca seems to work pretty reliably. I have not tested newer versions with GTK2 yet. GTK3 SWT Accessibility seems completely broken -- Orca crashes after a few seconds or just hangs and nothing is read. I suspect GTK3 accessibility never worked and we only found out around Luna/Mars because that is when GTK3 became the default. As for the cause: SwtFixed is likely the culprit. GTK3 widgets are accessible out of the box, so "native" widgets should work fine. The issue is that we stuff every widget into an SwtFixed container. Since SwtFixed is a custom widget, the "out of the box" accessibility support is non-working. Unfortunately the GTK documentation for accessibility is out of date or exists at a very high level. For custom widgets I have found the following document: https://developer.gnome.org/accessibility-devel-guide/stable/gad-custom.html.en To make matters worse: it seems GTK changed the entire accessibility framework in GTK3.6, yet most of the documentation still highlights the "old" way. This makes looking for help rather confusing. My plan so far is the following: -start by making a native GTK application which uses SwtFixed (i.e. bring the code in os_custom.c into a GTK project and create an app that uses it) -go from there to make SwtFixed accessible at the native level in GTK3 only -integrate that approach into SWT I haven't looked at the code in AccessibleObject/AccessibleFactory yet, since it's pretty long and rather complex. However this is also on my to-do list. This all said: I am approaching this project with virtually no knowledge of accessibility machinery. I have been assigned this task, however I'd be happy to collaborate with you (or anyone else) who is interested.
A quick update: I created a GTK project that makes use of the SwtFixed container on a native level. You can find it here if anyone is interested: https://github.com/ericwill/swtfixed_native The snippet I created puts a push button into an SwtFixed container. When running the snippet, Orca has no problem reading the button or its text. It's possible that the accessibility code in SWT is preventing Orca from reading the native GTK widgets properly. How we deal with custom widgets (like StyledText, CTabFolder) that are drawn manually at the Java level is a different issue.
Further update: I was playing around with Orca today and it turns out I was mistaken about GTK3 accessibility being completely broken. Orca doesn't actually crash, it just seems to hang for awhile. It reads Eclipse on GTK3, but for some reason the first "read" takes anywhere from 10-30 seconds to happen. After that, it reads native GTK widgets without issue. However this bug is still an issue. As pointed out by the initial reporter, the custom widgets are broken. For CTabFolder, Orca just reads "panel". Nothing is read on StyledText.
(In reply to Eric Williams from comment #26) > Further update: I was playing around with Orca today and it turns out I was > mistaken about GTK3 accessibility being completely broken. Orca doesn't > actually crash, it just seems to hang for awhile. It reads Eclipse on GTK3, > but for some reason the first "read" takes anywhere from 10-30 seconds to > happen. After that, it reads native GTK widgets without issue. > This 30 seconds delay should be fixed too. :) > However this bug is still an issue. As pointed out by the initial reporter, > the custom widgets are broken. For CTabFolder, Orca just reads "panel". > Nothing is read on StyledText.
well actually in gtk2 eclipse tabs are also not read, as well as checkboxes in tree views, so some problems may be common in both
(In reply to Michał Zegan from comment #28) > well actually in gtk2 eclipse tabs are also not read, as well as checkboxes > in tree views, so some problems may be common in both Thank you for letting me know, I'll make a note of it.
Hi Eric, I can collaborate with you on this bug. Please let me know if you like me to look into any specific problem or I can help you in testing and reviews. Thanks Sravan
New Gerrit change created: https://git.eclipse.org/r/104584
(In reply to Eclipse Genie from comment #31) > New Gerrit change created: https://git.eclipse.org/r/104584 I am pleased to announce that I've made some progress for GTK3 accessibility. I am planning to commit a base implementation by M3 -- it won't be fully featured, but Orca shouldn't crash and native GTK3 widgets will be read. As we approach the 4.8 release I will commit the interface implementations which make the custom widgets (StyledText, CTabFolder, etc.) accessible. The GTK2 accessibility implementation will still work during this time.
Nice work, Eric! Looks like you are headed in the right direction by making sure the Platform Interface (PI) layer (all the c and h files and their java equivalent) correctly reflects the actual platform API. There could be new functions or new parameters, new structs or fields, or even sometimes a parameter or field would change size (1/2/4/8/16/32 bytes...) and you would have to make sure all the sizes matched up... not sure if that's still the case.
(In reply to Carolyn MacLeod from comment #33) > Nice work, Eric! Looks like you are headed in the right direction by making > sure the Platform Interface (PI) layer (all the c and h files and their java > equivalent) correctly reflects the actual platform API. There could be new > functions or new parameters, new structs or fields, or even sometimes a > parameter or field would change size (1/2/4/8/16/32 bytes...) and you would > have to make sure all the sizes matched up... not sure if that's still the > case. Yes I have noticed a few areas where things have changed: as I go along and implement the interfaces I will fix those cases.
Gerrit change https://git.eclipse.org/r/104584 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=bdaf68d5b28b47ddfaaed68ea77705a26e1f02be
(In reply to Eclipse Genie from comment #35) > Gerrit change https://git.eclipse.org/r/104584 was merged to [master]. > Commit: > http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/ > ?id=bdaf68d5b28b47ddfaaed68ea77705a26e1f02be Initial implementation merged. Please note not all the interfaces are implemented -- sometimes there will be warnings like the following: GLib-GObject-WARNING **: gsignal.c:3492: signal name 'selection_changed' is invalid for instance '0x7faac9689bc0' of type 'SwtFixedAccessible' This is perfectly normal and will go away as I implement more of the remaining interfaces. These warnings should only appear if assistive technologies like Orca are enabled. Please let me know if you encounter any bugs or unstable behavior.
New Gerrit change created: https://git.eclipse.org/r/106121
Gerrit change https://git.eclipse.org/r/106121 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=20c904694cf657067bc4156df2818978c6c67981
(In reply to Eclipse Genie from comment #38) > Gerrit change https://git.eclipse.org/r/106121 was merged to [master]. > Commit: > http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/ > ?id=20c904694cf657067bc4156df2818978c6c67981 This commit adds the implementation of AtkAction, AtkHypertext, and AtkSelection.
*** Bug 525905 has been marked as a duplicate of this bug. ***
New Gerrit change created: https://git.eclipse.org/r/110072
New Gerrit change created: https://git.eclipse.org/r/110073
Gerrit change https://git.eclipse.org/r/110073 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=145622248428ee928822ee41cc0db72303b9e580
(In reply to Eclipse Genie from comment #43) > Gerrit change https://git.eclipse.org/r/110073 was merged to [master]. > Commit: > http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/ > ?id=145622248428ee928822ee41cc0db72303b9e580 I've merged a "stub" implementation of AtkText just to keep the warnings quiet until I can fully implement all the interfaces.
New Gerrit change created: https://git.eclipse.org/r/110244
Gerrit change https://git.eclipse.org/r/110244 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=4dee7f187eee7c8e55df2ad89a3d32263613e17c
(In reply to Eclipse Genie from comment #46) > Gerrit change https://git.eclipse.org/r/110244 was merged to [master]. > Commit: > http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/ > ?id=4dee7f187eee7c8e55df2ad89a3d32263613e17c This commit adds support for AtkText and AtkEdtiableText interfaces.
New Gerrit change created: https://git.eclipse.org/r/111744
Gerrit change https://git.eclipse.org/r/111744 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=d827c82d6b45e9c562a7a1d018aa58dcea143370
(In reply to Eclipse Genie from comment #49) > Gerrit change https://git.eclipse.org/r/111744 was merged to [master]. > Commit: > http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/ > ?id=d827c82d6b45e9c562a7a1d018aa58dcea143370 This commit implements the AtkValue interfaces.
Nice! You are really powering through them now. So far, you've done AtkAction, AtkHypertext, AtkSelection, AtkText, AtkEdtiableText and AtkValue - correct? How many are left?
(In reply to Carolyn MacLeod from comment #51) > Nice! You are really powering through them now. > So far, you've done AtkAction, AtkHypertext, AtkSelection, AtkText, > AtkEdtiableText and AtkValue - correct? > How many are left? AtkTable and AtkComponent. The goal is to have the interface implementations done by M4. After that there are a "few bigger picture" bugs that need to be fixed, like proper support for the children of emulated widgets, as well as attaching Java accessibility listeners to native GTK widgets.
New Gerrit change created: https://git.eclipse.org/r/111819
Gerrit change https://git.eclipse.org/r/111819 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=4862a836c026f25eb58f77ba7d3f4bf76628d6d2
New Gerrit change created: https://git.eclipse.org/r/112119
Gerrit change https://git.eclipse.org/r/112119 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=e9f04cf30d44ab209fc8e1d6a02de86ac6405ed6
(In reply to Eclipse Genie from comment #56) > Gerrit change https://git.eclipse.org/r/112119 was merged to [master]. > Commit: > http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/ > ?id=e9f04cf30d44ab209fc8e1d6a02de86ac6405ed6 This patch completes the last of the interface implementations (AtkComponent) in master. I'm going to be closing this bug now and opening other bugs for specific issues, since this bug is very general. The umbrella accessibility bug for 4.8 is bug 517380.
New Gerrit change created: https://git.eclipse.org/r/112261
Gerrit change https://git.eclipse.org/r/112261 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=ff9c6b0805debbdaeb6ec9b0fc6ea96777efb0cc
(In reply to Eclipse Genie from comment #59) > Gerrit change https://git.eclipse.org/r/112261 was merged to [master]. > Commit: > http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/ > ?id=ff9c6b0805debbdaeb6ec9b0fc6ea96777efb0cc Fixed up a minor compilation warning in os_custom.c.
Please verify(get verify) this bug fix in latest M4 build.
status bar is not read in gtk2. is that fixed in gtk3
(In reply to Michał Zegan from comment #62) > status bar is not read in gtk2. is that fixed in gtk3 I will check. What/where is the status bar? And how do you get Orca to read it?
this thing displaying for example on what line you are in the editor, not sure what else. works on windows, so insert+double numpad enter will say a status bar.
(In reply to Michał Zegan from comment #64) > this thing displaying for example on what line you are in the editor, not > sure what else. works on windows, so > insert+double numpad enter will say a status bar. Okay, I will investigate -- most likely in January as I am taking a small break from accessibility work at the moment.
ping/reminder about checking if status bar is being read
(In reply to Michał Zegan from comment #66) > ping/reminder about checking if status bar is being read AFAICT it is not working on Linux at the moment. However I am not working on accessibility for the time being -- please file a bug and I'll be sure to make a note of it when I return to accessibility work.
New Gerrit change created: https://git.eclipse.org/r/121273
Gerrit change https://git.eclipse.org/r/121273 was merged to [master]. Commit: http://git.eclipse.org/c/www.eclipse.org/eclipse/news.git/commit/?id=7dac16bbb771658635011ced8304c4d62b612d28