Skip to content
New issue

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

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
nvaccessAuto opened this issue Jan 31, 2014 · 19 comments
Milestone

Comments

@nvaccessAuto
Copy link

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
Copy link
Author

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
Copy link
Author

Comment 2 by Michael Curran <mick@... on 2014-05-05 10:53
In [ec8b81d]:

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
Copy link
Author

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: <appModules.outlook.SuperGridClient2010 object at 0x01D56210>
Python class mro: (<class 'appModules.outlook.SuperGridClient2010'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>)
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: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 262874
windowClassName: u'SUPERGRID'
windowControlID: 4704
windowStyle: 1409286144
windowThreadID: 5800
windowText: u'Table View'
displayText: exception: 'NoneType' object is not iterable
IAccessibleObject: <POINTER(IAccessible) ptr=0x2e3698 at 49de260>
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
Copy link
Author

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

@nvaccessAuto
Copy link
Author

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
Copy link
Author

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
Copy link
Author

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
Copy link
Author

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 <appModules.outlook.CalendarView object at 0x05FA3C10> 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
Copy link
Author

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
Copy link
Author

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
Copy link
Author

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
Copy link
Author

Comment 12 by Michael Curran <mick@... on 2014-05-07 02:10
In [175cbd8]:

Merge branch 't3834' into next. Incubates #3834

@nvaccessAuto
Copy link
Author

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
Copy link
Author

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
Copy link
Author

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
Copy link
Author

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

@nvaccessAuto
Copy link
Author

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
Copy link
Author

Comment 18 by Michael Curran <mick@... on 2014-06-26 07:11
In [08e6503]:

Merge branch 't3834'. Fixes #3834, #4104

Changes:
Removed labels: incubating
State: closed

@nvaccessAuto
Copy link
Author

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

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

No branches or pull requests

1 participant