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

Feature Request: Clean up UIA Tree Navigation #2102

Closed
carlos-zamora opened this issue Jul 25, 2019 · 0 comments · Fixed by #4805
Closed

Feature Request: Clean up UIA Tree Navigation #2102

carlos-zamora opened this issue Jul 25, 2019 · 0 comments · Fixed by #4805
Assignees
Labels
Area-Accessibility Issues related to accessibility Issue-Task It's a feature request, but it doesn't really need a major design. Priority-0 Bugs that we consider release-blocking/recall-class (P0) Product-Terminal The new Windows Terminal. Resolution-Fix-Committed Fix is checked in, but it might be 3-4 weeks until a release.
Milestone

Comments

@carlos-zamora
Copy link
Member

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!

@carlos-zamora carlos-zamora added Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. Area-Accessibility Issues related to accessibility Product-Terminal The new Windows Terminal. labels Jul 25, 2019
@ghost ghost added the Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting label Jul 25, 2019
@carlos-zamora carlos-zamora removed the Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting label Jul 25, 2019
@carlos-zamora carlos-zamora added this to the August Releases milestone Jul 31, 2019
@carlos-zamora carlos-zamora self-assigned this Jul 31, 2019
@cinnamon-msft cinnamon-msft added Issue-Task It's a feature request, but it doesn't really need a major design. Priority-0 Bugs that we consider release-blocking/recall-class (P0) and removed Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. labels Jan 23, 2020
@ghost ghost added the In-PR This issue has a related PR label Mar 4, 2020
@ghost ghost closed this as completed in #4805 Mar 5, 2020
ghost pushed a commit that referenced this issue Mar 5, 2020
AutomationProperties of interest in this PR include...
- Name: the name of a UI element (generally used as the main identifier
  for it)
- HelpText: an additional description for a more complex UI element
- AccessibilityView[1]
  - Raw: hide from the UIA tree. Only navigate to this if you know what
    you're doing
  - Control: a control without any content in it. Basically, a point at
    which the user can make a decision as to how to navigate the tree or
    invoke an action.
  - Content: a control that also has content to present to the user.

I set a few more AutomationProperties throughout Windows Terminal...
- MinMaxClose Control: hidden (we can/should rely on the true buttons
  that we are hiding)
- SplitButton: Name and Help text (currently ignored due to #4804, but
  having it in the resource file won't cause any problems)
- SearchBox: added a more specific name to the close button
- BackgroundImage: hide it

## References
A few additional work items have been created for tracking...
- SplitButton: #4804

## PR Checklist
* [X] Closes #2099 
* [X] Closes #2102 

## Validation Steps Performed
Verified using Accessibility Insights and Inspect.exe

[1] https://docs.microsoft.com/en-us/windows/win32/winauto/uiauto-treeoverview
@ghost ghost added Resolution-Fix-Committed Fix is checked in, but it might be 3-4 weeks until a release. and removed In-PR This issue has a related PR labels Mar 5, 2020
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Accessibility Issues related to accessibility Issue-Task It's a feature request, but it doesn't really need a major design. Priority-0 Bugs that we consider release-blocking/recall-class (P0) Product-Terminal The new Windows Terminal. Resolution-Fix-Committed Fix is checked in, but it might be 3-4 weeks until a release.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants