[PR #4548] [MERGED] Move Terminal UIA provider into Types & hook it up to the WPF control #25825

Open
opened 2026-01-31 09:12:01 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/4548
Author: @ghost
Created: 2/12/2020
Status: Merged
Merged: 2/24/2020
Merged by: @undefined

Base: masterHead: dev/zorio/wpf-uia-tree


📝 Commits (1)

  • ac4f4a1 hook up UIA tree to WPF control

📊 Changes

23 files changed (+419 additions, -139 deletions)

View changed files

📝 src/cascadia/PublicTerminalCore/HwndTerminal.cpp (+125 -6)
📝 src/cascadia/PublicTerminalCore/HwndTerminal.hpp (+28 -1)
📝 src/cascadia/PublicTerminalCore/pch.h (+4 -0)
📝 src/cascadia/TerminalControl/TermControlAutomationPeer.cpp (+42 -4)
📝 src/cascadia/TerminalControl/TermControlAutomationPeer.h (+15 -3)
📝 src/cascadia/TerminalControl/TerminalControl.vcxproj (+0 -4)
📝 src/cascadia/TerminalControl/XamlUiaTextRange.cpp (+1 -1)
📝 src/cascadia/TerminalControl/XamlUiaTextRange.h (+1 -1)
📝 src/cascadia/WpfTerminalControl/NativeMethods.cs (+3 -0)
📝 src/cascadia/WpfTerminalControl/TerminalContainer.cs (+4 -3)
📝 src/cascadia/WpfTerminalControl/TerminalControl.xaml.cs (+1 -1)
📝 src/interactivity/win32/uiaTextRange.cpp (+3 -3)
📝 src/interactivity/win32/uiaTextRange.hpp (+3 -3)
src/types/IControlAccessibilityInfo.h (+43 -0)
📝 src/types/ScreenInfoUiaProviderBase.h (+4 -4)
📝 src/types/TermControlUiaProvider.cpp (+44 -27)
📝 src/types/TermControlUiaProvider.hpp (+12 -16)
📝 src/types/TermControlUiaTextRange.cpp (+37 -36)
📝 src/types/TermControlUiaTextRange.hpp (+7 -7)
📝 src/types/UiaTextRangeBase.hpp (+20 -19)

...and 3 more files

📄 Description

This PR hooks up the existing UIA implementation to the WPF control. Some existing code that was specific to the UWP terminal control could be shared so that has been refactored to a common location as well.

Validation Steps Performed

WPF control was brought up in UISpy and the UIA tree was verified. NVDA was then used to check that screen readers were operating properly.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/4548 **Author:** [@ghost](https://github.com/ghost) **Created:** 2/12/2020 **Status:** ✅ Merged **Merged:** 2/24/2020 **Merged by:** [@undefined](undefined) **Base:** `master` ← **Head:** `dev/zorio/wpf-uia-tree` --- ### 📝 Commits (1) - [`ac4f4a1`](https://github.com/microsoft/terminal/commit/ac4f4a11af1ab7e25db3a2ea15ad4e37dd4fb103) hook up UIA tree to WPF control ### 📊 Changes **23 files changed** (+419 additions, -139 deletions) <details> <summary>View changed files</summary> 📝 `src/cascadia/PublicTerminalCore/HwndTerminal.cpp` (+125 -6) 📝 `src/cascadia/PublicTerminalCore/HwndTerminal.hpp` (+28 -1) 📝 `src/cascadia/PublicTerminalCore/pch.h` (+4 -0) 📝 `src/cascadia/TerminalControl/TermControlAutomationPeer.cpp` (+42 -4) 📝 `src/cascadia/TerminalControl/TermControlAutomationPeer.h` (+15 -3) 📝 `src/cascadia/TerminalControl/TerminalControl.vcxproj` (+0 -4) 📝 `src/cascadia/TerminalControl/XamlUiaTextRange.cpp` (+1 -1) 📝 `src/cascadia/TerminalControl/XamlUiaTextRange.h` (+1 -1) 📝 `src/cascadia/WpfTerminalControl/NativeMethods.cs` (+3 -0) 📝 `src/cascadia/WpfTerminalControl/TerminalContainer.cs` (+4 -3) 📝 `src/cascadia/WpfTerminalControl/TerminalControl.xaml.cs` (+1 -1) 📝 `src/interactivity/win32/uiaTextRange.cpp` (+3 -3) 📝 `src/interactivity/win32/uiaTextRange.hpp` (+3 -3) ➕ `src/types/IControlAccessibilityInfo.h` (+43 -0) 📝 `src/types/ScreenInfoUiaProviderBase.h` (+4 -4) 📝 `src/types/TermControlUiaProvider.cpp` (+44 -27) 📝 `src/types/TermControlUiaProvider.hpp` (+12 -16) 📝 `src/types/TermControlUiaTextRange.cpp` (+37 -36) 📝 `src/types/TermControlUiaTextRange.hpp` (+7 -7) 📝 `src/types/UiaTextRangeBase.hpp` (+20 -19) _...and 3 more files_ </details> ### 📄 Description This PR hooks up the existing UIA implementation to the WPF control. Some existing code that was specific to the UWP terminal control could be shared so that has been refactored to a common location as well. ## Validation Steps Performed WPF control was brought up in UISpy and the UIA tree was verified. NVDA was then used to check that screen readers were operating properly. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:12:01 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#25825