Unable to read message bodies in Lotus Notes #543

Open
nvaccessAuto opened this Issue Feb 4, 2010 · 12 comments

4 participants

@nvaccessAuto

Reported by clev on 2010-02-04 14:35
Now that it's possible to use NVDA in Lotus Notes (see #80), the message bodies still appear to be inaccessible. When opening a message and trying to read the text using the object navigator plus review keys, I can read only the first line of the text. See attached log. If there is a way to read it without having to select all and copy to notepad, please tell me how. Otherwise I suggest implementing a virtual buffer for it.

@nvaccessAuto

Attachment nvda.log added by clev on 2010-02-04 14:36
Description:
Contains my attempts to read the message body.

@nvaccessAuto

Comment 1 by jteh on 2012-10-17 07:40
I'm assuming it still isn't possible to read these? Can you please provide a log with a recent snapshot of NVDA? As part of your log, please press NVDA+f1 after opening the message to log the developer info. Thanks.

@nvaccessAuto

Comment 2 by clev (in reply to comment 1) on 2012-10-17 16:45
It still isn't possible to read message bodies with arrows; after pressing insert-numpad 7, it's possible to read using numpad 7, 8 and 9. Here is the log from the main 5777 package; it starts when I alt-tab to the Lotus Notes message list, then select one, then Enter and try to read, and finally insert-f1.

IO - inputCore.InputManager.executeGesture (12:44:09):
Input: kb(desktop):alt+tab
IO - speech.speak (12:44:09):
Speaking Casarin Uliana - Caixa de entrada - IBM Lotus Notes \xedcone'
DEBUGWARNING - core.newCpbDel (12:44:10):
COM pointer already deleted
IO - inputCore.InputManager.executeGesture (12:44:13):
Input: kb(desktop):downArrow
IO - speech.speak (12:44:13):
Speaking Casarin Uliana - Caixa de entrada - IBM Lotus Notes'
IO - speech.speak (12:44:13):
Speaking de entrada | ($Inbox) \xe1rvore'
IO - speech.speak (12:44:13):
Speaking de entrada | ($Inbox) \xe1rvore'
IO - speech.speak (12:44:13):
Speaking de entrada | ($Inbox) \xe1rvore'
IO - speech.speak (12:44:13):
Speaking de entrada | ($Inbox) \xe1rvore'
IO - speech.speak (12:44:13):
Speaking de informa\xe7\xe3o Comunicado Acompanhamento de frequ\xeancia. / ENVIADA POR: Gualter Lemos 11/10/2012 15:24 8K n\xe3o selecionado'
IO - inputCore.InputManager.executeGesture (12:44:13):
Input: kb(desktop):upArrow
IO - speech.speak (12:44:14):
Speaking Ana Laura Nogueira Vianna 25022.7 15/10/2012 16:53 9K n\xe3o selecionado'
IO - inputCore.InputManager.executeGesture (12:44:15):
Input: kb(desktop):upArrow
IO - speech.speak (12:44:15):
Speaking de informa\xe7\xe3o Comunicado Comunicado: Termo de Compromisso de Reposi\xe7\xe3o de Horas. / ENVIADA POR: Gualter Lemos 15/10/2012 17:13 2K 0 N\xe3o lido n\xe3o selecionado'
IO - inputCore.InputManager.executeGesture (12:44:19):
Input: kb(desktop):enter
IO - speech.speak (12:44:20):
Speaking (Brasil) - Portugu\xeas (Brasil ABNT)'
IO - speech.speak (12:44:20):
Speaking Termo de Compromisso de Reposi\xe7\xe3o de Horas. / ENVIADA POR: Gualter Lemos documento'
IO - inputCore.InputManager.executeGesture (12:44:27):
Input: kb(desktop):upArrow
IO - inputCore.InputManager.executeGesture (12:44:28):
Input: kb(desktop):downArrow
IO - inputCore.InputManager.executeGesture (12:44:34):
Input: kb(desktop):NVDA+f1
INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo (12:44:34):
Developer info for navigator object:
name: u'Comunicado: Termo de Compromisso de Reposi\xe7\xe3o de Horas. / ENVIADA POR: Gualter Lemos'
role: ROLE_DOCUMENT
states: STATE_READONLY, STATE_FOCUSABLE, STATE_FOCUSED
isFocusable: True
hasFocus: True
Python object:
Python class mro: (, , , , , )
description: None
location: (60, 284, 1191, 656)
value: None
appModule: <'appModuleHandler' (appName u'nlnotes', process ID 3020) at address 408aff0>
TextInfo:
windowHandle: 656390
windowClassName: u'NotesRichText'
windowControlID: 0
windowStyle: 1375731712
windowThreadID: 1836
windowText: u''
displayText: u'\x00Prezados Servidores,\n\x00Tendo em vista alguns questionamentos recebidos pela SRH esclarecemos que as faltas decorrentes de participa\xe7\xe3o na greve n\xe3o impactar\xe3o na Progress\xe3o e Promo\xe7\xe3o\n\x00dos servidores.Apenas as faltas injustificadas,as quais n\xe3o s\xe3o p' (truncated)
IAccessibleObject:
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=656390, objectID=-4, childID=0
IAccessible accName: u'Comunicado: Termo de Compromisso de Reposi\xe7\xe3o de Horas. / ENVIADA POR: Gualter Lemos'
IAccessible accRole: ROLE_SYSTEM_DOCUMENT
IAccessible accState: STATE_SYSTEM_READONLY, STATE_SYSTEM_MULTISELECTABLE, STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (17825860)
IAccessible accDescription: None
IAccessible accValue: None
DEBUGWARNING - watchdog.watcher (12:44:34):
Trying to recover from freeze, core stack:
File "nvda.pyw", line 155, in
File "core.pyc", line 345, in main
File "wx_core.pyc", line 8010, in MainLoop
File "wx_core.pyc", line 7306, in MainLoop
File "core.pyc", line 322, in Notify
File "IAccessibleHandler.pyc", line 837, in pumpAll
File "IAccessibleHandler.pyc", line 583, in processGenericWinEvent
File "IAccessibleHandler.pyc", line 502, in winEventToNVDAEvent
File "NVDAObjects\IAccessible__init_
.pyc", line 45, in getNVDAObjectFromEvent
File "NVDAObjects__init__.pyc", line 78, in call
File "appModules\explorer.pyc", line 134, in chooseNVDAObjectOverlayClasses
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in getPropertyViaCache
File "NVDAObjects\IAccessible__init_
.pyc", line 895, in get_parent
File "NVDAObjects__init_
.pyc", line 78, in call
File "appModules\explorer.pyc", line 134, in chooseNVDAObjectOverlayClasses
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in getPropertyViaCache
File "NVDAObjects\IAccessible__init_
.pyc", line 896, in _get_parent
File "IAccessibleHandler.pyc", line 409, in accParent

DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (12:44:36):
oleacc.AccessibleObjectFromEvent with window 131324, objectID -4 and childID 0:
IO - speech.speak (12:44:36):
Speaking do log do NVDA'
IO - speech.speak (12:44:36):
Speaking multilinha somente leitura'
IO - speech.speak (12:44:36):
Speaking - globalCommands.GlobalCommands.script_navigatorObject_devInfo (12:44:34):\r'
IO - inputCore.InputManager.executeGesture (12:44:53):
Input: kb(desktop):upArrow
IO - speech.speak (12:44:53):
Speaking kb(desktop):NVDA+f1\r'
IO - inputCore.InputManager.executeGesture (12:44:54):
Input: kb(desktop):downArrow
IO - speech.speak (12:44:54):
Speaking - globalCommands.GlobalCommands.script_navigatorObject_devInfo (12:44:34):\r'
IO - inputCore.InputManager.executeGesture (12:44:56):
Input: kb(desktop):downArrow
IO - speech.speak (12:44:56):
Speaking info for navigator object:\r'

@nvaccessAuto

Comment 3 by jteh on 2012-10-17 23:38
Can you please try using object navigation commands from this document; e.g. NVDA+numpad2, then NVDA+numpad6, etc.? I suspect this document isn't accessible through accessibility APIs. We could potentially make it possible to review it using the text review commands (rather than having to activate flat review first), but even then, it would only be display text, which is potentially inaccurate and won't allow you to easily access pages other than the first in long messages.

@nvaccessAuto

Comment 4 by jteh on 2012-10-17 23:39
Btw, it's difficult (if not impossible) for us to even investigate this because we don't have access to the software. Afaik, it isn't free and even if it were, we don't have access to a Notes server.

@nvaccessAuto

Comment 5 by mdcurran on 2012-10-25 05:57
Some basic support for reading and writing mail messages in f06a34d. This missed out on 2012.3 due to time, but also because I've very quickly hacked this together. This is only tested on notes 8.5 and very well could completely break with older versions.
Note that I have an evaluation copy of Notes for 90 days. If a lot more serious work needs to be done we'll have to try getting some help from IBM.
This is a good start though.
To/cc/subject fields can be used nicer now. Composing emails can be mostly read (with help of displayModel). And reading messages is done with browse mode with a new Lotus notes backend which renders basic text content and links.
Changes:
Milestone changed from None to 2013.1

@nvaccessAuto

Comment 6 by clev (in reply to comment 5) on 2012-10-29 13:51
I thought I had version 8.5 here in my workplace, but it's actually 8.0 from August 2007. Editing messages has notoriously improved, although NVDA doesn't read autocompletion in header fields. Unfortunately, reading messages doesn't work. Apart from a text line indicating attachments when they are present, the message area displays completely blank. For your info, follows the log from insert+f1, at the message area, assuming it can help in any way:

IO - speech.speak (11:27:41):
Speaking ASANP INFORME ASANP - Dados de frequ\xeancia foram disponibilizados inadvertidamente - Reuni\xe3o com Diretora Magda 26/10/2012 20:38 18K n\xe3o selecionado'
IO - inputCore.InputManager.executeGesture (11:27:41):
Input: kb(desktop):upArrow
IO - inputCore.InputManager.executeGesture (11:27:43):
Input: kb(desktop):enter
IO - speech.speak (11:27:43):
Speaking ASANP - Dados de frequ\xeancia foram disponibilizados inadvertidamente - Reuni\xe3o com Diretora Magda'
DEBUG - treeInterceptorHandler.update (11:27:43):
Adding new treeInterceptor to runningTable:
IO - speech.speak (11:27:43):
Speaking ASANP - Dados de frequ\xeancia foram disponibilizados inadvertidamente - Reuni\xe3o com Diretora Magda documento'
IO - speech.speak (11:27:43):
Speaking branco'
IO - inputCore.InputManager.executeGesture (11:27:44):
Input: kb(desktop):upArrow
IO - speech.speak (11:27:45):
Speaking branco'
IO - inputCore.InputManager.executeGesture (11:27:45):
Input: kb(desktop):upArrow
IO - speech.speak (11:27:45):
Speaking branco'
IO - inputCore.InputManager.executeGesture (11:27:47):
Input: kb(desktop):NVDA+f1
INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo (11:27:47):
Developer info for navigator object:
name: u'INFORME ASANP - Dados de frequ\xeancia foram disponibilizados inadvertidamente - Reuni\xe3o com Diretora Magda'
role: ROLE_DOCUMENT
states: STATE_READONLY, STATE_FOCUSABLE, STATE_FOCUSED
isFocusable: True
hasFocus: True
Python object:
Python class mro: (, , , , , , )
description: None
location: (60, 303, 1191, 637)
value: None
appModule: <'nlnotes' (appName u'nlnotes', process ID 3192) at address 3f075d0>
TextInfo:
windowHandle: 591222
windowClassName: u'NotesRichText'
windowControlID: 0
windowStyle: 1377828864
windowThreadID: 2228
windowText: u''
displayText: u'\n\x00ARQUIVOS COM DADOS DE FREQU\xcaNCIA FORAM DISPONIBILIZADOS NO DISCO\n\x00"NEWS"E RETIRADOS AP\xd3S ALGUMAS HORAS.\n\x00PROPUSEMOS MAIS DI\xc1LOGO COM A DIRETORIA DA ANP\n\x00Dados n\xe3o levam em conta informa\xe7\xf5es relevantes para a frequ\xeancia\n\x00A Administra\xe7\xe3o disponibiliz' (truncated)
IAccessibleObject:
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=591222, objectID=-4, childID=0
IAccessible accName: u'INFORME ASANP - Dados de frequ\xeancia foram disponibilizados inadvertidamente - Reuni\xe3o com Diretora Magda'
IAccessible accRole: ROLE_SYSTEM_DOCUMENT
IAccessible accState: STATE_SYSTEM_READONLY, STATE_SYSTEM_MULTISELECTABLE, STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (17825860)
IAccessible accDescription: None
IAccessible accValue: None
DEBUGWARNING - watchdog.watcher (11:27:47):
Trying to recover from freeze, core stack:
File "nvda.pyw", line 164, in
File "core.pyc", line 345, in main
File "wx_core.pyc", line 8010, in MainLoop
File "wx_core.pyc", line 7306, in MainLoop
File "core.pyc", line 322, in Notify
File "IAccessibleHandler.pyc", line 837, in pumpAll
File "IAccessibleHandler.pyc", line 583, in processGenericWinEvent
File "IAccessibleHandler.pyc", line 502, in winEventToNVDAEvent
File "NVDAObjects\IAccessible__init_
.pyc", line 39, in getNVDAObjectFromEvent
File "IAccessibleHandler.pyc", line 333, in accessibleObjectFromEvent
File "oleacc.pyc", line 240, in AccessibleObjectFromEvent

DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (11:27:48):
oleacc.AccessibleObjectFromEvent with window 65726, objectID -4 and childID 2:
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (11:27:49):
oleacc.AccessibleObjectFromEvent with window 65726, objectID -4 and childID 1:
IO - speech.speak (11:27:49):
Speaking do log do NVDA'

@nvaccessAuto

Comment 7 by mdcurran on 2013-01-30 04:00
Changes:
Milestone changed from 2013.1 to near-term

@nvaccessAuto

Comment 8 by tkacik on 2013-03-16 15:20
Hello,
I am highly appreciating work which have been done in this matter, NVDA is really working satisfactorily in Lotus notes. Just that reading received mails is still really bothering problem. Has it been solved in any way already? I am using lotus notes 8.5 at work and there is no possibility to change mail client, because of whole company uses it. NVDA works fine even in sametime chat application, which lotus uses. But without reading received mails properly I can not efficiently use NVDA at work. There is no doubdt I really would like to do that, NVDA is much more quicker and reads much more better other applications used in my work place. If anybody could help with advice or even some improvement in this, please help. It would make my work life easier :-).

@nvaccessAuto

Comment 9 by jteh on 2013-03-17 06:00
Reading messages should work in 8.5, but apparently not 8.0. Please test with NVDA 2013.1beta1.

@nvaccessAuto

Comment 10 by tkacik (in reply to comment 9) on 2013-03-18 20:02
Hello,

I checked it at work today with Lotus notes 8.5.3 version and the newest NVDA beta version. Unfortunatelly, NVDA is not reading received mails, either via focus navigator either via object navigator. The only way I can at least a bit read an e-mail is to a guess the message window position with mouse. When dragging mouse over email NVDA reads parts of text. It is however a bit insufficientway to work with mails when every minute at work is time-worthy. :)
does somebody know if there is any setting, which could help in this matter either NVDA setting or lotus setting?
NVDA is much more better for me to use at work because of its pretty speed and ability to read everything much more better than other screenreaders. But this received messages in lotus are becoming to be my nightmare.
Please help, anybody who use NVDA with lotus notes.
Michal

Replying to jteh:

Reading messages should work in 8.5, but apparently not 8.0. Please test with NVDA 2013.1beta1.

@nvaccessAuto nvaccessAuto added this to the near-term milestone Nov 10, 2015
@jcsteh jcsteh removed this from the near-term milestone Jun 24, 2016
@geoffshang

I am using IBM Notes 9.0.1FP5 at work.

I've tested it with NVDA 2016.2.1.

The short answer is that it can read some messages and not others, and same for writing.

Notes has a built-in browser that can be used to read some content types (presumably HTML email). This browser can be turned off in preferences. When this browser is used, NVDA is able to read the messages. It doesn't appear to be possible to get it to use the browser for all email however.

I've not figured out why it is able to read some email composition and not others, presumably it's something similar.

Notes is built on Eclipse, if that helps.

I'm happy to do tests and gather more info if it's of any help.

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