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

[Terminal> Rename Window]: Keyboard users are not able to access 'Window 1' pop-up when they open it using defined shortcut key. #12021

Closed
ghost opened this issue Dec 23, 2021 · 5 comments
Labels
A11yCO Accessibility tracking A11ySev1 Accessibility tracking A11yWCAG Accessibility tracking Area-Accessibility Issues related to accessibility HCL-E+D Accessibility tracking HCL-WindowsTerminal Accessibility tracking Issue-Bug It either shouldn't be doing this or needs an investigation. Priority-1 A description (P1) Product-Terminal The new Windows Terminal. Resolution-Fix-Available It's available in an Insiders build or a release Tracking-External This bug isn't resolved, but it's following an external workitem. WindowsTerminal_Win32 zAskModeBug
Milestone

Comments

@ghost
Copy link

ghost commented Dec 23, 2021

Windows Terminal version

1.12.3472.0

Windows build number

10.0.22504.1010

Other Software

Test Environment:
OS: Windows 11 Version Dev (OS Build 22504.1010)
App: Windows Terminal Preview
Screen Reader: Narrator
Tool: Accessibility Insights for Windows Version 1.1.1741.1

Steps to reproduce

Repro Steps:

  1. Open Windows Terminal.
  2. Open Settings page using 'Ctr+,'.
  3. Navigate to Settings> Action> Add new button.
  4. Add shortcut 'Ctrl + Shift +r' for 'Rename Window' actions.
  5. Save Changes using 'Save' button.
  6. Then press 'Ctrl + Shift + r' to open 'Window 1' pop-up.
  7. Try to access 'Window 1' pop-up using keyboard.

User Experience:
As pop-up control are not accessible with Keyboard as a result, they will not able rename Window name.

Guideline Reference:
https://www.w3.org/WAI/WCAG21/Understanding/focus-order

Attachments:
Keyboard user is not able to access Window 1 Pop-up. (2).zip

Expected Behavior

Keyboard users should directly jump to 'Window 1' edit field when user open 'Window 1' pop-up using defined shortcut key.

Actual Behavior

Keyboard users are not able to access 'Window 1' pop-up when they open it using defined shortcut key.

Note Issue: Screen Reader users are not able to access 'Window 1' pop-up when they open it using defined shortcut key. Screen Reader is announcing 'Press F6 key to access...' but nothing happened on pressing F6.

@ghost ghost added Issue-Bug It either shouldn't be doing this or needs an investigation. Area-Accessibility Issues related to accessibility HCL-E+D Accessibility tracking A11yWCAG Accessibility tracking HCL-WindowsTerminal Accessibility tracking A11yCO Accessibility tracking A11ySev1 Accessibility tracking Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Tag-Fix Doesn't match tag requirements labels Dec 23, 2021
@zadjii-msft zadjii-msft added the Product-Terminal The new Windows Terminal. label Dec 27, 2021
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label Dec 27, 2021
@zadjii-msft
Copy link
Member

We're already tracking this in #11322, which is blocked on the upstream microsoft/microsoft-ui-xaml#1607 - there's no way for us to reliably focus a TeachingTip when it's opened.

@zadjii-msft zadjii-msft added the Priority-1 A description (P1) label Jan 3, 2022
@zadjii-msft zadjii-msft added this to the Terminal v1.13 milestone Jan 3, 2022
@DHowett DHowett removed the Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting label Jan 26, 2022
@carlos-zamora carlos-zamora added the Tracking-External This bug isn't resolved, but it's following an external workitem. label Jan 27, 2022
@carlos-zamora
Copy link
Member

carlos-zamora commented Jan 27, 2022

@v-rpundir Just want to confirm. Since this is blocked by microsoft/microsoft-ui-xaml#1607, you're marking this as a "tracking external" bug, correct?

@ghost
Copy link
Author

ghost commented Jan 28, 2022

Yes @carlos-zamora, we are tracking this external for now.

@zadjii-msft zadjii-msft modified the milestones: Terminal v1.14, 22H2 Jan 28, 2022
ghost pushed a commit that referenced this issue Mar 31, 2022
Does what it says on the tin. This is maximal BODGE. 

`TeachingTip` doesn't provide an `Opened` event.
(microsoft/microsoft-ui-xaml#1607). But we
want to focus the renamer text box when it's opened. We can't do that
immediately, the TextBox technically isn't in the visual tree yet. We
have to wait for it to get added some time after we call IsOpen. How do
we do that reliably? Usually, for this kind of thing, we'd just use a
one-off LayoutUpdated event, as a notification that the TextBox was
added to the tree. HOWEVER:
* The _first_ time this is fired, when the box is _first_ opened,
  yeeting focus doesn't work on the first LayoutUpdated. It does work on
  the second LayoutUpdated. Okay, so we'll wait for two LayoutUpdated
  events, and focus on the second.
* On subsequent opens: We only ever get a single LayoutUpdated. Period.
  But, you can successfully focus it on that LayoutUpdated.

So, we'll keep track of how many LayoutUpdated's we've _ever_ gotten. If
we've had at least 2, then we can focus the text box.

We're also not using a ContentDialog for this, because in Xaml Islands a
text box in a ContentDialog won't receive _any_ keypresses. Fun!


## References
* microsoft/microsoft-ui-xaml#1607
* microsoft/microsoft-ui-xaml#6910
* microsoft/microsoft-ui-xaml#3257
* #9662

## PR Checklist
* [x] Will close out #12021, but that's an a11y bug that needs secondary
  validation
* [x] Closes #11322
* [x] I work here
* [x] Tests added/passed
* [n/a] Requires documentation to be updated

## Validation Steps Performed

Tested manually
DHowett pushed a commit that referenced this issue Mar 31, 2022
Does what it says on the tin. This is maximal BODGE.

`TeachingTip` doesn't provide an `Opened` event.
(microsoft/microsoft-ui-xaml#1607). But we
want to focus the renamer text box when it's opened. We can't do that
immediately, the TextBox technically isn't in the visual tree yet. We
have to wait for it to get added some time after we call IsOpen. How do
we do that reliably? Usually, for this kind of thing, we'd just use a
one-off LayoutUpdated event, as a notification that the TextBox was
added to the tree. HOWEVER:
* The _first_ time this is fired, when the box is _first_ opened,
  yeeting focus doesn't work on the first LayoutUpdated. It does work on
  the second LayoutUpdated. Okay, so we'll wait for two LayoutUpdated
  events, and focus on the second.
* On subsequent opens: We only ever get a single LayoutUpdated. Period.
  But, you can successfully focus it on that LayoutUpdated.

So, we'll keep track of how many LayoutUpdated's we've _ever_ gotten. If
we've had at least 2, then we can focus the text box.

We're also not using a ContentDialog for this, because in Xaml Islands a
text box in a ContentDialog won't receive _any_ keypresses. Fun!

## References
* microsoft/microsoft-ui-xaml#1607
* microsoft/microsoft-ui-xaml#6910
* microsoft/microsoft-ui-xaml#3257
* #9662

## PR Checklist
* [x] Will close out #12021, but that's an a11y bug that needs secondary
  validation
* [x] Closes #11322
* [x] I work here
* [x] Tests added/passed
* [n/a] Requires documentation to be updated

## Validation Steps Performed

Tested manually

(cherry picked from commit b57fe85)
Service-Card-Id: 79978834
Service-Version: 1.13
DHowett pushed a commit that referenced this issue Mar 31, 2022
Does what it says on the tin. This is maximal BODGE.

`TeachingTip` doesn't provide an `Opened` event.
(microsoft/microsoft-ui-xaml#1607). But we
want to focus the renamer text box when it's opened. We can't do that
immediately, the TextBox technically isn't in the visual tree yet. We
have to wait for it to get added some time after we call IsOpen. How do
we do that reliably? Usually, for this kind of thing, we'd just use a
one-off LayoutUpdated event, as a notification that the TextBox was
added to the tree. HOWEVER:
* The _first_ time this is fired, when the box is _first_ opened,
  yeeting focus doesn't work on the first LayoutUpdated. It does work on
  the second LayoutUpdated. Okay, so we'll wait for two LayoutUpdated
  events, and focus on the second.
* On subsequent opens: We only ever get a single LayoutUpdated. Period.
  But, you can successfully focus it on that LayoutUpdated.

So, we'll keep track of how many LayoutUpdated's we've _ever_ gotten. If
we've had at least 2, then we can focus the text box.

We're also not using a ContentDialog for this, because in Xaml Islands a
text box in a ContentDialog won't receive _any_ keypresses. Fun!

## References
* microsoft/microsoft-ui-xaml#1607
* microsoft/microsoft-ui-xaml#6910
* microsoft/microsoft-ui-xaml#3257
* #9662

## PR Checklist
* [x] Will close out #12021, but that's an a11y bug that needs secondary
  validation
* [x] Closes #11322
* [x] I work here
* [x] Tests added/passed
* [n/a] Requires documentation to be updated

## Validation Steps Performed

Tested manually

(cherry picked from commit b57fe85)
Service-Card-Id: 79978833
Service-Version: 1.12
@carlos-zamora carlos-zamora added the Resolution-Fix-Committed Fix is checked in, but it might be 3-4 weeks until a release. label Apr 4, 2022
@carlos-zamora
Copy link
Member

@v-rpundir This should now be fixed in https://github.com/microsoft/terminal/releases/tag/v1.13.10983.0

Can you confirm and close the bug please?

@carlos-zamora carlos-zamora added Resolution-Fix-Available It's available in an Insiders build or a release and removed Resolution-Fix-Committed Fix is checked in, but it might be 3-4 weeks until a release. labels Apr 19, 2022
@ghost
Copy link
Author

ghost commented Apr 20, 2022

Closing as fixed now on Windows Terminal Preview Version: 1.13.10984.0

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A11yCO Accessibility tracking A11ySev1 Accessibility tracking A11yWCAG Accessibility tracking Area-Accessibility Issues related to accessibility HCL-E+D Accessibility tracking HCL-WindowsTerminal Accessibility tracking Issue-Bug It either shouldn't be doing this or needs an investigation. Priority-1 A description (P1) Product-Terminal The new Windows Terminal. Resolution-Fix-Available It's available in an Insiders build or a release Tracking-External This bug isn't resolved, but it's following an external workitem. WindowsTerminal_Win32 zAskModeBug
Projects
Development

No branches or pull requests

4 participants