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

Already on GitHub? Sign in to your account

NVDA is imcompatible with Jarte 5.1 #3603

nvaccessAuto opened this Issue Oct 23, 2013 · 8 comments


None yet
1 participant

Reported by bflora on 2013-10-23 15:17
I am the developer of the Jarte word processor (www.jarte.com). Jarte is based on the Windows rich edit control. Jarte version 5.1 has just been released and now NVDA users are reporting that NVDA no longer works properly with Jarte. Users report NVDA is not reading Jarte's text correctly at the end of lines. Also, if the mouse cursor is moved over Jarte's editing pane while NVDA is running then the Windows rich edit control throws an exception which causes Jarte to lock-up. I have verified the problem occurs with latest version of NVDA.

I have found that the change in Jarte 5.1 which triggered the incompatibility with NVDA was a change in Windows class name of the rich edit control from "RichEdit20" to "TRichEdit". It looks like NVDA treats rich edit controls differently depending on their class name. Jarte needs to keep new the "TRichEdit" class name in order to achieve compatibility with the popular Dragon Naturally Speaking speech recognition product.

Can you tweak NVDA to treat rich edit controls using class name "TRichEdit" the same as controls with class name "RichEdit20"? Also, is there any work around in NVDA I can give to Jarte users until a permanent resolution is found? Jarte has been popular in the blind community because of its special screen reader mode, so a lot of people may be affected by this problem. Thank you for your consideration.

Bob Flora
Carolina Road Software

Comment 1 by bflora on 2013-10-23 15:18
I forgot to mention, I can be reached at email address support@jarte.com.

Comment 2 by jteh on 2013-10-25 00:02
We used to map TRichEdit to RichEdit20, but that broke some applications where TRichEdit apparently isn't compatible with RichEdit20 (2dad1eb).

Mick, 2dad1eb refers to TLB Viewer as the application that motivated the change. It seems TLB Viewer might be the odd one out here, since #3581 is another instance where mapping TRichEdit it to Edit is bad. I wonder if TLB Viewer crashes if you move the mouse over the control. If it does, this needs to be revisited anyway. Also, it mentions Unicode issues and I wonder whether that's actually a different issue. If it's still needed, perhaps we should consider making this specific to TLB Viewer, since it does seem to make more sense to map TRichEdit to RichEdit20.

Comment 3 by bflora on 2013-10-25 01:43
I was hoping the fix would be a quick and easy tweak to NVDA, but if the fix causes other problems then I can address the issue in Jarte. My fall back plan is to either revert back to the "RichEdit20" class name and use the "TRichEdit" class name only when Jarte detects Dragon Naturally Speaking is running, or else keep "TRichEdit" and switch to the "RichEdit20" name if Jarte detects NVDA is running. It would be a bit of a hack, but I'll do what I have to do. One concern here is if someone is using both NVDA and Dragon Naturally Speaking then there would be a problem, but I'm not sure if that combination makes sense.

Bob Flora
Carolina Road Software

Comment 4 by jteh on 2013-10-25 05:13
We will certainly look into this, since Jart 5.1 is not the only app experiencing this problem (see #3581). However, because this has the potential to impact other apps, it needs wider testing and therefore won't make it into NVDA 2013.3.

Comment 5 by briang1 on 2013-10-25 07:29
Well I think at least for now one can use the last release of Jarte, 5.0, though of course as noted in the update notes in Jarte, this will mean problems for some people running later version of Windows.
Could a specific tweak be done in the app module for the next release and the main fix could be then tested in another branch.

Comment 6 by bflora on 2013-10-29 03:27
I wanted to let you know that I received a report from a user of the System Access screen reader stating that System Access is not working correctly with Jarte 5.1. As a test, I provided the user with a special build of Jarte with the rich edit control class changed back to "RichEdit20" and the problem went away. At this point I'm concerned about how many programs may be dependent on Jarte's use of the RichEdit20 class name. Under the circumstances, I think the safest thing for me to do is to change the class name back to RichEdit20 by default, and then make an exception in the case where Jarte detects Dragon NaturallySpeaking is running. I'm sorry to have bothered with you with this problem since it appears I will need to address it in Jarte.

Bob Flora
Carolina Road Software

Comment 7 by jteh on 2013-10-29 03:39
RichEdit20 is definitely the more standard class name; I'm surprised Dragon doesn't support it. I'm still going to look into this because of #3581, but I'll close this ticket since you're going to address it in Jart. Please feel free to comment if you have further concerns/questions.
Added labels: invalid
State: closed

Comment 9 by Michael Curran <mick@... on 2013-12-06 00:41
In [e15e8ad]:

Map TRichEdit window class to RichEdit20. Re #3693 Re #3603 Re #3581

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment