After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 701874 - Orca sometimes announce "missspelled" with every keystroke.
Orca sometimes announce "missspelled" with every keystroke.
Status: RESOLVED NOTGNOME
Product: orca
Classification: Applications
Component: speech
3.8.x
Other Linux
: Normal normal
: ---
Assigned To: Joanmarie Diggs (IRC: joanie)
Orca Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-06-08 19:43 UTC by Joanmarie Diggs (IRC: joanie)
Modified: 2013-11-13 13:17 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Screenshot of the Libreoffice window. (437.70 KB, image/png)
2013-06-10 15:27 UTC, chris
Details
Debug Log (57.90 KB, application/gzip)
2013-06-10 15:32 UTC, chris
Details
New Debugfile (24.37 KB, application/gzip)
2013-10-03 22:10 UTC, chris
Details
debug output from orca in Thunderbird (18.24 KB, application/gzip)
2013-10-07 16:08 UTC, chris
Details
Macro for Goto next missspelling word in libreoffice/openoffice (1.37 KB, text/plain)
2013-10-24 15:50 UTC, chris
Details
My Settings (5.62 KB, application/gzip)
2013-11-13 00:18 UTC, chris
Details

Description Joanmarie Diggs (IRC: joanie) 2013-06-08 19:43:24 UTC
(From a downstream bug: https://bugzilla.redhat.com/show_bug.cgi?id=970745)

Description of problem:
I use the gnome-shell with the screenreder orca.
for my work i need libreoffice.
If i write an document, orca doesnt speak the first wordi write on an empty document.

Version-Release number of selected component (if applicable):
Orca 3.8.1.
LibreOffice 4.0.0.beta1.fc19

How reproducible:
Run Orca-> enable "echo per word" in preferences -> open writer and type.

Steps to Reproduce:
1. run orca with alt+f2 -> type "orca" -> hit enter OR enable screenreader over the gnome accessibility menue
2.go into orca preferences wit CAPSLOCK + Space (on laptop) or INSERT + SPACE on PC
3.Goto Page "Keyboard echo"(Tastaturecho in german) -> Enable Echo per Word (i dont know if it matters, but i do so)
4. Press OK
5 Start LibreOffice Writer
6 Type Correct and Incorrect words mixed and navigate arround

Actual results:
Sometimes Orca Say: "missspell" with every keystroke (doesnt matter if the current word is correct or not)
after press return a view times it goes back to normal processing

Expected results:
Orca should always only say "misspelled" on incorrect words. 


Additional info:
I use an german Setup with espeak as speechsyntezier.
Comment 1 Joanmarie Diggs (IRC: joanie) 2013-06-08 21:31:22 UTC
Hi Chris.

As you may have seen, we moved this bug upstream. (Unlike Ubuntu, a bug you see when using Fedora is typically upstream rather than downstream.) I fixed the bug where Orca is not echoing the first word, but I cannot reproduce your bug. So it would be super helpful if you could take a screenshot of what is displayed when Orca is saying misspelled when it should not be. Please attach it, along with a full debug.out, to this bug.

How to get a full debug.out is described here: https://live.gnome.org/Orca/Debugging

And you should be able to capture a screenshot of all that is showing on your screen by pressing the Print Screen key. It will put a copy in your pictures directory.

When I have both I will try to reproduce your exact circumstances, text and all.

Sorry and thanks!
Comment 2 chris 2013-06-10 15:27:08 UTC
Created attachment 246412 [details]
Screenshot of the Libreoffice window.
Comment 3 chris 2013-06-10 15:32:50 UTC
Created attachment 246413 [details]
Debug Log

I open orca with
alt + f2 -> orca --debug
press super for enter the shell
type libre
open libre office and type:
Test test deasdf dwerdadsf
asdf ddddrehallothiswordsayswitheverykeystrokemissspelled

in the second line i wait until the first word is underlined. then the problem happens at the second word

sorry the file was in plain text to big.
Comment 4 chris 2013-06-10 15:33:53 UTC
I hope this helps
Comment 5 chris 2013-10-03 21:59:04 UTC
I reconized that the problem appears if i wait until the misspelled word is underlined (with an red line). for this point it always announce misspelled.

reproduce:
1 open libreoffice with enabled spellcheck.
2. type "asdfd " (with space)
3. wait until "asdfd" is underlined with an red line (marked as misspelled)
4. try to type any new word (doesnt matther correct or incorrect) orca announce "misspelled" with every keystroke.

it seems to me that something is not resettet with the new word.
Comment 6 chris 2013-10-03 22:10:41 UTC
Created attachment 256431 [details]
New Debugfile
Comment 7 chris 2013-10-03 22:11:50 UTC
i think the part with

SPEECH OUTPUT: 'falsch geschrieben' voice=system

is the interesting one.

falsch geschrieben= misspelled (in german)
Comment 8 Joanmarie Diggs (IRC: joanie) 2013-10-03 22:59:36 UTC
Thanks for the logs. I will need to be able to reproduce it myself as this is likely not an Orca bug. Orca looks at the text attributes reported by LibreOffice for the offset reported by the caret-moved event. If LibreOffice tells us your caret moved to offset x and LibreOffice tells us that the text attributes at offset x include the misspelled word indicator, then Orca will say misspelled.
Comment 9 chris 2013-10-07 16:04:10 UTC
Hi Joanmarie,

I see this problem also appers in Thunderbird (in my case version 17.x.x).
So its maybe an orca bug?
if i type an message in thunderbird and the last word i typed is misspelled and i wait until its underlined, orca alos announces misspeelld with every keystroke.
Comment 10 chris 2013-10-07 16:08:40 UTC
Created attachment 256644 [details]
debug output from orca in Thunderbird 

i open orca --debug
go to thunderbird
open a new message
go to the content text area and typed:
helo test

after "helo" i wait a second until "missspelled" is announced.
Comment 11 Joanmarie Diggs (IRC: joanie) 2013-10-07 16:10:27 UTC
Ok, I'll keep trying to reproduce it. Thanks!
Comment 12 chris 2013-10-07 20:44:00 UTC
Sorry again,
I see this also happens if i disable the function(for saying missspelled) in the attributes tab of the orca settings.
Comment 13 chris 2013-10-18 09:25:42 UTC
it seems the only way to prevent orca to say misspelled is to change the color of the "misspelled" marker line.
Comment 14 chris 2013-10-24 15:50:51 UTC
Created attachment 258034 [details]
Macro for Goto next missspelling word in libreoffice/openoffice
Comment 15 chris 2013-10-24 15:52:25 UTC
Ignore my last comment...
Changing the color only helps until next reboot ^^.

But this makes wordprocessing nearby impossible to me or my girlfrind (and she need it to make her homework at the moment). 
if someone have the same problem -> disable this function

1. locate the orca installation and open the folder <orca>/scripts/apps/soffice
2. open the file with the function definition
sudo vim script_utilities.py
3. Search the function isWordMisspelled
/isWordMisspelled
4. search the return value of this function:
return error == "misspelled"
5. change it to return everytime false
return False #error == "misspelled"

i cant see whats going wrong. maybe i will take a look later in evening 

I wrote (and attach) an libreoffice macro for goto next misspelled word. maybe this helps someone.
you can give it an shortcut.
Comment 16 Joanmarie Diggs (IRC: joanie) 2013-10-24 16:53:04 UTC
I'm curious.... If you do the following:

1. In a terminal do export ATSPI_NO_CACHE=1
2. In that same terminal launch Orca

Does the problem still occur?
Comment 17 chris 2013-10-24 17:15:30 UTC
Yes, this also happens with disabled cache. 
can you also reproduce it? this happens in fedora 19 on all our installations ( 2 laptops and 2 desktops).
Comment 18 chris 2013-11-12 23:22:40 UTC
Hi joanie,
Sorry that I m so annoying here, but can you take a look on this please :/. i know you are very busy, but this makes me crazy. And i realy need it to do my seminar paper. This makes finding missspelled words realy hard. i worked arround a little but this slows the process realy down :/.
It would realy helpfull. 
Thanks for you hard work on orca.
Comment 19 Joanmarie Diggs (IRC: joanie) 2013-11-12 23:36:26 UTC
Will you send me a tarball with your $HOME/.local/share/orca? The only thing I can think of is that you have changed some setting somewhere. Because I cannot reproduce this problem. And if you are telling me it also happens in Thunderbird too, this suggests to me that something may have been changed in your preferences.
Comment 20 Joanmarie Diggs (IRC: joanie) 2013-11-12 23:42:31 UTC
(In reply to comment #10)
> Created an attachment (id=256644) [details]
> debug output from orca in Thunderbird 
> 
> i open orca --debug
> go to thunderbird
> open a new message
> go to the content text area and typed:
> helo test
> 
> after "helo" i wait a second until "missspelled" is announced.

By the way, in your example above, "helo" is misspelled. If you have the announcement of misspelled words enabled in Orca, announcing "misspelled" after a misspelled word is written is the expected behavior. That it takes a second to announce it is not good, but hopefully the work I am doing to improve Orca's performance will cause it to present the announcement in a more timely fashion.
Comment 21 chris 2013-11-12 23:59:17 UTC
(In reply to comment #20)
> (In reply to comment #10)
> > Created an attachment (id=256644) [details] [details]
> > debug output from orca in Thunderbird 
> > 
> > i open orca --debug
> > go to thunderbird
> > open a new message
> > go to the content text area and typed:
> > helo test
> > 
> > after "helo" i wait a second until "missspelled" is announced.
> 
> By the way, in your example above, "helo" is misspelled. If you have the
> announcement of misspelled words enabled in Orca, announcing "misspelled" after
> a misspelled word is written is the expected behavior. That it takes a second
Yes, i know. my problem is that orcan doesnt "stop" with announcing it. after i type "helo" and wait until misspelled is announced -> from now orca say misspelled with every keystroke in the case above it happens the following:

helo (orca say missspelled" -> this is correct)t(orca say missspelled")e(orca say missspelled")s(orca say missspelled")t(orca say missspelled")

> to announce it is not good, but hopefully the work I am doing to improve Orca's
> performance will cause it to present the announcement in a more timely fashion.
Yea thats realy cool :) i already test it out yesterday :),Its an real performance bost. damn cool stuff ;)
Comment 22 chris 2013-11-13 00:07:47 UTC
ii remove my settings so that orca use the default one -> the problem still happens
Comment 23 Joanmarie Diggs (IRC: joanie) 2013-11-13 00:11:51 UTC
What locale? German??
Comment 24 chris 2013-11-13 00:18:27 UTC
Created attachment 259704 [details]
My Settings

Here Are my settings.
But if i delete the orca folder in ~/.local/share
the problem is still present. so i dont tink that my settings are the problem.
i also can reproduce it with an fresh fedora 19 installation.
Comment 25 chris 2013-11-13 00:19:23 UTC
(In reply to comment #23)
> What locale? German??

Yes.
Comment 26 Joanmarie Diggs (IRC: joanie) 2013-11-13 01:00:28 UTC
Just to prove I'm not seeing the problem, I deleted all my settings, and then your Thunderbird test, once in an English session and once in a German session. Below is the speech output and key presentation from each. In other words, if Orca said it you'll see it below.

$ grep -rE "SPEECH OUTPUT|KeyboardEvent.present" eng.out 
SPEECH OUTPUT: 'Screen reader on.' voice=hyperlink
SPEECH OUTPUT: 'jd@blockhead:~/checkout/orca frame' voice=hyperlink
KeyboardEvent.present: Alt_L
SPEECH OUTPUT: 'left alt '
SPEECH OUTPUT: 'window' voice=hyperlink
SPEECH OUTPUT: 'panel' voice=hyperlink
SPEECH OUTPUT: 'Thunderbird push button' voice=hyperlink
SPEECH OUTPUT: 'window' voice=hyperlink
SPEECH OUTPUT: 'Thunderbird application gnome - jdiggs@igalia.com - Mozilla Thunderbird frame'
KeyboardEvent.present: Control_L
SPEECH OUTPUT: 'left control '
KeyboardEvent.present: N
SPEECH OUTPUT: 'Write: (no subject) frame'
SPEECH OUTPUT: 'To: entry'
KeyboardEvent.present: Tab
SPEECH OUTPUT: 'tab '
SPEECH OUTPUT: 'Subject: entry'
KeyboardEvent.present: Tab
SPEECH OUTPUT: 'tab '
SPEECH OUTPUT: 'blank'
KeyboardEvent.present: h
KeyboardEvent.present: e
KeyboardEvent.present: l
KeyboardEvent.present: o
KeyboardEvent.present: space
SPEECH OUTPUT: 'misspelled' voice=hyperlink
KeyboardEvent.present: t
KeyboardEvent.present: e
KeyboardEvent.present: s
KeyboardEvent.present: t
KeyboardEvent.present: space
SPEECH OUTPUT: 'jd@blockhead:~/checkout/orca' voice=hyperlink
SPEECH OUTPUT: 'Screen reader off.'

$ grep -rE "SPEECH OUTPUT|KeyboardEvent.present" de.out 
SPEECH OUTPUT: 'Bildschirmleser an.'
SPEECH OUTPUT: 'jd@blockhead:~ Rahmen' voice=hyperlink
KeyboardEvent.present: Alt_L
SPEECH OUTPUT: 'Alt links '
SPEECH OUTPUT: 'Fenster' voice=hyperlink
SPEECH OUTPUT: 'Panel' voice=hyperlink
SPEECH OUTPUT: 'Thunderbird Druckknopf' voice=hyperlink
SPEECH OUTPUT: 'Fenster' voice=hyperlink
SPEECH OUTPUT: 'Thunderbird Anwendung gnome - jdiggs@igalia.com - Mozilla Thunderbird Rahmen'
KeyboardEvent.present: Control_L
SPEECH OUTPUT: 'Steuerung links '
KeyboardEvent.present: N
SPEECH OUTPUT: 'Verfassen: (kein Betreff) Rahmen'
SPEECH OUTPUT: 'An: Eingabefeld'
KeyboardEvent.present: Tab
SPEECH OUTPUT: 'Tab '
SPEECH OUTPUT: 'Betreff: Eingabefeld'
KeyboardEvent.present: Tab
SPEECH OUTPUT: 'Tab '
SPEECH OUTPUT: 'leer'
KeyboardEvent.present: h
KeyboardEvent.present: e
KeyboardEvent.present: l
KeyboardEvent.present: o
KeyboardEvent.present: space
SPEECH OUTPUT: 'falsch geschrieben'
KeyboardEvent.present: t
KeyboardEvent.present: e
KeyboardEvent.present: s
KeyboardEvent.present: t
KeyboardEvent.present: space
SPEECH OUTPUT: 'Verfassen: (kein Betreff) Rahmen'
SPEECH OUTPUT: 'helo test '
SPEECH OUTPUT: 'jd@blockhead:~' voice=hyperlink
SPEECH OUTPUT: 'Bildschirmleser aus.'
Comment 27 chris 2013-11-13 01:29:58 UTC
You are right, in thunderbird i cant reproduce it anymore.
can you try it in libreoffice again? here does the problem already exist for me.
Comment 28 Joanmarie Diggs (IRC: joanie) 2013-11-13 02:17:20 UTC
(In reply to comment #27)
> You are right, in thunderbird i cant reproduce it anymore.

That's progress.

> can you try it in libreoffice again? here does the problem already exist for
> me.

And this is the part that puzzles me. Because there is an old bug in OpenOffice (and now LibreOffice) in which we don't get the event we need when the little squiggly line appears under a misspelled word, so Orca is not prompted to see if the word you just completed writing is misspelled. In other words, I've never had Orca say "misspelled" in LibreOffice as I type. It only presents it when you go back and arrow through the text. 

But since you asked... Yes, I repeated the test in LibreOffice Writer in both an English session and in a German session. In the German session, "test" got marked as misspelled in LibreOffice and I wanted a test case where we had an initial misspelled word followed by correctly-spelled words because that is the bug you are reporting. Since I don't know German, I started typing the names of the menus on the menu bar. <grins> At no time did Orca say "misspelled" or the German equivalent as I typed. Here is the output from both to prove it:

$ grep -rE "SPEECH OUTPUT|KeyboardEvent.present" en-lo.out
SPEECH OUTPUT: 'Screen reader on.'
SPEECH OUTPUT: 'jd@blockhead:~ frame' voice=hyperlink
KeyboardEvent.present: Alt_L
SPEECH OUTPUT: 'left alt '
SPEECH OUTPUT: 'window' voice=hyperlink
SPEECH OUTPUT: 'panel' voice=hyperlink
SPEECH OUTPUT: 'LibreOffice Writer push button' voice=hyperlink
SPEECH OUTPUT: 'window' voice=hyperlink
KeyboardEvent.present: h
KeyboardEvent.present: e
KeyboardEvent.present: l
KeyboardEvent.present: o
KeyboardEvent.present: space
KeyboardEvent.present: t
KeyboardEvent.present: e
KeyboardEvent.present: s
KeyboardEvent.present: t
KeyboardEvent.present: space
SPEECH OUTPUT: 'jd@blockhead:~ frame' voice=hyperlink
SPEECH OUTPUT: 'jd@blockhead:~' voice=hyperlink
SPEECH OUTPUT: 'Screen reader off.'

$ grep -rE "SPEECH OUTPUT|KeyboardEvent.present" de-lo.out
SPEECH OUTPUT: 'Bildschirmleser an.' voice=system
SPEECH OUTPUT: 'jd@blockhead:~ Rahmen' voice=hyperlink
KeyboardEvent.present: Alt_L
SPEECH OUTPUT: 'Alt links '
SPEECH OUTPUT: 'Fenster' voice=hyperlink
SPEECH OUTPUT: 'Panel' voice=hyperlink
SPEECH OUTPUT: 'LibreOffice Writer Druckknopf' voice=hyperlink
SPEECH OUTPUT: 'Fenster' voice=hyperlink
KeyboardEvent.present: h
KeyboardEvent.present: e
KeyboardEvent.present: l
KeyboardEvent.present: o
KeyboardEvent.present: space
KeyboardEvent.present: Shift_R
SPEECH OUTPUT: 'Umschalt rechts '
KeyboardEvent.present: F
KeyboardEvent.present: e
KeyboardEvent.present: n
KeyboardEvent.present: s
KeyboardEvent.present: t
KeyboardEvent.present: e
KeyboardEvent.present: r
KeyboardEvent.present: space
KeyboardEvent.present: Shift_R
SPEECH OUTPUT: 'Umschalt rechts '
KeyboardEvent.present: F
KeyboardEvent.present: o
KeyboardEvent.present: r
KeyboardEvent.present: m
KeyboardEvent.present: a
KeyboardEvent.present: t
KeyboardEvent.present: space
SPEECH OUTPUT: 'jd@blockhead:~ Rahmen' voice=hyperlink
SPEECH OUTPUT: 'jd@blockhead:~' voice=hyperlink
SPEECH OUTPUT: 'Bildschirmleser aus.' voice=system
Comment 29 Joanmarie Diggs (IRC: joanie) 2013-11-13 03:11:11 UTC
Aha. Silly me, I was testing with Orca master. I was able to reproduce this finally and pretty reliably, with Orca stable. I've since been trying some more and cannot reproduce it in that same environment using Orca master. (As a related aside, I have pretty much re-written the LibreOffice script in Orca.)

Since you indicated you were able to try Orca master, could you please let me know if you are still seeing the bug there? Thanks!
Comment 30 Joanmarie Diggs (IRC: joanie) 2013-11-13 04:22:49 UTC
In the meantime, guess it's time to start filing those LibreOffice bugs.....

Accessible text-attributes-changed signals should only be emitted when the text attributes have changed 
https://bugs.freedesktop.org/show_bug.cgi?id=71556
Comment 31 Joanmarie Diggs (IRC: joanie) 2013-11-13 05:17:23 UTC
Accessible text-attributes-changed signals are not emitted when a word becomes marked as misspelled
https://bugs.freedesktop.org/show_bug.cgi?id=71558
Comment 32 Joanmarie Diggs (IRC: joanie) 2013-11-13 05:37:48 UTC
And just to be darned sure the beast is 100% slaughtered, I just committed a change to Orca master so that we ignore the offending event for LibreOffice.
https://git.gnome.org/browse/orca/commit/?id=e62b45bb90544fa3aa5cb3b5935af0e3005a10fc

Closing this as NOTGNOME. I'll remove the above hack when the LibreOffice bugs are fixed.
Comment 33 chris 2013-11-13 13:17:00 UTC
Realy thanks for this Joanie,
But its funny thats the same problem exists in Thunderbird for a short wile :D(at the same time). The Debug.out is the evidence. But you are right. In thunderbird it work now as exept.