Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NVDA not providing any useful access to OpenOffice/LibreOffice #2870

Closed
nvaccessAuto opened this issue Dec 14, 2012 · 16 comments
Closed

NVDA not providing any useful access to OpenOffice/LibreOffice #2870

nvaccessAuto opened this issue Dec 14, 2012 · 16 comments

Comments

@nvaccessAuto
Copy link

@nvaccessAuto nvaccessAuto commented Dec 14, 2012

Reported by mwhapples on 2012-12-14 13:30
When I use NVDA with OpenOffice 3.4.1 or LibreOffice 3.6.1 (in both cases I am trying to use writer but I have no reason to believe its writer specific) it provides no useful feedback. As an example it does not speak the menus, it does not speak when tabbing around the options dialog, it does not speak document content when cursoring around the document, etc. There are some things which NVDA does speak, one example being when in the options dialog pressing up/down in the tree view of categories does speak the category one moves to.

I have ensured accessibility support is turned on in both LibreOffice and OpenOffice (I have had a sighted person check, I have tried applying the OpenOffice patch for the registry from the NVDA wiki, in the case of LibreOffice I ensured I check the accessibility support check box in the installer).

I have ensured correct functioning of Java accessibility with NVDA, I have run a Java swing application and that was perfectly accessible. I did get a sighted person to check that LibreOffice and OpenOffice were using my installed JRE.

I have noticed that when in OpenOffice or LibreOffice NVDA while observing the text which is in the window, it only presents the text as a single object in NVDAA's object navigation (IE. other than the standard close/maximise/minimise buttons, NVDA sees these windows as a single object).

I have reproduced this issue on multiple computers. I personally have had this on both a 32-bit Windows 7 computer and a Windows 7 64-bit system and both are just as inaccessible when trying to use OpenOffice or LibreOffice. Also someone else within the company I work for reports similar issues with NVDA and OpenOffice, although I cannot speak for whether he has Java accessibility set up correct. However he does report similar reports with OpenOffice and Jaws as I observe when using OpenOffice and Jaws on my own computer (while quite limited is still better than what NVDA is giving us, it seems to speak menus in a sort of way, will speak document content and while not speaking when tabbing in dialogs it does seem to update it on Braille).

I have observed these problems with NVDA 2012.3.1 and daily builds (currently last tried it with main-5691).

I will sometime soon arrange attaching a log, but it probably will not be until later today.

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Dec 14, 2012

Comment 1 by ateu on 2012-12-14 14:33
Are you using java 6 or 7?

I have installed java 6 in my system and there's not any problem both with OpenOffice 3.4.1 and libreoffice 3.5.7.
However, some days ago, I installed java 7 and I had to uninstall it as It would be necessary to clean java settings and this is not a friendly process.

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Dec 14, 2012

Comment 2 by jteh on 2012-12-14 17:31
I've seen these issues as well. I was testing with Java 7. I don't think this is an NVDA issue. From what I can tell, we just don't receive events for these controls. Perhaps this is a Java 7 issue?

It's highly likely that JAWS is reading highlighted text via screen scraping. This would explain why it reads things strangely.

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Dec 14, 2012

Comment 3 by mwhapples on 2012-12-14 18:22
I am using Java 7, so may be that is the problem. If its an issue with OpenOffice/LibreOffice, then I would suggest keeping this ticket open, if the system allows I could change the summary to reflect its for Java 7, and show that its blocked by an OpenOffice/LibreOffice bug. May be also a reference to this being an issue with Java 7 and that Java6 works fine should be made on the wiki.

Has a bug report for this been filed against OpenOffice/LibreOffice?

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Dec 14, 2012

Comment 4 by jteh (in reply to comment 3) on 2012-12-14 18:43
Replying to mwhapples:

May be also a reference to this being an issue with Java 7 and that Java6 works fine should be made on the wiki.

That's assuming that hypothesis is correct. I don't know.

Has a bug report for this been filed against OpenOffice/LibreOffice?

Not by us. We haven't really investigated the issue thoroughly, so don't have any useful information. Because of the accessibility issues/deficiencies in OOo/JAB (even when it was working), debugging this is low priority for us compared to other work.

It'd be great if someone could confirm whether this is specific to Java 7.

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Dec 14, 2012

Comment 5 by mwhapples on 2012-12-14 20:40
I will look into whether Java6 solves it for me, but it might be Monday before I really can confirm it.

I will also take a look on the appropriate bug trackers to see whether bugs have been posted against OpenOffice and LibreOffice.

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Dec 19, 2012

Comment 6 by mwhapples on 2012-12-19 10:52
After doing quite a number of tests, it does seem that the common thing which leads to accessibility working or not is whether one uses Java6 or Java7.

I have tried the following situations: Having both Java6 and Java7 installed, if I select Java6 in the java options of OpenOffice then it is accessible, but if I select Java7 in the java options it is then not accessible. Should I just have Java6 installed then OpenOffice is accessible. Should I just have Java7 installed OpenOffice is not accessible. I have tried this on two computers, one being Windows7 32-bit and one being Windows7 64-bit, on both computers Java6 does seem to be the solution.

I did not have much luck with LibreOffice 3.6, but I think I have seen other comments elsewhere indicating accessibility may just be broken there. Do the LibreOffice developers know about that?

I do notice some other diffferences with Java accessibility between Java6 and Java7 when using other Java swing applications, however no change which breaks accessibility as significantly as this does. So may be there is bugs somewhere in Java/Java access bridge causing this, but I doubt that alone could cause as many changes as I notice with OpenOffice. So I will file a bug report with OpenOffice on this.

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Dec 26, 2012

Comment 7 by jteh (in reply to comment 6) on 2012-12-26 02:30
Replying to mwhapples:

After doing quite a number of tests, it does seem that the common thing which leads to accessibility working or not is whether one uses Java6 or Java7.

Thanks for confirming this. The !LibreOffice developer community seems to disagree (see this FAQ and this ticket comment). I'll have to try setting the recommended environment variables. I don't know why this should make a difference for JRE 7 when it doesn't matter for JRE 6, especially on a 32 bit system, but it's worth trying anyway.

I did not have much luck with LibreOffice 3.6, but I think I have seen other comments elsewhere indicating accessibility may just be broken there. Do the LibreOffice developers know about that?

They do (see this bug report). What version did you test with? According to this FAQ, this is fixed in 3.6.4, which was released early this month.

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Dec 26, 2012

Comment 8 by vsfoote on 2012-12-26 23:29
LibreOffice builds 3.5.0, 3.6.0, 3.6.1, 3.6.2 and 3.6.3 were broken and did not provide Windows AT support via the Java Access Bridge.

Current releases of LibreOffice 3.5.7 and 3.6.4.3, as well as Apache OpenOffice 3.4.1 will expose UNO Accessibility API roles to Java Accessibility API via the Java Access Bridge of Java Runtime Environment 1.6u37 or 1.7u9

When users who have had JRE 1.6 installed and then install JRE 1.7, their per-user configurations for LibreOffice or OpenOffice will need to be modified.

I prefer to delete the entire Office profile and allow it to be rebuilt by deleting these folders from the users %APPDATA% folder:

For example these for a Windows Vista/7/8 user:
C:\Users\AppData\Roaming\LibreOffice
C:\Users\AppData\Roaming\OpenOffice

(Note: slight path differences for users of Windows XP)

Alternatively, to delete the specific Office configuration file, that would be:

C:\Users\AppData\Roaming\LibreOffice\3\user\config\javasettings_Windows_x86.xml

or

C:\Users\AppData\Roaming\OpenOffice\3\user\config\javasettings_Windows_x86.xml

Activate Java Access Bridge (v2.0.2 with JRE 1.6 or v2.0.3 with JRE 1.7).

With NVDA already running, launch of LibreOffice or OpenOffice you need to hear announcement of "Document View" -- if you can not navigate down into the document to get to that location the session will need to be restarted.

The IBM Lotus Symphony suite (last IBM built version is 3.0.1 with two patch bundles released) was converted to use IAccessible2 based roles and so does not have the overhead and poor performance of the Java Accessibility API AT. The Apache OpenOffice project is working on integrating the IBM contributed Symphony IAccessible2 code base into the 4.x release of OpenOffice.

The LibreOffice developers may also adopt that, or may independently develop a Windows native bridge implementing the UNO Accessibility API in a fashion similar to native bridges used for Apple OSX NSaccessibility and Linux ATK, AT-SPI (GNOME Desktop) bridge. But it is not clear exactly how that would proceed for providing Windows AT.

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Dec 28, 2012

Comment 9 by mwhapples (in reply to comment 7) on 2012-12-28 07:44
Thanks for that information, I will try some of that stuff.

Yes I had been trying with LibreOffice 3.6.3, so I am about to upgrade to 3.6.4 which is meant to be accessible. However, the issues I had with Apache OpenOffice 3.4.1 with Java7, even on a 32-bit system, means I do not really hold much hope for the Java7 stuff working.

Interesting to see the mentions of upgrading from Java6 to Java7, however I am fairly certain the 32-bit system I tried it on never had Java6 installed, IE. it only had Java7 until I started this more thorough testing to investigate what is going on.

Regardless of what I find, this simply tells me the accessibility support of OpenOffice/LibreOffice through Java is fragile at best and the IAccessible2 support in OpenOffice cannot come soon enough. Should the company I work for decide to push forward with powering the software suite with OpenOffice I will just be glad I am not in the support team and having to support this current situation.
Replying to jteh:

Replying to mwhapples:

After doing quite a number of tests, it does seem that the common thing which leads to accessibility working or not is whether one uses Java6 or Java7.

Thanks for confirming this. The !LibreOffice developer community seems to disagree (see this FAQ and this ticket comment). I'll have to try setting the recommended environment variables. I don't know why this should make a difference for JRE 7 when it doesn't matter for JRE 6, especially on a 32 bit system, but it's worth trying anyway.

I did not have much luck with LibreOffice 3.6, but I think I have seen other comments elsewhere indicating accessibility may just be broken there. Do the LibreOffice developers know about that?

They do (see this bug report). What version did you test with? According to this FAQ, this is fixed in 3.6.4, which was released early this month.

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Dec 28, 2012

Comment 10 by jteh on 2012-12-28 08:12
In ticket:2753#comment:9, @vsfoote (who is a !LibreOffice project volunteer) is arguing that this is an NVDA problem. Can you clarify the behaviour with JAWS in Java 6 versus 7?

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Dec 28, 2012

Comment 11 by mwhapples on 2012-12-28 08:16
OK, further testing reveals that I have managed to get OpenOffice.org and LibreOffice working with Java7 (eg. when I press alt NVDA recognises it is in a menu control, in the categories in the options dialog it recognises which index is selected, etc), however the accessibility is still very poor and certainly well below that one can get when using Java6, therefore I will stick with the statement that OpenOffice/LibreOffice accessibility is broken on Java7.

Here is such a test case (using NVDA) which shows one difference:

  1. Open writer (either OpenOffice.org writer or LibreOffice, both show the bug).
  2. Type something in the document editor.
  3. Press alt+f4 and the dialog asking whether you want to save changes should appear.
  4. Press tab to move between the buttons.

Expected: The button which gets focus will be spoken.
Actual: Nothing is spoken or Brailled when using Java7, if using Java6 expected occurs.

As the above case is fairly core to using an office suite and it affects other dialogs when a user tabs between controls (eg. in the options dialog I can only get the categories tree view spoken, tabbing in options does not speak), I could not classify accessibility of OpenOffice/LibreOffice as useful when using Java7.

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Dec 28, 2012

Comment 12 by mwhapples (in reply to comment 10) on 2012-12-28 10:09
Replying to jteh:

In ticket:2753#comment:9, @vsfoote (who is a !LibreOffice project volunteer) is arguing that this is an NVDA problem. Can you clarify the behaviour with JAWS in Java 6 versus 7?

The test case I documented in comment #11 also seems to be holding for Jaws, Jaws while identifying certain control types like menubar, it does not speak controls which get focus when pressing tab in dialog boxes, when the used JRE is Java7. Using Java6 seems to work fine.

It is worth noting that I have also observed some changes between Java access bridge behaviour on Java6 and Java7 when using a pure Java swing application, so it does not surprise me that differences may occur for OpenOffice/LibreOffice.

VSFoot: Could you try the test case I have given in comment #11, as I have noted, yes the Java access bridge is being initialised correctly but there are too many cases where things just don't work to make it even possible to consider as a viable accessible solution (eg. if you do not know what control has got focus how can you interact with the simplest question dialogs).

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Dec 29, 2012

Comment 13 by vsfoote on 2012-12-29 00:17
I have done a side-by-side bare metal Windows 7 OS installation on two identical i7-2600 64-bit systems in one of our labs. The ONLY difference is installation of 32-bit JRE 1.6u38 and the JWin installer for JAB on one, and 32-bit JRE 1.7u10 with "jabswitch /enable" on the other. No 64-bit JRE is installed, and a JAVAHOME variable and system PATH entry were made such that a "where java" command and "java -version" command issued in a command window return correct details and path for the JRE installed.

I can '''confirm''' the test case behavior of the save--Alert event--dialog not gaining focus for audible rendering by NVDA under JRE 1.7. The JRE 1.6 does sound the role Name of each exposed push button object.

Viewing the events in 32-bit JavaMonkey shows the JAB delivered accessibility roles to be identical. As is the non-sounding Alert object of the test case. They just do not sound under JRE 1.7 with NVDA.

I am not able to test a Jaws installation.

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Jan 3, 2013

Comment 14 by jteh on 2013-01-03 23:49
Related LibreOffice bug report

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Nov 8, 2013

Comment 15 by jteh on 2013-11-08 01:40
Fixed in LibreOffice 4.0.5. I'm not sure about OpenOffice. Note that OpenOffice and LibreOffice are moving to IA2 soon anyway, so this won't matter then.
Changes:
State: closed

@nvaccessAuto
Copy link
Author

@nvaccessAuto nvaccessAuto commented Nov 8, 2013

Comment 16 by vsfoote (in reply to comment 15) on 2013-11-08 02:34
Replying to jteh:

Fixed in LibreOffice 4.0.5. I'm not sure about OpenOffice. Note that OpenOffice and LibreOffice are moving to IA2 soon anyway, so this won't matter then.

Yes, Java 7 introduced a few API changes that both LO and AOO had to correct for. David Ostrovsky fixed it first on the LO side at 4.0.5 release, and then ported it to the AOO side in time for the 4.0.0 release.

Here are the respective BZ issues for both projects:
https://bugs.freedesktop.org/show_bug.cgi?id=58995
https://issues.apache.org/ooo/show_bug.cgi?id=119525
https://issues.apache.org/ooo/show_bug.cgi?id=121510

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant