Accessibility: Signaling Model #3436

Open
opened 2026-01-30 23:21:12 +00:00 by claunia · 0 comments
Owner

Originally created by @carlos-zamora on GitHub (Aug 15, 2019).

Originally assigned to: @carlos-zamora on GitHub.

Description of the new feature/enhancement

UIA has signal events (link). ConHost supported them. WindowUiaProvider was an integral part to that.

Windows Terminal currently doesn't support them. We have some architecture in place to do so though.

Proposed technical implementation details (optional)

WindowUiaProvider already has the groundwork for that. It might be that we don't even need a WindowUiaProvider and just have XAML do some of it.

For reference, the signaling model for conhost was as follows:

<ConHost Event (i.e.: new text)>
--> Signal WindowUiaProvider
--> Signal ScreenInfoUiaProvider
--> Raise UiaAutomationEvent to Client

The client then responds to these events with more actions (i.e.: recreate object, etc...)

EDIT: The functionality for signaling includes...

  • Selection Events (selection changed) PR
  • Text Buffer Events (new output)
  • Scroll Events

I may possible need...

  • Resize events
  • Cursor Events
Originally created by @carlos-zamora on GitHub (Aug 15, 2019). Originally assigned to: @carlos-zamora on GitHub. # Description of the new feature/enhancement UIA has signal events ([link](https://docs.microsoft.com/en-us/windows/win32/winauto/uiauto-event-ids)). ConHost supported them. WindowUiaProvider was an integral part to that. Windows Terminal currently doesn't support them. We have some architecture in place to do so though. # Proposed technical implementation details (optional) WindowUiaProvider already has the groundwork for that. It might be that we don't even need a WindowUiaProvider and just have XAML do some of it. For reference, the signaling model for conhost was as follows: <ConHost Event (i.e.: new text)> --> Signal WindowUiaProvider --> Signal ScreenInfoUiaProvider --> Raise UiaAutomationEvent to Client The client then responds to these events with more actions (i.e.: recreate object, etc...) EDIT: The functionality for signaling includes... - [x] Selection Events (selection changed) [PR](https://github.com/microsoft/terminal/pull/2989) - [ ] Text Buffer Events (new output) - [ ] Scroll Events I may possible need... - [ ] Resize events - [ ] Cursor Events
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#3436