Feature Request: Clean up UIA Tree Navigation #2941

Closed
opened 2026-01-30 23:09:18 +00:00 by claunia · 0 comments
Owner

Originally created by @carlos-zamora on GitHub (Jul 25, 2019).

Originally assigned to: @carlos-zamora on GitHub.

Summary of the new feature/enhancement

As of now, the UIA Tree is essentially what we get from XAML. It's great that we actually have a tree that we can navigate now, but now we need to clean it up a bit.

ConHost tends to shift the focus to the text buffer by default. We need to decide on a story for two things:

  • how/when XAML's focus should be shifted (and to what)
  • What UIA elements should be directly accessible (parent and children) from each UIA element

The implementation of the first doesn't require any knowledge of accessibility. You just need to add tab stops and do a bit of basic XAML changes.

The implementation of the second requires overriding/defining the Navigate() accessibility functions in our current UIA providers and XAML elements.

You can technically do these separately. But when you change one, it'll make it a pain to test when navigating the UIA tree. Let's put our thoughts on how this should look like here!

Originally created by @carlos-zamora on GitHub (Jul 25, 2019). Originally assigned to: @carlos-zamora on GitHub. # Summary of the new feature/enhancement As of now, the UIA Tree is essentially what we get from XAML. It's great that we actually have a tree that we can navigate now, but now we need to clean it up a bit. ConHost tends to shift the focus to the text buffer by default. We need to decide on a story for two things: - how/when XAML's focus should be shifted (and to what) - What UIA elements should be directly accessible (parent and children) from each UIA element The implementation of the first doesn't require any knowledge of accessibility. You just need to add tab stops and do a bit of basic XAML changes. The implementation of the second requires overriding/defining the Navigate() accessibility functions in our current UIA providers and XAML elements. You can _technically_ do these separately. But when you change one, it'll make it a pain to test when navigating the UIA tree. Let's put our thoughts on how this should look like here!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#2941