Bug 108582 - NVDA Screen Review mode dropping letters and running together words when sounding, Object Review mode correctly sounds words
Summary: NVDA Screen Review mode dropping letters and running together words when soun...
Status: RESOLVED INSUFFICIENTDATA
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: UI (show other bugs)
Version:
(earliest affected)
5.3.0.1 rc
Hardware: Other Windows (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: accessibility
Depends on:
Blocks: a11y-Windows
  Show dependency treegraph
 
Reported: 2017-06-17 11:27 UTC by zahra
Modified: 2022-08-29 19:57 UTC (History)
6 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description zahra 2017-06-17 11:27:58 UTC
Description:
hi.
you can navigate between some inaccessible arias of windows with nvda using object navigation and also screen review.
since libreoffice 5.3.0 which i gave to one of my friends, and 5.3.3.2 which i tested, nvda face some problems using dialogs with screen review.
i am sure that this problem occured in 5.3.0 for the first time, not previous versions!
my locale is fa-ir
but such dialog boxes in english and you can easily test.
nvda object navigation has no problem in this regard, the problem is only with screen review.

Steps to Reproduce:
1.
install nvda in any versions of windows and test with libreoffice 5.3 and later.
2.press insert+f7 to activate the screen review.
3. go to the some dialogs of libreoffice which require screen review. for example: open help: about:libreoffice.
4- in that time, press 1 and 3 in the numpad keys, to read previous and next characters.
then 4 and 6 in the numpad keys to read previous and next word and finally 7 and 9 to read previous and next lines.
attention: numlock key should be off to use this functionality of nvda.
5- do previous steps with previous versions of libreoffice and compare the result.

Actual Results:  
there is no space between most words and most words combined to each other and nvda does not read them correctly.
also some of letters are lost for example: version became rsion and copyright became copright!

Expected Results:
we should navigate in these dialogs easily.
there should be space after each word and also all letters should be preserved.


Reproducible: Always

User Profile Reset: yes.

Additional Info:
windows xp servicepack3, x86 2gb ram and 2core cpu.
locale fa-ir mozilla 52.0 libreoffice 5.3.0 and later


User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:52.0) Gecko/20100101 Firefox/52.0
Comment 1 zahra 2017-07-10 15:36:56 UTC
this problem affect any dialog box and message from libreoffice that we should know and confirm with yes, no, okay, cancel etc.
for example: libreoffice crashes, document recovery, messages about macro, messages that require us to restarting program and much more.
do my steps and see the result and compare with 5.2 branch please.
i guess it happened because of simplify document recovery in 5.3 branch, this incompatibility using nvda occure.
i am not sure completely, but just i guess that this new change causes this regression for nvda users.
please see
https://bugs.documentfoundation.org/show_bug.cgi?id=99341
Comment 2 zahra 2017-07-31 03:50:15 UTC
hello again.
today i downloaded and tested version 5.4.0.3 and the issue is still persist.
the only solution for reading messages and dialog boxes of libreoffice 5.3 and 5.4 is using object navigation of nvda, which i could not learn and not comfortable with it.
i only can use screen review.
Comment 3 Buovjaga 2017-08-15 07:07:10 UTC
I deactivated numlock and pressed numpad insert + numpad 7 to activate the screen review.
Using the numpad shortcuts you mention, I can only read the About dialog title. I can't get it to read the version information etc. How did you do it?

Win 7 Pro 64-bit, Version: 5.4.0.3 (x64)
Build ID: 7556cbc6811c9d992f4064ab9287069087d7f62c
CPU threads: 4; OS: Windows 6.1; UI render: default; 
Locale: fi-FI (fi_FI); Calc: CL

Version: 6.0.0.0.alpha0+ (x64)
Build ID: bec5a2ac82b5178f6e765494c2003febe8ab51da
CPU threads: 4; OS: Windows 6.1; UI render: default; 
TinderBox: Win-x86_64@42, Branch:master, Time: 2017-08-12_23:35:00
Locale: fi-FI (fi_FI); Calc: CL
Comment 4 zahra 2017-08-15 09:02:19 UTC
(In reply to Buovjaga from comment #3)
> I deactivated numlock and pressed numpad insert + numpad 7 to activate the
> screen review.
> Using the numpad shortcuts you mention, I can only read the About dialog
> title. I can't get it to read the version information etc. How did you do it?
> 
> Win 7 Pro 64-bit, Version: 5.4.0.3 (x64)
> Build ID: 7556cbc6811c9d992f4064ab9287069087d7f62c
> CPU threads: 4; OS: Windows 6.1; UI render: default; 
> Locale: fi-FI (fi_FI); Calc: CL
> 
> Version: 6.0.0.0.alpha0+ (x64)
> Build ID: bec5a2ac82b5178f6e765494c2003febe8ab51da
> CPU threads: 4; OS: Windows 6.1; UI render: default; 
> TinderBox: Win-x86_64@42, Branch:master, Time: 2017-08-12_23:35:00
> Locale: fi-FI (fi_FI); Calc: CL

hi.
if you deactivated numlock and activated screen review, just press numpad7 to read previous line, numpad8 to read current line and numpad9 to read next line.
this problem occures in all dialog boxes and messages of program which i tested like recovery dialog for crashed files, about: libreoffice etc.
when you do it successfully, compare it to 5.2 version of libreoffice which screen review for reading dialogs and messages works perfectly.
i am sure that its a regression in libreoffice since version 5.3. 
thanks so much for your attention and God bless you!
Comment 5 Buovjaga 2017-08-15 09:07:25 UTC
(In reply to zahra from comment #4)
> if you deactivated numlock and activated screen review, just press numpad7
> to read previous line, numpad8 to read current line and numpad9 to read next
> line.

Yes, I could not get it to read anything else than the title. I tested with About dialog.
Comment 6 Xisco Faulí 2017-11-15 10:04:57 UTC
(In reply to Buovjaga from comment #5)
> (In reply to zahra from comment #4)
> > if you deactivated numlock and activated screen review, just press numpad7
> > to read previous line, numpad8 to read current line and numpad9 to read next
> > line.
> 
> Yes, I could not get it to read anything else than the title. I tested with
> About dialog.

@Buovjaga, Should it be moved to NEW then?
Comment 7 Buovjaga 2017-11-15 10:33:06 UTC
(In reply to Xisco Faulí from comment #6)
> > Yes, I could not get it to read anything else than the title. I tested with
> > About dialog.
> 
> @Buovjaga, Should it be moved to NEW then?

No, this report is not about it. I am unable to test this report because it does not read the About dialog contents.
Comment 8 zahra 2017-11-15 17:04:47 UTC
(In reply to Xisco Faulí from comment #6)
> (In reply to Buovjaga from comment #5)
> > (In reply to zahra from comment #4)
> > > if you deactivated numlock and activated screen review, just press numpad7
> > > to read previous line, numpad8 to read current line and numpad9 to read next
> > > line.
> > 
> > Yes, I could not get it to read anything else than the title. I tested with
> > About dialog.
> 
> @Buovjaga, Should it be moved to NEW then?



hello.
can you please set it in to new?
just turn off the numlock keys, then press insert+7 in the numpad keys to activate screen review and test!
it does not only affect about libreoffice, it affects any dialog or message which requires users confermation or interaction.
for example: if libreoffice crashes and wants to recover file,
or any dialog that has okay and cancel button and we should read the message through screen review, because we cant access them with cursor keys or tab.

here you are more detail about screen review from nvda's user guide.

5.5. Reviewing Text
NVDA allows you to read the contents of the screen, current document or current object by character, word or line. This is mostly useful in places (including Windows command consoles) where there is no system caret. For example, you might use it to review the text of a long information message in a dialog. 
When moving the review cursor, the System caret does not follow along, so you can review text without losing your editing position. However, by default, when the System caret moves, the review cursor follows along. This can be toggled on and off. 
The following commands are available for reviewing text: 
Name
Desktop key
Laptop key
Touch
Description
Move to top line in review
shift+numpad7
NVDA+control+home
none
Moves the review cursor to the top line of the text
Move to previous line in review
numpad7
NVDA+upArrow
flick up (text mode)
Moves the review cursor to the previous line of text
Report current line in review
numpad8
NVDA+shift+.
none
Announces the current line of text where the review cursor is positioned. Pressing twice spells the line. Pressing three times spells the line using character descriptions.
Move to next line in review
numpad9
NVDA+downArrow
flick down (text mode)
Move the review cursor to the next line of text
Move to bottom line in review
shift+numpad9
NVDA+control+end
none
Moves the review cursor to the bottom line of text
Move to previous word in review
numpad4
NVDA+control+leftArrow
2-finger flick left (text mode)
Moves the review cursor to the previous word in the text
Report current word in review
numpad5
NVDA+control+.
none
Announces the current word in the text where the review cursor is positioned. Pressing twice spells the word. Pressing three times spells the word using character descriptions.
Move to next word in review
numpad6
NVDA+control+rightArrow
2-finger flick right (text mode)
Move the review cursor to the next word in the text
Move to start of line in review
shift+numpad1
NVDA+home
none
Moves the review cursor to the start of the current line in the text
Move to previous character in review
numpad1
NVDA+leftArrow
flick left (text mode)
Moves the review cursor to the previous character on the current line in the text
Report current character in review
numpad2
NVDA+.
none
Announces the current character on the line of text where the review cursor is positioned. Pressing twice reports a description or example of that character. Pressing three times reports the numeric value of the character in decimal and hexadecimal.
Move to next character in review
numpad3
NVDA+rightArrow
flick right (text mode)
Move the review cursor to the next character on the current line of text
Move to end of line in review
shift+numpad3
NVDA+end
none
Moves the review cursor to the end of the current line of text
Say all with review
numpadPlus
NVDA+shift+a
3-finger flick down (text mode)
Reads from the current position of the review cursor, moving it as it goes
Select then Copy from review cursor
NVDA+f9
NVDA+f9
none
Starts the select then copy process from the current position of the review cursor. The actual action is not performed until you tell NVDA where the end of the text range is
Select then Copy to review cursor
NVDA+f10
NVDA+f10
none
On the first press, text is selected from the position previously set start marker up to and including the review cursor's current position. After pressing this key a second time, the text will be copied to the Windows clipboard
Report text formatting
NVDA+f
NVDA+f
none
Reports the formatting of the text where the review cursor is currently situated. Pressing twice shows the information in browse mode
Note: numpad keys require numlock key to be turned off to work properly. 
A good way to remember the basic text review commands when using the Desktop layout is to think of them as being in a grid of three by three, with top to bottom being line, word and character and left to right being previous, current and next. The layout is illustrated as follows: 
Previous line
Current line
Next line
Previous word
Current word
Next word
Previous character
Current character
Next character
Comment 9 zahra 2018-01-22 07:42:11 UTC
hi again.

when i open libreofice help, about libreoffice,

i read the content just using screen review.
in screen review,

for example instead of

LibreOffice is a modern, easy-to-use, open source productivity suite for word processing, spreadsheets, presentations and more.

nvda says:

LibreOfficeisamodern,easy-to-use,opensourceproductivitysuiteforwordprocessing,spreadsheets,presentationsandmore.

some letters are removed.
instead of copyright it says: copright!
instead of version says: rsion.
instead of windows says: ndows.
instead of threads says: hrads

its very annoying and untolerable.
what should i do for this issue?
i did not have this problem in libreoffice 5.2 and before.
i am sure that this bug occured since 5.3 alfa, beta or maybe rc versions of 5.3 andeven remained in 5.4

what should i do to return displaying of dialogs and messages of libreoffice 5.3 in to 5.2 and earlier?
i realy appreciate if someone help me to use my favorite version of libreoffice (5.3.4.1 which i promised to use it forever).
God bless you all and his infinite mercy i pray for you.
Comment 10 Alex ARNAUD 2018-01-23 09:45:20 UTC
Hello zahra,

Do you have reported this issue on the NVDA side ? Is it the same behavior with Jaws ?

I can't reproduce it on GNU/Linux with Orca 3.24 and LibreOfficeDev 6.1 from November. I move the bug to windows specific.

Best regards.
Comment 11 zahra 2018-01-23 11:36:09 UTC
(In reply to Alex ARNAUD from comment #10)
> Hello zahra,
> 
> Do you have reported this issue on the NVDA side ? Is it the same behavior
> with Jaws ?
> 
> I can't reproduce it on GNU/Linux with Orca 3.24 and LibreOfficeDev 6.1 from
> November. I move the bug to windows specific.
> 
> Best regards.

hello alex
i dont have jaws to test.
one time i tested jaws11 and could not read anything with it.
i am not sure about accessibility of libreoffice with jaws.
jaws and nvda have different method for navigating in inaccessible parts of screen.
for example: nvda has object navigation and screen review and its different with method of jaws.
also, i am not familiar with linux, its navigation and did not test it with orka.
i wished that i be programmer, computer engineer and could migrate to linux.
good for you.
Comment 12 zahra 2018-04-21 18:09:03 UTC
hi again.
by the grace of God,\
finally today i found a solution for my problem.
i write the method that how to resolve problem, but unfortunately it only works in 5.3, not 5.4 and later!
steps for screen reader users to resolve the issue of reading any message and dialogs in libreoffice 5.3
1- open libreoffice, (i tested only with writer).
2- press alt+f12 or find the options in the tool menu and activate it.
3- under libreoffice, find advance.
4- between advance settings find expert configuration and activate it.
5- in the edit box, type TextLayoutEngine and press search button.
6- press edit and rename new to old for disabling harfbuzz!
okay, now you can read any dialog box and message using nvda screen reader with libreoffice 5.3 without any problem!
i tested with the version 5.3.4.2and it worked perfectly.
i am very glad that today i learned expert configuration and i sincerely appreciate Yousuf Philips, Stuart, and Khaled Hosny that made possible using libreoffice 5.3 by adding and supporting to add one configuration in expert configuration to desable harfbuzz!
khaled added one option for disabling and enabling harfbuzz in expert configurations and
today reading comment of stuart taught me how to enable old engine again in libreoffice 5.3!
https://bugs.documentfoundation.org/show_bug.cgi?id=89870#c32
but i did not understand whats the reason that this great option is removed in 5.4!
how should nvda users read dialogs in libreoffice 5.4 and later with harfbuzz enabled?
i sincerely appreciate you again, God bless you all!
Comment 13 zahra 2018-04-21 18:45:13 UTC
can someone please confirm this bug?
its very annoying for nvda screen reader users, when they read dialogs and messages with screen review.
why my bug not be new?
i even found the cause of bug and found the solution by the patch of khaled and comment of stuart and solved it in 5.3.4 as i said!
just see dialogs and messages of libreoffice in new and old TextLayoutEngine to see the difference!
Comment 14 Buovjaga 2018-04-21 19:08:58 UTC
(In reply to zahra from comment #13)
> can someone please confirm this bug?

I tried again, but I could only make it read the "Version" line, if I moved the mouse over it. No other lines were read.
For the crash recovery, mouse hovering made it read the text.
With my Truly Ergonomic keyboard, numpad only exists using a modifier key. So I cannot "turn numlock off" and use the keys because then they are just normal keys (some numbers and letters).

Previously I had tried to reproduce on another machine, which did have a numpad.
Comment 15 V Stuart Foote 2018-04-21 20:45:02 UTC
@Zahra, sorry. But going to go ahead and close this invalid.

When you eventually move off Windows XP to a current Windows platform, or adopt a Linux OS and can use Orca you'll be better served.

For now, LibreOffice 5.4 and 6.0 with NVDA 2017.3, or 2018.2 with windows 10 correctly sound all elements of the dialogs exposed to screen review. We have no issue with the words being run together with either OpenGL rendering or default GDI rendering being run together.

If 5.3.7.2 and NVDA 2017.3 work well for you (having disabled Harfbuzz based rendering) great. 5.4 builds are the end of the line for you as support for Windows XP, and Vista have been dropped at 6.0.
 
There is no going back from the LibreOffice projects perspective, and as you know NVAccess and the NVDA project have ended support for Windows XP at 2017.3 release.
Comment 16 zahra 2018-04-21 21:07:13 UTC
(In reply to V Stuart Foote from comment #15)
> @Zahra, sorry. But going to go ahead and close this invalid.
> 
> When you eventually move off Windows XP to a current Windows platform, or
> adopt a Linux OS and can use Orca you'll be better served.
> 
> For now, LibreOffice 5.4 and 6.0 with NVDA 2017.3, or 2018.2 with windows 10
> correctly sound all elements of the dialogs exposed to screen review. We
> have no issue with the words being run together with either OpenGL rendering
> or default GDI rendering being run together.
> 
> If 5.3.7.2 and NVDA 2017.3 work well for you (having disabled Harfbuzz based
> rendering) great. 5.4 builds are the end of the line for you as support for
> Windows XP, and Vista have been dropped at 6.0.
>  
> There is no going back from the LibreOffice projects perspective, and as you
> know NVAccess and the NVDA project have ended support for Windows XP at
> 2017.3 release.

but i am sure that i asked this problem in nvda user maling list and someone confirms this problem in libreoffice 6.0!
why invalid?
its a new bug which introducing harfbuzz made for nvda users!
it does not depend on my windows, i am sure that i used remote control program and tested in the system of one person who has windows ten and observed this issue!
i tested with libreoffice 5.3.0.3 remotely, but on that time, i did not know about harfbuzz and how to disable it!
so, my report is not specific for one windows version and specific version of nvda!
its one of the bugs that introducing harfbuzz made and i did not find any solution for resolving this issue except disabling harfbuzz as i mentioned that today i learned from your comment!
why khaled removed the option for disabling harfbuzz in 5.4?
even if libreoffice 6.0, did not support xp, i never used it, because of not possible to read dialogs and messages in screen review!
Comment 17 V Stuart Foote 2018-04-21 21:46:47 UTC
(In reply to zahra from comment #16)
> 
> but i am sure that i asked this problem in nvda user maling list and someone
> confirms this problem in libreoffice 6.0!
> why invalid?
> its a new bug which introducing harfbuzz made for nvda users!
> it does not depend on my windows, i am sure that i used remote control
> program and tested in the system of one person who has windows ten and
> observed this issue!
> i tested with libreoffice 5.3.0.3 remotely, but on that time, i did not know
> about harfbuzz and how to disable it!
> so, my report is not specific for one windows version and specific version
> of nvda!
> its one of the bugs that introducing harfbuzz made and i did not find any
> solution for resolving this issue except disabling harfbuzz as i mentioned
> that today i learned from your comment!
> why khaled removed the option for disabling harfbuzz in 5.4?
> even if libreoffice 6.0, did not support xp, i never used it, because of not
> possible to read dialogs and messages in screen review!

No, I follow NVDA user and dev ML and of course LibreOffice, and this was not reproduced that I recall. And as you never provided a WinDbg stack trace or link to Libreoffice crashreporter dumps for LibreOffice, nor NVDA verbose logging catching the "crash" it is undocumented and not confirmed.

Invalid because even if it were confirmed--it has not been--it could not be fixed as *both* software projects have moved on.  NVDA 2017.3 and 2018.1.1 or next 2018.2 on Windows systems with GPU driver support do not have this issue-- and conflating in the HarfBuzz source is not reasonable.

It is equally likely the issue is with NVDA and the Symphony/IAccessible2 module which has some annoying locale detection language change behavior--that HarfBuzz handling could have complicated, but with out logging its mute.

Otherwise please be aware that at the 5.4 release with a complete transition to HarfBuzz based rendering cross platform--the legacy GDI/DirectWrite rendering on Windows (the so called "Old" layout engine) was completely removed from the code base. It is gone, and will not be brought back.

Making use of HarfBuzz, Windows builds of 5.4, 6.0 and current master have two rendering modes--legacy GDI for the "Default" rendering (by CPU or Hardware) and Direct3D DirectWrite with OpenGL rendering. Moving forward we will be further reducing the use of legacy GDI handling again moving Direct3D DirectWrite forward (or possibly implementing FreeType) for text rendering.

Sorry not to be cruel, but that is reality--up to you to move on.

@Quintin, do you have any perspective from the NVAccess side?
Comment 18 V Stuart Foote 2018-04-22 00:00:19 UTC
(In reply to V Stuart Foote from comment #17)
> (In reply to zahra from comment #16)
> > 
> > but i am sure that i asked this problem in nvda user maling list and someone
> > confirms this problem in libreoffice 6.0!

> 
> No, I follow NVDA user and dev ML and of course LibreOffice, and this was
> not reproduced that I recall. 

I would not call the responses by one NVDA user in https://nvda.groups.io/g/nvda/topic/12628487#35965 an energetic or well scoped confirmation...

Rather, with Windows 10 Pro 64-bit en-US (ver 1709) with NVDA 2017.2, 2017.3, 2018.1.1. in Object navigation mode (NVDA key + F7) from the number pad the Numpad 4 & 6 give clear by word break sounding, the numpad 1 & 3 give clear by character sounding. And the numpad 7 & 9 give by line sounding--though in the About -> Help dialog, the multiple lines of the description are read--with audible breaks at word boundries. In other words it sounds correctly.

So this really is unconfirmed and works for me.

=-=-=

As you seem stuck working on Windows XP, here are links to the EOL final releases:

5.2.7.2 -- http://downloadarchive.documentfoundation.org/libreoffice/old/5.2.7.2/win/x86/

5.3.7.2 -- http://downloadarchive.documentfoundation.org/libreoffice/old/5.3.7.2/win/x86/
Comment 19 zahra 2018-04-22 08:24:30 UTC
(In reply to V Stuart Foote from comment #18)
> (In reply to V Stuart Foote from comment #17)
> > (In reply to zahra from comment #16)
> > > 
> > > but i am sure that i asked this problem in nvda user maling list and someone
> > > confirms this problem in libreoffice 6.0!
> 
> > 
> > No, I follow NVDA user and dev ML and of course LibreOffice, and this was
> > not reproduced that I recall. 
> 
> I would not call the responses by one NVDA user in
> https://nvda.groups.io/g/nvda/topic/12628487#35965 an energetic or well
> scoped confirmation...
> 
> Rather, with Windows 10 Pro 64-bit en-US (ver 1709) with NVDA 2017.2,
> 2017.3, 2018.1.1. in Object navigation mode (NVDA key + F7) from the number
> pad the Numpad 4 & 6 give clear by word break sounding, the numpad 1 & 3
> give clear by character sounding. And the numpad 7 & 9 give by line
> sounding--though in the About -> Help dialog, the multiple lines of the
> description are read--with audible breaks at word boundries. In other words
> it sounds correctly.
> 
> So this really is unconfirmed and works for me.
> 
> =-=-=
> 
> As you seem stuck working on Windows XP, here are links to the EOL final
> releases:
> 
> 5.2.7.2 --
> http://downloadarchive.documentfoundation.org/libreoffice/old/5.2.7.2/win/
> x86/
> 
> 5.3.7.2 --
> http://downloadarchive.documentfoundation.org/libreoffice/old/5.3.7.2/win/
> x86/

i did not say that the issue is for object navigation, as i emphasized many times and even wrote in the title of my report, the issue is only for screen review which is much simpler than object navigation and i only use screen review to read inaccessible parts of the programs.
its 100% reproduceable, i mentioned that i tested with the computer of someone remotely and observed this issue (remotely (before testing in my system).
so, we can easily conclude that it problem is not only for my windows xp, it affects all windows and all users like me who use nvda screen reader and screen review in nvda for navigating inaccessible parts of programs.
just press insert+f7 to activate screen review, you can observe my issue there, numlock should be turn off for working with screen review which needs insert key as nvda key.
Comment 20 Buovjaga 2018-04-22 08:31:34 UTC
(In reply to zahra from comment #19)
> its 100% reproduceable, i mentioned that i tested with the computer of
> someone remotely and observed this issue (remotely (before testing in my
> system).

Can the problem be confirmed with NVDA 2018.1.1 and LibreOffice 6.0.3?
Comment 21 zahra 2018-04-22 16:26:15 UTC
(In reply to Buovjaga from comment #20)
> (In reply to zahra from comment #19)
> > its 100% reproduceable, i mentioned that i tested with the computer of
> > someone remotely and observed this issue (remotely (before testing in my
> > system).
> 
> Can the problem be confirmed with NVDA 2018.1.1 and LibreOffice 6.0.3?

N(In reply to Buovjaga from comment #20)
> (In reply to zahra from comment #19)
> > its 100% reproduceable, i mentioned that i tested with the computer of
> > someone remotely and observed this issue (remotely (before testing in my
> > system).
> 
> Can the problem be confirmed with NVDA 2018.1.1 and LibreOffice 6.0.3?


i dont think that updating nvda or libreoffice can resolve the issue.
because:
1- i tested nvda 2014.4 and other versions till the 2017.3 and the issue persists, moreover, i did not see any important changes related to libreoffice in these recent years in nvda whats new!
every improvement that i read was only for microsoft office, not libreoffice!
2- i believe the issue should be persists in 6.0.3 and other newer versions for two reasons!
first: someone in nvda user mailing lists confirmed the issue in the 6.0 branch of libreoffice.
second, as i mentioned in:
https://bugs.documentfoundation.org/show_bug.cgi?id=108582#c12
i found the solution and the problem is resolved when desabling new TextLayoutEngine in 5.3
so, when harfbuzz caused this problem for nvda users
and the problem easily can be resolved by using old layout in 5.3
it is very clear that it is not resolved in 6.0!
it should affect all versions of libreoffice that use harfbuzz!
thanks again for your help, God bless you all!
Comment 22 V Stuart Foote 2018-04-22 22:15:59 UTC
Sorry Zahra, you were correct with your observation of dropped characters and run together strings. Pushing this Not Our Bug.

Seems NVDA Screen Review is unsupported when running LibreOffice in OpenGL mode with its DirectWrite and HarfBuzz based rendering. Suspect an implementation issue the NVDA gdihooks.cpp/gdihooks.h -- but that is for others to say.

Running in Object Review, non-object text is read by API display scrapping--which frankly threw me off.

Otherwise, running LibreOffice with Default rendering NVDA Screen Review mode _can_ be activated. And when activated (NVDA - numpad7 cycles available modes), unlike Object Review, there is an issue with the parsing the oleacc COM events.

The reported dropped characters do occur, as does the run together of strings dropping word breaks.

On Windows 10 Home 64-bit en-US (ver 1709) with NVDA 2018.1.1 and
Version: 6.1.0.0.alpha0+ (x64)
Build ID: ef7f8c263fcb2bac596aa0247f1e54ff375c3146
CPU threads: 4; OS: Windows 10.0; UI render: default; 
TinderBox: Win-x86_64@42, Branch:master, Time: 2018-04-20_16:41:59
Locale: en-US (en_US); Calc: CL

Here is a snippet of the NVDA debug level log while reading the About -> Help dialog with Screen Review mode enabled. The Input: lines are the Screen Review numpad navigation key. While the Speaking: lines are the actual text strings as parsed to audio.


<quote>
Calling idle on audio player
IO - inputCore.InputManager.executeGesture (14:23:30.295):
Input: kb(desktop):numpad9
DEBUG - synthDrivers.oneCore.SynthDriver.cancel (14:23:30.321):
Cancelling
DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:30.323):
Queue empty, done processing
IO - speech.speak (14:23:30.345):
Speaking [LangChangeCommand (u'en_US'), u'Locale:en-US(en_US); alc: L']
DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_IA2Attributes (14:23:30.450):
IAccessibleObject.attributes COMError (-2147467259, 'Unspecified error', (None, None, None, 0, None))
DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:31.361):
Begin processing speech
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:23:31.361):
oleacc.AccessibleObjectFromEvent with window 6817536, objectID 159 and childID 0: [Error -2147467259] Unspecified error
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:23:31.361):
oleacc.AccessibleObjectFromEvent with window 6817536, objectID 160 and childID 0: [Error -2147467259] Unspecified error
DEBUG - synthDrivers.oneCore.SynthDriver._callback (14:23:31.377):
Done pushing audio
DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:31.377):
Calling idle on audio player
DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:34.709):
Queue empty, done processing
IO - inputCore.InputManager.executeGesture (14:23:37.994):
Input: kb(desktop):numpad9
DEBUG - synthDrivers.oneCore.SynthDriver.cancel (14:23:38.010):
Cancelling
IO - speech.speak (14:23:38.032):
Speaking [LangChangeCommand (u'en_US'), u'SeeLog:ef7f8c263fcb2bac596aa0247f1e54ff375c3146']
DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_IA2Attributes (14:23:38.247):
IAccessibleObject.attributes COMError (-2147467259, 'Unspecified error', (None, None, None, 0, None))
DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:39.052):
Begin processing speech
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:23:39.052):
oleacc.AccessibleObjectFromEvent with window 6817536, objectID 161 and childID 0: [Error -2147467259] Unspecified error
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:23:39.052):
oleacc.AccessibleObjectFromEvent with window 6817536, objectID 162 and childID 0: [Error -2147467259] Unspecified error
DEBUG - synthDrivers.oneCore.SynthDriver._callback (14:23:39.099):
Done pushing audio
DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:39.099):
Calling idle on audio player
IO - inputCore.InputManager.executeGesture (14:23:43.503):
Input: kb(desktop):numpad9
DEBUG - synthDrivers.oneCore.SynthDriver.cancel (14:23:43.519):
Cancelling
DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:43.520):
Queue empty, done processing
IO - speech.speak (14:23:43.542):
Speaking [LangChangeCommand (u'en_US'), u'LibreOfficeDevisamodern,easy-to-use,opensourceproductivity']
DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_IA2Attributes (14:23:43.569):
IAccessibleObject.attributes COMError (-2147467259, 'Unspecified error', (None, None, None, 0, None))
DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:44.552):
Begin processing speech
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:23:44.555):
oleacc.AccessibleObjectFromEvent with window 6817536, objectID 163 and childID 0: [Error -2147467259] Unspecified error
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:23:44.555):
oleacc.AccessibleObjectFromEvent with window 6817536, objectID 164 and childID 0: [Error -2147467259] Unspecified error
DEBUG - synthDrivers.oneCore.SynthDriver._callback (14:23:44.571):
Done pushing audio
DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:44.571):
Calling idle on audio player
DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:47.792):
Queue empty, done processing
IO - inputCore.InputManager.executeGesture (14:23:51.559):
Input: kb(desktop):numpad9
DEBUG - synthDrivers.oneCore.SynthDriver.cancel (14:23:51.575):
Cancelling
IO - speech.speak (14:23:51.596):
Speaking [LangChangeCommand (u'en_US'), u'suiteforwordprocessing,spreadsheets,presentationsandmore.']
DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_IA2Attributes (14:23:51.729):
IAccessibleObject.attributes COMError (-2147467259, 'Unspecified error', (None, None, None, 0, None))
DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:52.618):
Begin processing speech
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:23:52.618):
oleacc.AccessibleObjectFromEvent with window 6817536, objectID 165 and childID 0: [Error -2147467259] Unspecified error
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:23:52.618):
oleacc.AccessibleObjectFromEvent with window 6817536, objectID 166 and childID 0: [Error -2147467259] Unspecified error
DEBUG - synthDrivers.oneCore.SynthDriver._callback (14:23:52.634):
Done pushing audio
DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:52.634):
Calling idle on audio player
DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:55.627):
Queue empty, done processing
IO - inputCore.InputManager.executeGesture (14:23:59.450):
Input: kb(desktop):numpad9
DEBUG - synthDrivers.oneCore.SynthDriver.cancel (14:23:59.467):
Cancelling
IO - speech.speak (14:23:59.482):
Speaking [LangChangeCommand (u'en_US'), u'hisreleasewassuppliedbytinderbox.']
DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_IA2Attributes (14:23:59.549):
IAccessibleObject.attributes COMError (-2147467259, 'Unspecified error', (None, None, None, 0, None))
DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:24:00.496):
Begin processing speech
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:24:00.496):
oleacc.AccessibleObjectFromEvent with window 6817536, objectID 167 and childID 0: [Error -2147467259] Unspecified error
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:24:00.496):
oleacc.AccessibleObjectFromEvent with window 6817536, objectID 168 and childID 0: [Error -2147467259] Unspecified error
DEBUG - synthDrivers.oneCore.SynthDriver._callback (14:24:00.510):
Done pushing audio
DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:24:00.510):
Calling idle on audio player
DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:24:02.595):
Queue empty, done processing
IO - inputCore.InputManager.executeGesture (14:24:03.059):
Input: kb(desktop):numpad9
DEBUG - synthDrivers.oneCore.SynthDriver.cancel (14:24:03.075):
Cancelling
IO - speech.speak (14:24:03.084):
Speaking [LangChangeCommand (u'en_US'), u'opyright\xa92000\u20132018LibreOfficecontributors.']
DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_IA2Attributes (14:24:03.335):
IAccessibleObject.attributes COMError (-2147467259, 'Unspecified error', (None, None, None, 0, None))
DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:24:04.112):
Begin processing speech
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:24:04.112):
oleacc.AccessibleObjectFromEvent with window 6817536, objectID 169 and childID 0: [Error -2147467259] Unspecified error
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:24:04.112):
oleacc.AccessibleObjectFromEvent with window 6817536, objectID 170 and childID 0: [Error -2147467259] Unspecified error
DEBUG - synthDrivers.oneCore.SynthDriver._callback (14:24:04.144):
Done pushing audio
DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:24:04.144):
Calling idle on audio player
DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:24:07.993):
Queue empty, done processing

</quote>
Comment 23 zahra 2018-04-27 02:58:57 UTC
(In reply to V Stuart Foote from comment #22)
> Sorry Zahra, you were correct with your observation of dropped characters
> and run together strings. Pushing this Not Our Bug.
> 
> Seems NVDA Screen Review is unsupported when running LibreOffice in OpenGL
> mode with its DirectWrite and HarfBuzz based rendering. Suspect an
> implementation issue the NVDA gdihooks.cpp/gdihooks.h -- but that is for
> others to say.
> 
> Running in Object Review, non-object text is read by API display
> scrapping--which frankly threw me off.
> 
> Otherwise, running LibreOffice with Default rendering NVDA Screen Review
> mode _can_ be activated. And when activated (NVDA - numpad7 cycles available
> modes), unlike Object Review, there is an issue with the parsing the oleacc
> COM events.
> 
> The reported dropped characters do occur, as does the run together of
> strings dropping word breaks.
> 
> On Windows 10 Home 64-bit en-US (ver 1709) with NVDA 2018.1.1 and
> Version: 6.1.0.0.alpha0+ (x64)
> Build ID: ef7f8c263fcb2bac596aa0247f1e54ff375c3146
> CPU threads: 4; OS: Windows 10.0; UI render: default; 
> TinderBox: Win-x86_64@42, Branch:master, Time: 2018-04-20_16:41:59
> Locale: en-US (en_US); Calc: CL
> 
> Here is a snippet of the NVDA debug level log while reading the About ->
> Help dialog with Screen Review mode enabled. The Input: lines are the Screen
> Review numpad navigation key. While the Speaking: lines are the actual text
> strings as parsed to audio.
> 
> 
> <quote>
> Calling idle on audio player
> IO - inputCore.InputManager.executeGesture (14:23:30.295):
> Input: kb(desktop):numpad9
> DEBUG - synthDrivers.oneCore.SynthDriver.cancel (14:23:30.321):
> Cancelling
> DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:30.323):
> Queue empty, done processing
> IO - speech.speak (14:23:30.345):
> Speaking [LangChangeCommand (u'en_US'), u'Locale:en-US(en_US); alc: L']
> DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_IA2Attributes
> (14:23:30.450):
> IAccessibleObject.attributes COMError (-2147467259, 'Unspecified error',
> (None, None, None, 0, None))
> DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:31.361):
> Begin processing speech
> DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:23:31.361):
> oleacc.AccessibleObjectFromEvent with window 6817536, objectID 159 and
> childID 0: [Error -2147467259] Unspecified error
> DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:23:31.361):
> oleacc.AccessibleObjectFromEvent with window 6817536, objectID 160 and
> childID 0: [Error -2147467259] Unspecified error
> DEBUG - synthDrivers.oneCore.SynthDriver._callback (14:23:31.377):
> Done pushing audio
> DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:31.377):
> Calling idle on audio player
> DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:34.709):
> Queue empty, done processing
> IO - inputCore.InputManager.executeGesture (14:23:37.994):
> Input: kb(desktop):numpad9
> DEBUG - synthDrivers.oneCore.SynthDriver.cancel (14:23:38.010):
> Cancelling
> IO - speech.speak (14:23:38.032):
> Speaking [LangChangeCommand (u'en_US'),
> u'SeeLog:ef7f8c263fcb2bac596aa0247f1e54ff375c3146']
> DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_IA2Attributes
> (14:23:38.247):
> IAccessibleObject.attributes COMError (-2147467259, 'Unspecified error',
> (None, None, None, 0, None))
> DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:39.052):
> Begin processing speech
> DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:23:39.052):
> oleacc.AccessibleObjectFromEvent with window 6817536, objectID 161 and
> childID 0: [Error -2147467259] Unspecified error
> DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:23:39.052):
> oleacc.AccessibleObjectFromEvent with window 6817536, objectID 162 and
> childID 0: [Error -2147467259] Unspecified error
> DEBUG - synthDrivers.oneCore.SynthDriver._callback (14:23:39.099):
> Done pushing audio
> DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:39.099):
> Calling idle on audio player
> IO - inputCore.InputManager.executeGesture (14:23:43.503):
> Input: kb(desktop):numpad9
> DEBUG - synthDrivers.oneCore.SynthDriver.cancel (14:23:43.519):
> Cancelling
> DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:43.520):
> Queue empty, done processing
> IO - speech.speak (14:23:43.542):
> Speaking [LangChangeCommand (u'en_US'),
> u'LibreOfficeDevisamodern,easy-to-use,opensourceproductivity']
> DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_IA2Attributes
> (14:23:43.569):
> IAccessibleObject.attributes COMError (-2147467259, 'Unspecified error',
> (None, None, None, 0, None))
> DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:44.552):
> Begin processing speech
> DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:23:44.555):
> oleacc.AccessibleObjectFromEvent with window 6817536, objectID 163 and
> childID 0: [Error -2147467259] Unspecified error
> DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:23:44.555):
> oleacc.AccessibleObjectFromEvent with window 6817536, objectID 164 and
> childID 0: [Error -2147467259] Unspecified error
> DEBUG - synthDrivers.oneCore.SynthDriver._callback (14:23:44.571):
> Done pushing audio
> DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:44.571):
> Calling idle on audio player
> DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:47.792):
> Queue empty, done processing
> IO - inputCore.InputManager.executeGesture (14:23:51.559):
> Input: kb(desktop):numpad9
> DEBUG - synthDrivers.oneCore.SynthDriver.cancel (14:23:51.575):
> Cancelling
> IO - speech.speak (14:23:51.596):
> Speaking [LangChangeCommand (u'en_US'),
> u'suiteforwordprocessing,spreadsheets,presentationsandmore.']
> DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_IA2Attributes
> (14:23:51.729):
> IAccessibleObject.attributes COMError (-2147467259, 'Unspecified error',
> (None, None, None, 0, None))
> DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:52.618):
> Begin processing speech
> DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:23:52.618):
> oleacc.AccessibleObjectFromEvent with window 6817536, objectID 165 and
> childID 0: [Error -2147467259] Unspecified error
> DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:23:52.618):
> oleacc.AccessibleObjectFromEvent with window 6817536, objectID 166 and
> childID 0: [Error -2147467259] Unspecified error
> DEBUG - synthDrivers.oneCore.SynthDriver._callback (14:23:52.634):
> Done pushing audio
> DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:52.634):
> Calling idle on audio player
> DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:23:55.627):
> Queue empty, done processing
> IO - inputCore.InputManager.executeGesture (14:23:59.450):
> Input: kb(desktop):numpad9
> DEBUG - synthDrivers.oneCore.SynthDriver.cancel (14:23:59.467):
> Cancelling
> IO - speech.speak (14:23:59.482):
> Speaking [LangChangeCommand (u'en_US'), u'hisreleasewassuppliedbytinderbox.']
> DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_IA2Attributes
> (14:23:59.549):
> IAccessibleObject.attributes COMError (-2147467259, 'Unspecified error',
> (None, None, None, 0, None))
> DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:24:00.496):
> Begin processing speech
> DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:24:00.496):
> oleacc.AccessibleObjectFromEvent with window 6817536, objectID 167 and
> childID 0: [Error -2147467259] Unspecified error
> DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:24:00.496):
> oleacc.AccessibleObjectFromEvent with window 6817536, objectID 168 and
> childID 0: [Error -2147467259] Unspecified error
> DEBUG - synthDrivers.oneCore.SynthDriver._callback (14:24:00.510):
> Done pushing audio
> DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:24:00.510):
> Calling idle on audio player
> DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:24:02.595):
> Queue empty, done processing
> IO - inputCore.InputManager.executeGesture (14:24:03.059):
> Input: kb(desktop):numpad9
> DEBUG - synthDrivers.oneCore.SynthDriver.cancel (14:24:03.075):
> Cancelling
> IO - speech.speak (14:24:03.084):
> Speaking [LangChangeCommand (u'en_US'),
> u'opyright\xa92000\u20132018LibreOfficecontributors.']
> DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_IA2Attributes
> (14:24:03.335):
> IAccessibleObject.attributes COMError (-2147467259, 'Unspecified error',
> (None, None, None, 0, None))
> DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:24:04.112):
> Begin processing speech
> DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:24:04.112):
> oleacc.AccessibleObjectFromEvent with window 6817536, objectID 169 and
> childID 0: [Error -2147467259] Unspecified error
> DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (14:24:04.112):
> oleacc.AccessibleObjectFromEvent with window 6817536, objectID 170 and
> childID 0: [Error -2147467259] Unspecified error
> DEBUG - synthDrivers.oneCore.SynthDriver._callback (14:24:04.144):
> Done pushing audio
> DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:24:04.144):
> Calling idle on audio player
> DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (14:24:07.993):
> Queue empty, done processing
> 
> </quote>

hi stuart.
thanks extremely for confirming my bug!
i am not familiar with technical expressions, but
is the issue realy because of openGL?
my graphic card is very old and i believe that it does not support openGL.
with my favorite version of libreoffice, reading dialogs works as expected without any problem in screen review.

Version: 5.3.4.2
Build ID: f82d347ccc0be322489bf7da61d7e4ad13fe2ff3
CPU Threads: 2; OS Version: Windows 5.1; UI Render: default; Layout Engine: old; 
Locale: fa-IR (fa_IR); Calc: single
i should mention that the user interface of my libreoffice is enUS.
God bless you!
Comment 24 V Stuart Foote 2018-04-27 04:04:00 UTC
(In reply to zahra from comment #23)
> (In reply to V Stuart Foote from comment #22)
> > Sorry Zahra, you were correct with your observation of dropped characters
> > and run together strings. ...

> 
> i am not familiar with technical expressions, but
> is the issue realy because of openGL?

Actually no--OpenGL is not involved because the DirectWrite text rendering paths it uses do not seem to pass text strings to NVDA's IAccessible module for Screen review. Instead it simply does not respond--that problems is with NVDA screen review.  

That contrasts to Object review mode using OpenGL rendering--there the LibreOffice accessible events provided are exposed and correctly sounded by IAccessible module. Anything not sounding is because no event is provided--there are a lot and those are bugs.

The third mode of NVDA support (not affected by Default or OpenGL rendering) is using Windows graphics API calls on mouse over "screen scrapping" in a different NVDA module that is near flawless in the LibreOffice dialogs that Screen review garbles. But it requires mouse driven use, so a bit of a challenge for accessibility, though it fills in holes in Object navigation.

Disabling OpenGL rendering to use "Default" GDI rendering (or as enabled by default on older Windows builds with unsupported graphics) does expose LibreOffice GUI elements to NVDA IAccessible module Screen review. 

And of course then the Object review of LibreOffice Accessible events is pretty good--this is your default situation when installing on Windows XP. You are limited to "Default" mode.

> my graphic card is very old and i believe that it does not support openGL.

Correct, there is no functional OpenGL rendering in LibreOffice with Windows XP drivers.

> with my favorite version of libreoffice, reading dialogs works as expected
> without any problem in screen review.
> 
> Version: 5.3.4.2
> Build ID: f82d347ccc0be322489bf7da61d7e4ad13fe2ff3
> CPU Threads: 2; OS Version: Windows 5.1; UI Render: default; Layout Engine:
> old; 
> Locale: fa-IR (fa_IR); Calc: single
> i should mention that the user interface of my libreoffice is enUS.

Actually you should probably be on the 5.3.7.2 build. 

Anyhow, your clip indicates you are using the legacy GDI based rendering that was being reworked by Khaled to use HarfBuzz for both "default" GDI rendering and OpenGL rendering.

Here is the link to the build Archive: http://downloadarchive.documentfoundation.org/libreoffice/old/

Hope you understand that the ability to use the legacy GDI calls was removed at the 5.4.0 LibreOffice release as the mixed GDI and Direct3D DirectWrite replacements are more functional for their intended use of cross platform text rendering to document canvas.

While concentrating on UIA and emerging Windows 10 enhancments, believe the NVDA devs are building up technical debt in the Symphony and IAccessible module support of IA2 based applications.

This really is NOT OUR BUG to LibreOffice and the issue is with NVDA in Screen review mode--not sure if it is mishandling the language change, or the COM error thrown in get_IA2_attributes that drops the characters and runs the string together.  I hope the see also NVDA issue #8197 I opened will get some attention.
Comment 25 QA Administrators 2019-04-28 02:46:01 UTC Comment hidden (obsolete)
Comment 26 zahra 2020-06-21 11:17:57 UTC
(In reply to QA Administrators from comment #25)
> ** Please read this message in its entirety before responding **
> 
> To make sure we're focusing on the bugs that affect our users today,
> LibreOffice QA is asking bug reporters and confirmers to retest open,
> confirmed bugs which have not been touched for over a year.
> 
> There have been thousands of bug fixes and commits since anyone checked on
> this bug report. During that time, it's possible that the bug has been
> fixed, or the details of the problem have changed. We'd really appreciate
> your help in getting confirmation that the bug is still present.
> 
> If you have time, please do the following:
> 
> Test to see if the bug is still present with the latest version of
> LibreOffice from https://www.libreoffice.org/download/
> 
> If the bug is present, please leave a comment that includes the information
> from Help - About LibreOffice.
>  
> If the bug is NOT present, please set the bug's Status field to
> RESOLVED-WORKSFORME and leave a comment that includes the information from
> Help - About LibreOffice.
> 
> Please DO NOT
> 
> Update the version field
> Reply via email (please reply directly on the bug tracker)
> Set the bug's Status field to RESOLVED - FIXED (this status has a particular
> meaning that is not 
> appropriate in this case)
> 
> 
> If you want to do more to help you can test to see if your issue is a
> REGRESSION. To do so:
> 1. Download and install oldest version of LibreOffice (usually 3.3 unless
> your bug pertains to a feature added after 3.3) from
> http://downloadarchive.documentfoundation.org/libreoffice/old/
> 
> 2. Test your bug
> 3. Leave a comment with your results.
> 4a. If the bug was present with 3.3 - set version to 'inherited from OOo';
> 4b. If the bug was not present in 3.3 - add 'regression' to keyword
> 
> 
> Feel free to come ask questions or to say hello in our QA chat:
> https://kiwiirc.com/nextclient/irc.freenode.net/#libreoffice-qa
> 
> Thank you for helping us make LibreOffice even better for everyone!
> 
> Warm Regards,
> QA Team
> 
> MassPing-UntouchedBug

Hello.
since i use windows xp,
unfortunately i cant test beyond version 5.4.7.
i tested with 5.3 on both xp and seven,
and yesterday, i tested with version 5.4.7 which i tested on my windows xp,
and the issue still persists.
Comment 27 QA Administrators 2022-08-29 06:42:57 UTC Comment hidden (obsolete)
Comment 28 ⁨خالد حسني⁩ 2022-08-29 19:57:01 UTC
This is likely a NvDA issue, and https://github.com/nvaccess/nvda/issues/8197 was closed because the issue isn’t reproducible with NvDA 2019.3 RC2 on Libre Office 6.4.

Since OP is using XP and cannot test newer versions of LibreOffice (see comment 26), there is no point in keeping this issue open until someone can reproduce it with current versions of LibreOffice ans NvDA.