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
Announcement of suggested contacts in outlook 2010 #2816
Comments
Attachment bug 2816 - outlook contacts auto complete spoken.patch added by manish on 2013-06-06 09:56 |
Comment 2 by manish on 2013-06-06 10:00
This has the following 3 problems still:
I haven't found a workaround for these so far. |
Comment 3 by jteh on 2013-06-07 00:21 I'm reluctant to add classes which might not be application specific (the name NetUIHWND doesn't suggest it's specific to Outlook) to badUIAWindowClassNames unless there really is no other way. Are you certain the UIA control is broken; i.e. doesn't fire events or report the right information? If it isn't broken, the overlay class can be changed to be generic so it works for both IAccessible and UIA, thus avoiding the need for it to be blacklisted. Just a minor code review point: when testing whether something has one of a set of values, you should do: |
Comment 4 by manish (in reply to comment 3) on 2013-06-08 13:11 Is there an example of how to make the same overlay class work for both IAccessible and UIA that I can follow here? For your code review comment, I will start using it going forward. Being a c# programmer primarily, I wasn't familiar with the "in" construct.
|
Comment 5 by kyogesh on 2013-06-12 14:06 Here is the log for it: INFO - NVDAObjects.UIA.new (19:28:04): INFO - NVDAObjects.UIA.UIA._get_TextInfo (19:28:04): INFO - NVDAObjects.UIA.UIA._get_UIATextPattern (19:28:04): INFO - NVDAObjects.UIA.UIA._getUIAPattern (19:28:04): INFO - NVDAObjects.UIA.UIA._get_role (19:28:04): INFO - NVDAObjects.UIA.UIA.findOverlayClasses (19:28:04): INFO - NVDAObjects.UIA.UIA._get_states (19:28:04): INFO - NVDAObjects.UIA.UIA._get_firstChild (19:28:04): INFO - NVDAObjects.UIA.new (19:28:04): INFO - NVDAObjects.UIA.UIA._get_TextInfo (19:28:04): INFO - NVDAObjects.UIA.UIA._get_UIATextPattern (19:28:04): INFO - NVDAObjects.UIA.UIA._getUIAPattern (19:28:04): INFO - NVDAObjects.UIA.UIA.findOverlayClasses (19:28:04): INFO - NVDAObjects.UIA.UIA._get_role (19:28:04): INFO - NVDAObjects.UIA.UIA._get_states (19:28:04): INFO - NVDAObjects.UIA.UIA.correctAPIForRelation (19:28:04): INFO - speech.speakTypedCharacters (19:28:07): |
Comment 6 by manish (in reply to comment 3) on 2013-06-13 13:43 So, I guess, I need a class that implements both UIA and IAccessible. I wasn't able to figure out how to do that. Will appreciate any pointers on how to create a class that can handle both UIA and IAccessible events. Also, is there a way to find out which all UIA events are being fired when I am moving using the arrow keys - I am trying to see if there is another event instead of stateChange that gets raised in UIA.
|
Comment 7 by jteh (in reply to comment 6) on 2013-06-20 02:36
If you had to add that class to badUIAWindowClassNames, that suggests they are native UIA.
You just inherit from NVDAObjects.window.Window instead of NVDAObjects.IAccessible.IAccessible and make sure your chooseNVDAObjectOverlayClasses isn't checking for anything IAccessible specific. Of course, your overlay class can't do anything IAccessible specific either.
No problem. Replying to manish:
You can't really do that. Because Windows/the app often proxies between the two and fires both sets of events, NVDA has to ignore one or the other. You could set up your own low level event handlers, but that's fairly tricky.
I'd probably use Microsoft's Accessible Event Watcher tool. That removes NVDA from the equation. |
Comment 8 by manish (in reply to comment 7) on 2013-06-20 12:04
For now, I suggest we use the IAccessible events for this because that is significantly better than the current state where the items are not read at all.
Thanks for your help. -Manish
|
Comment 9 by jteh on 2013-06-26 03:00 |
Comment 10 by jteh (in reply to comment 8) on 2013-06-28 00:20
That sounds ideal, though it's problematic to implement.
NVDA doesn't provide a way to do this because it would result in duplicate events in most cases, and even where it doesn't, it'd fire events on two different types of objects (one UIA, one IAccessible). The only way to do this is to create your own low level win event hook.
Do you mean the window handle or the window control ID? If you mean the window handle, it will change for each application session (if not for each new message), so this can't be used. Control ID can't be used for this yet either, though there's at least a chance if that remains constant.
No. This isn't possible; this choice needs to happen when handling the events from the low level API, which has to happen before an NVDAObject is even created. I'll keep thinking on possible solutions. |
Comment 11 by jteh on 2013-06-28 03:11 |
Comment 12 by manish (in reply to comment 11) on 2013-06-28 11:17 I'll think more to see if I can come up with some alternative.
|
Comment 13 by Michael Curran <mick@... on 2013-07-12 04:44
|
Comment 14 by Michael Curran <mick@... on 2013-07-12 04:49
Changes:
|
Comment 15 by mdcurran on 2013-07-12 04:55 |
Comment 16 by mdcurran on 2013-07-12 04:57 |
Comment 18 by Michael Curran <mick@... on 2013-07-25 03:24
Changes:
|
Comment 19 by mdcurran on 2013-07-25 03:26 |
Reported by anubhav on 2012-11-21 06:54
When typing any e-mail address in “To” or “Cc” feed of Microsoft 2010, NVDA should announce the list of name/e-mail address suggested by Outlook.
Blocked by #3354
Blocking #3134
The text was updated successfully, but these errors were encountered: