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

LibreOffice Writer: in Confirm dialog in Document restore is not announced when using screenreaders #11687

Closed
peterpacult opened this issue Sep 28, 2020 · 6 comments · Fixed by #12801

Comments

@peterpacult
Copy link

Steps to reproduce:

  1. Crash LibreOffice
  2. restart LibreOffice
  3. Dissmiss restoring Documents
  4. The confirm dialog opens and all you can here from screenreader is "Yes" or "No".

Actual behavior:

Only the buttons (Yes or No) are announced by screenreader.

Expected behavior:

The question, which this dialog asks should be announced.

System configuration

NVDA installed/portable/running from source:

installed

NVDA version:

2020.2

Windows version:

Edition Windows 10 Home
Version 1909
Operating system build 18363.1016

Name and version of other software in use when reproducing the issue:

LibreOffice
Version: 7.0.0.3 (x64)
Build ID: 8061b3e9204bef6b321a21033174034a5e2ea88e
CPU-Threads: 4; BS: Windows 10.0 Build 18363; UI-Render: Skia/Vulkan; VCL: win
Locale: de-DE (de_DE); UI: de-DE
Calc: threaded

Other information about your system:


Other questions

Does the issue still occur after restarting your computer?

Yes.

Have you tried any other versions of NVDA? If so, please report their behaviors.

No.

If addons are disabled, is your problem still occuring?

Not tested.

Did you try to run the COM registry fixing tool in NVDA menu / tools?

Not tested.

@feerrenrut feerrenrut changed the title Accessibility text in Confirm dialog in Document restore is not announced when using screenreaders LibreOffice Writer: in Confirm dialog in Document restore is not announced when using screenreaders Sep 30, 2020
@peterpacult
Copy link
Author

This issue has also been reported to the Document Foundation; see https://bugs.documentfoundation.org/show_bug.cgi?id=135588

michaelweghorn added a commit to michaelweghorn/nvda that referenced this issue Sep 2, 2021
As is done for objects of role 'controlTypes.Role.PANE'
also descend into children when retrieving the dialog text
from an object of role 'controlTypes.Role.OPTIONPANE'.

This is used e.g. in LibreOffice's message dialogs and
makes sure that the text in the dialogs is read out.

Note: In addition to this change in NVDA, it also requires
the following commit recently committed to LibreOffice [1]
(which will be contained in LibreOffice 7.3)

    commit e29f80efc826fdc8a8e4b7cbdd3becf2f074cce4
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Wed Sep 1 16:25:01 2021 +0200

        tdf#135588 wina11y: Map AccessibleRole::STATIC to ROLE_SYSTEM_STATICTEXT

Its commit message has some more background information.

Fixes nvaccess#11687

[1] https://git.libreoffice.org/core/+/e29f80efc826fdc8a8e4b7cbdd3becf2f074cce4%5E%21
@michaelweghorn
Copy link
Contributor

I have made two related changes in LibreOffice, s. https://bugs.documentfoundation.org/show_bug.cgi?id=135588 .
An additional change is needed to make sure that the dialog text is actually announced. From how I understand it, that is best handled on NVDA side, and I have created a pull request for this: #12801

I'd be happy to receive feedback on this.

michaelweghorn added a commit to michaelweghorn/nvda that referenced this issue Sep 2, 2021
As is done for objects of role 'controlTypes.Role.PANE'
also descend into children when retrieving the dialog text
from an object of role 'controlTypes.Role.OPTIONPANE'.

This is used e.g. in LibreOffice's message dialogs and
makes sure that the text in the dialogs is read out.

Note: In addition to this change in NVDA, it also requires
the following commit recently committed to LibreOffice [1]
(which will be contained in LibreOffice 7.3)

    commit e29f80efc826fdc8a8e4b7cbdd3becf2f074cce4
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Wed Sep 1 16:25:01 2021 +0200

        tdf#135588 wina11y: Map AccessibleRole::STATIC to ROLE_SYSTEM_STATICTEXT

Its commit message has some more background information.

Fixes nvaccess#11687

[1] https://git.libreoffice.org/core/+/e29f80efc826fdc8a8e4b7cbdd3becf2f074cce4%5E%21
@peterpacult
Copy link
Author

peterpacult commented Sep 7, 2021 via email

@michaelweghorn
Copy link
Contributor

Hello Peter,
thanks for your readiness to help here. This is the first time I am trying to contribute to NVDA, so many things are new to me as well. My request for feedback to my pull request was primarily targeted at NVDA developers.

If you wanted to test this as a user, you would need LibreOffice 7.3 (i.e. the current development version), as well as NVDA with the change from my pull request included. (It is not contained in any alpha version or official development snapshot as of now.)

If you want, you can download a current development version of LibreOffice 7.3 from here:
https://dev-builds.libreoffice.org/daily/master/Win-x86_64@tb77-TDF/current/
That page links to the MSI installer files. Unless you want to have support for additional languages or want to install the help files, you'll just need the first MSI installer from there, called LibreOfficeDev_7.3.0.0.alpha0_Win_x64.msi . If you install this, it will install the LibreOffice development version as "LibreOfficeDev", and will keep your stable LibreOffice version unchanged. (That means you can choose whether to start the stable version of LibreOffice or the development version.)

However, I don't know whether there's an easy way to get an NVDA version including the change from my pull request. (An automated test build is done for the pull request, but I do not know whether the resulting NVDA build artifact is offered for download anywhere. (Maybe people more experienced with NVDA's CI setup can help here...)

@CyrilleB79
Copy link
Collaborator

Here is a download link for the build generated by the PR #12801 .

FYI, to find it from the PR, just click on the details link of the appVeyor paragraph and you will get to the appVeyor page of this build. Click the artifact tab and you will find all the artifacts generated for this commit, among which the snapshot build.

@michaelweghorn
Copy link
Contributor

@CyrilleB79: Thanks!

michaelDCurran pushed a commit that referenced this issue Sep 14, 2021
…12801)

Text in LibreOffice message dialogs is not announced by NVDA.
Description of how this pull request fixes the issue:
This commit makes sure that the children of objects of role 'controlTypes.Role.OPTIONPANE' are taken into account when determining the text to announce for a dialog, as is done for objects of role 'controlTypes.Role.PANE'.
For LibreOffice (message) dialogs, the dialog text are objects of role 'controlTypes.Role.STATICTEXT' that are children of an object of type 'controlTypes.Role.OPTIONPANE'.
Those were previously not considered when determining the dialog text to announce. This change ensures that they are now and that the actual dialog text is thus announced by NVDA, just as is done (and has been the case) for objects of role 'controlTypes.Role.PANE'.
@nvaccessAuto nvaccessAuto added this to the 2021.3 milestone Sep 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants