Outlook 2010+: column headers are always reported in message list and address books #3834

Closed
nvaccessAuto opened this Issue Jan 31, 2014 · 19 comments

1 participant

@nvaccessAuto

Reported by leonarddr on 2014-01-31 18:11
In the outlook message lists in mail folders, the column headers (from, subject) are always supported, even when reporting row/column headers is turned off. It would be great if switching reporting headers would work on this table as well.

@nvaccessAuto

Comment 1 by mdcurran on 2014-04-30 00:35
This will be possible to fix for Outlook 2010 and above making use of UI Automation grid implementation. Fixing for older versions should be handled in another ticket, though I really don't think its worth the amount of work that would be involved.
Changes:
Changed title from "Outlook: column headers are always reported in message list" to "Outlook 2010+: column headers are always reported in message list"
Milestone changed from None to next

@nvaccessAuto

Comment 2 by Michael Curran <mick@... on 2014-05-05 10:53
In [ec8b81d]:
```CommitTicketReference repository="" revision="ec8b81db7de2e63fc632e503c357f20326f05940"
Merge branch 't3834' into next (inhanced Inbox reading in Outlook 2010 and above on Windows 7 and above). Incubates #3834

Changes:
Added labels: incubating
@nvaccessAuto

Comment 3 by surveyor on 2014-05-06 07:32
NVDA version next-10562,d098acc
Microsoft Outlook version 14.0.6126.5003

Even if reporting of colomn and raw headers is disabled, NVDA is still reporting them. If will be helpful relevant part of the log is below:
INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo (10:25:41):
Developer info for navigator object:
name: u'Meeting Request Read'
role: ROLE_LISTITEM
states: STATE_FOCUSABLE, STATE_FOCUSED
isFocusable: True
hasFocus: True
Python object:
Python class mro: (, , , , , , )
description: None
location: None
value: u'From \xd6zg\xfcn Esin Dal, Subject Haftal\u0131k Sat\u0131\u015f Toplant\u0131s\u0131, Received Pzt 13:26, Size 20 KB, Flag Status Unflagged, '
appModule: <'outlook' (appName u'outlook', process ID 360) at address 44c0b70>
appModule.productName: u'Microsoft Outlook'
appModule.productVersion: u'14.0.6126.5003'
TextInfo:
windowHandle: 262874
windowClassName: u'SUPERGRID'
windowControlID: 4704
windowStyle: 1409286144
windowThreadID: 5800
windowText: u'Table View'
displayText: exception: 'NoneType' object is not iterable
IAccessibleObject:
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=262874, objectID=-4, childID=0
IAccessible accName: u'Meeting Request Read'
IAccessible accRole: u'Table View'
IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048580)
IAccessible accDescription: None
IAccessible accValue: u'From \xd6zg\xfcn Esin Dal, Subject Haftal\u0131k Sat\u0131\u015f Toplant\u0131s\u0131, Received Pzt 13:26, Size 20 KB, Flag Status Unflagged, '

@nvaccessAuto

Comment 4 by nvdakor on 2014-05-06 07:35
Hi,
Try the next snapshot which comes out in two hours.

@nvaccessAuto

Comment 5 by surveyor on 2014-05-06 08:21
Apologies for the wrong notification. After updating to NVDA version next-10581,ec8b81d it works as expected.

@nvaccessAuto

Comment 6 by surveyor on 2014-05-06 09:34
Previously NVDA was reporting if the focused item is a meeting request. After updating it does not report.

@nvaccessAuto

Comment 7 by leonarddr on 2014-05-06 10:54
It seems table navigation is not stable yet:

Input: kb(laptop):control+alt+leftArrow
ERROR - scriptHandler.executeScript (12:54:13):
error executing script: <unbound method UIAGridRow.script_moveToPreviousColumn> with gesture u'ctrl+alt+left arrow'
Traceback (most recent call last):
File "scriptHandler.pyc", line 174, in executeScript
TypeError: unbound method script_moveToPreviousColumn() must be called with UIAGridRow instance as first argument (got KeyboardInputGesture instance instead)
IO - inputCore.InputManager.executeGesture (12:54:14):
Input: kb(laptop):control+alt+upArrow
ERROR - scriptHandler.executeScript (12:54:14):
error executing script: <unbound method UIAGridRow.script_moveToPreviousRow> with gesture u'ctrl+alt+up arrow'
Traceback (most recent call last):
File "scriptHandler.pyc", line 174, in executeScript
TypeError: unbound method script_moveToPreviousRow() must be called with UIAGridRow instance as first argument (got KeyboardInputGesture instance instead)

@nvaccessAuto

Comment 8 by travisroth (in reply to comment 6) on 2014-05-06 16:12
Replying to surveyor:

Previously NVDA was reporting if the focused item is a meeting request. After updating it does not report.

I am getting a meeting notice. However, NVDA is having an error with eventHandler.
Config: Outlook 2010, in the Inbox, with a meeting cancellation notice as the last item in the message list.
When navigate to the message with arrows, NVDA beeps the error sound, table navigation does not work, and the log shows the following:
ERROR - eventHandler.executeEvent (10:49:22):
error executing event: gainFocus on with extra args of {}
Traceback (most recent call last):
File "eventHandler.py", line 143, in executeEvent
EventExecuter(eventName,obj,kwargs)
File "eventHandler.py", line 91, in __init_

self.next()
File "eventHandler.py", line 98, in next
return func(args, *self.kwargs)
File "NVDAObjects__init__.py", line 845, in event_gainFocus
self.reportFocus()
File "appModules\outlook.py", line 337, in reportFocus
t=self.generateTimeRangeText(p.start,p.end)
File "comtypesMonkeyPatches.py", line 34, in new__getattr_

return getattr(comtypes.client.dynamic.Dispatch(self.comobj),name)
File "C:\Code\nvda\miscDeps\python\comtypes\client\dynamic.py", line 93, in __getattr

dispid = self._comobj.GetIDsOfNames(name)[0]
File "C:\Code\nvda\miscDeps\python\comtypes\automation.py", line 643, in GetIDsOfNames
self.__com_GetIDsOfNames(riid_null, arr, len(names), lcid, ids)
COMError: (-2147352570, 'Unknown name.', (None, None, None, 0, None))

@nvaccessAuto

Comment 9 by mdcurran (in reply to comment 6) on 2014-05-07 01:22
Replying to surveyor:

Previously NVDA was reporting if the focused item is a meeting request. After updating it does not report.

Now added in 482f110

@nvaccessAuto

Comment 10 by mdcurran (in reply to comment 7) on 2014-05-07 01:26
Replying to leonarddr:

It seems table navigation is not stable yet:

Should be much better in a7a195d.
Technical: UIA runtime IDs for Outlook are clearly not very unique. As these is yet another problem with our UIA runtime chaching. It has been totally removed and instead UIA events are routed to the focus if they are equal.

@nvaccessAuto

Comment 11 by mdcurran (in reply to comment 8) on 2014-05-07 02:10
Replying to travisroth:

NVDA is having an error with eventHandler.

Config: Outlook 2010, in the Inbox, with a meeting cancellation notice as the last item in the message list.

This is partly fixed in b739699. At least, the error is now gone. But focus will still shift to the calendar preview for that meeting request if you have the reading pane enabled.

@nvaccessAuto

Comment 12 by Michael Curran <mick@... on 2014-05-07 02:10
In [175cbd8]:
```CommitTicketReference repository="" revision="175cbd8833990a3f9897589300ffeffcb336775d"
Merge branch 't3834' into next. Incubates #3834

@nvaccessAuto

Comment 13 by leonarddr on 2014-05-07 11:48
I've been working wit hthe address book lately. It seems the address list should be changed to the UI Automation grid implementation as well, as it still reports headers.
Changes:
Changed title from "Outlook 2010+: column headers are always reported in message list" to "Outlook 2010+: column headers are always reported in message list and address books"

@nvaccessAuto

Comment 14 by nvdakor on 2014-05-07 12:18
Hi,
I think we should create a separate ticket, as we need a lot of testing for improved UIA implementation in Outlook Contacts (address book). My thought is that others would want Notes and Tasks to be refactored to use UIA (if possible, which means minimum supported version would be 2007/2010).

@nvaccessAuto

Comment 15 by nvdakor on 2014-06-08 06:45
Hi,
A tester reports:
In Outlook 2013, when you arrow through messages in Inbox, NVDA does not announce read/unread/reply flags.
My follow-up: read/unread/reply flags are announced in 2010's Inbox. So sounds like we need to ask COM to give us this info for Outlook 2013's UIA Grid Row routines.
Thanks.

@nvaccessAuto

Comment 16 by nvdakor on 2014-06-08 06:46
Hi,
And I'm assuming these flags are column headers as well. Thanks.

@nvaccessAuto

Comment 17 by mdcurran (in reply to comment 15) on 2014-06-09 06:37
Replying to nvdakor:
Do you know what branch they tested? If it was specifically t3834 its possible that fetching COM failed. t2943 fixed this. In fact my own testing just then showed that reading unread did not work the first time in Outlook 2013, but with next it worked straight away as expected.

@nvaccessAuto

Comment 18 by Michael Curran <mick@... on 2014-06-26 07:11
In [08e6503]:
```CommitTicketReference repository="" revision="08e65037f081aa6f2e7aca2703cbd87a91a6ce56"
Merge branch 't3834'. Fixes #3834, #4104

Changes:
Removed labels: incubating
State: closed
@nvaccessAuto

Comment 19 by mdcurran on 2014-06-26 07:13
Changes:
Milestone changed from next to 2014.3

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