"To" and "CC" addresses in Outlook 2007 are not read by NVDA #421

Closed
nvaccessAuto opened this Issue Jan 1, 2010 · 9 comments

1 participant

@nvaccessAuto

Reported by vtsaran on 2009-09-21 01:18
When focusing on, navigating through or querying information about participant addresses or names in "to" or "cc" fields of Outlook 2007, NVDA simply says "space".

@nvaccessAuto

Comment 1 by vtsaran on 2010-01-12 21:35
Wanted to see if anyone has any idea as to why this is happening. I believe, the names of recipients are stored in embedded objects and not written out as words. I can't remember if these were read in Outlook 2003, but they are definitely ignored in 2007.

@nvaccessAuto

Comment 2 by mdcurran on 2010-02-07 01:38

  • These controls are edit fields with a RichEdit20WPT window class.
  • These controls support ITextDocument, so theoretically, if we set the 'useITextDocumentSupport' property on their NVDAObjects to True, NVDa will start reading the embedded objects via ITextDocument.

However, having tried this, all NVDA says for each embedded object is "unknown embedded object".
The reason for this is because there is a COMError (unspecified error) when calling IOleObject::getClipboardData.

I also tried two other things since getClipboardData can't be used:

  • I tried using IOleObject::getMoniker (with the hope then of getting its display name). However getMoniker returns notImplemented.
  • I tried QueryInterface on the IOleObject to IDispatch and randomly trying property names like 'name' or 'displayName' in the hope that this object may also be an Outlook email recipient object. In fact 'name' does work, and gives us what we need. However, when 'name' is accessed, Outlook 2007 brings up a security dialog asking if the user wants to allow an external program access to Outlook. Of course this confuses NVDA some what, not to mention the user. Certainly not a good solution there.

So, no success with this bug so far.

@nvaccessAuto

Comment 3 by travisroth (in reply to comment 2) on 2010-02-13 20:15
Replying to mdcurran:
I used Inspect to look at the MSAA. The Value property does contain the full names/addresses of the To and CC fields. It seems NVDA's MSAA reviewing functions do not see the same object as Inspect does however, and only reports a ";" if I enter two addresses into the To field.
I am not sure if pointing NVDA at the MSAA object containing the To and CC values wold improve? It'd seem the user coudl at least read what's contained even if editting was still difficult... I assume there's a reason you've not done this?

@nvaccessAuto

Comment 4 by mdcurran on 2010-02-13 22:52
True, we could have NVDA report the value when the control receives focus. But, as you're aware, then trying to use the arrow keys would result in hearing only spaces and semi colons.

If we really can't fix this before 2010.1, I guess we can consider doing this for the release. As a temporary solution.

However, I'm not too sure how to do it as NVDA currently ignores the value if it thinks the control is editable, as the editable text in theory also contains the value. ... I'll think about it.

@nvaccessAuto

Comment 5 by vtsaran (in reply to comment 4) on 2010-04-14 21:47
Hi Mick,
I think hearing some kind of announcement would be better than hearing none. At the moment there is no access to those fields at all. I know, this is not perfect, but it is better than nothing.

Replying to mdcurran:

True, we could have NVDA report the value when the control receives focus. But, as you're aware, then trying to use the arrow keys would result in hearing only spaces and semi colons.

If we really can't fix this before 2010.1, I guess we can consider doing this for the release. As a temporary solution.

However, I'm not too sure how to do it as NVDA currently ignores the value if it thinks the control is editable, as the editable text in theory also contains the value. ... I'll think about it.

@nvaccessAuto

Comment 6 by vtsaran on 2010-04-16 23:59
Hello Mick and Jamie,
I just ran AccEventWatcher tool from MSAA SDK 2.0 while typing in names into the "To" and "CC" fieldsof the "new message" dialog of Outlook 2007.
When suggested names come up on the screen Outlook sends the following accesible events:

  • obj_CreateName The data associated with these events contains the suggested Email addresses. When I was selecting particular names with arrow keys, Outlook was firing obj_SelectionName that contained the name currently selected. you can simply filter those out and extract the data that way. I think this should give you enough information to advance on this bug.
@nvaccessAuto

Comment 7 by vtsaran on 2010-04-30 07:17
My comment above incorrectly states the names of events. They should be OBJ_CREATE and OBJ_SELECTION.
However, as these are only applicable for the "autosuggestion" feature, I will open a new bug for this.

@nvaccessAuto

Comment 8 by jhomme on 2010-10-26 12:33

Hi,
In case it helps, here is the information I got when I used NVDA + F1.

Input: kb(laptop):nvda+f1
INFO - appModules._default.AppModule.script_navigatorObject_devInfo (08:18:42):
Developer info for navigator object:
name: u'To'
role: ROLE_EDITABLETEXT
states: STATE_MULTILINE, STATE_FOCUSABLE, STATE_FOCUSED
Python object:
Python class mro: (, , , , , , , , , , , , )
description: None
location: (232, 140, 794, 17)
value: u'Lum, Heather; '
appModule:
TextInfo:
windowHandle: 722938
windowClassName: u'RichEdit20WPT'
windowControlID: 4099
windowStyle: 1342296132
windowThreadID: 8096
windowText: u' ; \x00'
IAccessibleObject:
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=722938, objectID=-4, childID=0
IAccessible accRole: ROLE_SYSTEM_TEXT
IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048580)

@nvaccessAuto

Comment 9 by mdcurran on 2011-06-10 02:59
Fixed in a216b8c.

Changes:
Milestone changed from None to 2011.2
State: closed

@nvaccessAuto nvaccessAuto added the bug label Nov 10, 2015
@nvaccessAuto nvaccessAuto added this to the 2011.2 milestone Nov 10, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment