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

UIA: handle structure change events #6240

Closed
josephsl opened this issue Aug 5, 2016 · 5 comments
Closed

UIA: handle structure change events #6240

josephsl opened this issue Aug 5, 2016 · 5 comments

Comments

@josephsl
Copy link
Collaborator

josephsl commented Aug 5, 2016

Hi,

Structure change events are used to let clients know if something was added or removed in a container (as far as I can tell). At the moment NVDA's UIA handler does not recognize this event. However, there are scenarios that uses this event, with one of them being Skype Preview UWP (Universal Windows Platform) app where structure change event is fired whenever a new message is received (Skype Preview app support is another ticket of its own). Thus I'd like to propose adding support for at least structure change/add event in NVDA. Thanks.

@derekriemer
Copy link
Collaborator

Could this be request only since watching these too boldly might result
in floods?

On 8/5/2016 2:25 AM, Joseph Lee wrote:

Hi,

Structure change events are used to let clients know if something was
added or removed in a container (as far as I can tell). At the moment
NVDA's UIA handler does not recognize this event. However, there are
scenarios that uses this event, with one of them being Skype Preview
UWP (Universal Windows Platform) app where structure change event is
fired whenever a new message is received (Skype Preview app support is
another ticket of its own). Thus I'd like to propose adding support
for at least structure change/add event in NVDA. Thanks.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#6240, or mute the thread
https://github.com/notifications/unsubscribe-auth/AFGivfCiQh6YRgpbX6k1SaLJIO_H7SSSks5qcvOCgaJpZM4JddmT.


Derek Riemer
  • Department of computer science, third year undergraduate student.
  • Proud user of the NVDA screen reader.
  • Open source enthusiast.
  • Member of Bridge Cu
  • Avid skiier.

Websites:
Honors portfolio http://derekriemer.com
Awesome little hand built weather app!
http://django.derekriemer.com/weather/

email me at [email protected] mailto:[email protected]
Phone: (303) 906-2194

@jcsteh
Copy link
Contributor

jcsteh commented Aug 8, 2016

I tend to agree that this would need to be request only. The question is how we'd do this. It can't be done simply with eventHandler.requestEvents, since that function intentionally doesn't know about API specific stuff but UIA requires a root element to listen beneath. Perhaps we'd need to add a function in UIAHandler for this.

@josephsl
Copy link
Collaborator Author

josephsl commented Oct 9, 2016

Hi,

Recent WinTenApps add-on work on letting NVDA listen to additional events without resorting to restarting UIA handler yielded some possibilities:

  1. The nondestructive way to add additional event listeners is to add the needed event and corresponding NVDA event to event maps in UIA handler.
  2. Call UIAHandler.handler.clientObject.add* functions (there are three defined so far, representing focus changes, property changes and generic events).
  3. There is indeed a function to allow clients to listen to structure change event.

Although this ticket will focus on structure change event, I propose a more generic solution (another ticket) so app modules, global plugins, NVDA objects and so on can tell NVDA to subscribe to (and move away from) additional events. In case of structure change, what's needed is defining UIAHandler.handler.clientObject.AddStructureChangedEventHandler that must take UIA info for an element (in order to avoid a storm of these events), and tell NVDA to do something about it somewhere.

Thanks.

@josephsl
Copy link
Collaborator Author

Hi,

Coming back to this...

I'm thinking event groups might be of use. However, given that we have more UIA events now and since the most important use case is no longer important (Skype apps has gone through a complete redesign in version 8), I'm favor of closing this issue.

Thanks.

@Adriani90
Copy link
Collaborator

Closing as suggested by Joseph above.

@Adriani90 Adriani90 closed this as not planned Won't fix, can't repro, duplicate, stale Oct 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants