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

[Accessiblity] Narrator cannot announce items correctly when switching the items by using up/down keyboard arrow that without expand the dropdown list panel #12421

Closed
MelonWang1 opened this issue Nov 4, 2024 · 4 comments · Fixed by #12479
Assignees
Labels
💥 regression-release Regression from a public release 🚧 work in progress Work that is current in progress tenet-accessibility MAS violation, UIA issue; problems with accessibility standards

Comments

@MelonWang1
Copy link
Contributor

MelonWang1 commented Nov 4, 2024

.NET version

.NET SDK 10.0.100-alpha.1.24553.3

Did it work in .NET Framework?

No

Did it work in any of the earlier releases of .NET Core or .NET 5+?

No, this issue cannot repro in .NET 3.1, can repro in .NET 5.0.

.NET 3.1:
Image

Issue description

When switching the items by using up/down keyboard arrow that without expand the dropdown list panel, Narrator announced the FlatStyle/BoserStyle property item twice, the first time unread in its entirety.
Image

narrtor.mp4

Expected behavior:
Compare with NVDA tool, Narrator should be read the FlatStyle/BoserStyle property item only once and in its entirety.
Image

nvda.mp4

Steps to reproduce

  1. Create a .NET Core Winforms project.
  2. Add a Label and PropertyGrid controls in form designer.
  3. Set the SelectedObject property to Label1 in propertyGrid1 control.
  4. Build and run project.
  5. Open Narrator tool and select FlatStyle/BoserStyle property in propertyGrid control.
  6. Use keyboard up and down key to select property item.

More info:

  1. The issue cannot reproduce on standard combobox control.
  2. The issue also can reproduce with other properties.
  3. This issue cannot repro in NVDA tool.
@MelonWang1 MelonWang1 added untriaged The team needs to look at this issue in the next triage tenet-accessibility MAS violation, UIA issue; problems with accessibility standards 💥 regression-release Regression from a public release labels Nov 4, 2024
@LeafShi1 LeafShi1 removed the untriaged The team needs to look at this issue in the next triage label Nov 5, 2024
@Tanya-Solyanik
Copy link
Member

@LeafShi1 - we can't backport the fix for the drop down closing only on ENTER until this issue is fixed as well.

@LeafShi1
Copy link
Member

LeafShi1 commented Nov 8, 2024

The root cause is here

PInvokeCore.SendMessage(this, PInvokeCore.EM_SETSEL, (WPARAM)s, (LPARAM)e);

but for the issue Narrator announced the FlatStyle/BoserStyle property item twice, I don't think this is a real bug.
The reason for this is that the option is highlighted after it is selected.

  • The first announce means that the "Standard" item is selected
  • The second announce means that the "Standard" item in the editTextBox is highlighted

The problem is obvious from the announce of the Cursor property.
Image

If we want to solve this problem, we can only make the item selected without selecting it in the edit text box, the result is like below
Image

For issue the first time unread in its entirety, it should be fixed in PR #12431, once the edit text box gets the focus, the value can be read out completely.

@Tanya-Solyanik What do you think about this issue?

@LeafShi1 LeafShi1 self-assigned this Nov 8, 2024
@Tanya-Solyanik
Copy link
Member

@LeafShi1 - I added some comments in the PR.

@dotnet-policy-service dotnet-policy-service bot added the 🚧 work in progress Work that is current in progress label Nov 14, 2024
@Tanya-Solyanik Tanya-Solyanik changed the title [Accessiblity] Narrator cannot announced the items correctly when switching the items by using up/down keyboard arrow that without expand the dropdown list panel [Accessiblity] Narrator cannot announce items correctly when switching the items by using up/down keyboard arrow that without expand the dropdown list panel Nov 27, 2024
@Philip-Wang01
Copy link
Contributor

Verified this issue in the latest .NET 10.0 SDK build: 10.0.100-alpha.1.24611.5 + binaries built from the main branch of Winforms repo, it was fixed: When switching the items by using up/down keyboard arrow that without expand the dropdown list panel, Narrator announced the property item entirety.
Image

Tanya-Solyanik pushed a commit that referenced this issue Jan 9, 2025
…r experience in dropdown type editors in property grid (#12605)

Backport of #12508, #12431, #12356 and #12479 to release/9.0
Fixes #12607
NET10 Bugs: #12434, #12421, #12440, #12031

Bug Description
There are four issues that occur when using the up/down keys to switch property values ​​in the property page.

When navigating to "Auto Size" dropdown using the up/down arrow keys, it is getting auto selected without hitting ENTER

After using Tab to switch property values, then using the up/down keys to switch items in the drop-down box expanded by F4 will cause the drop-down box to collapse directly

[Accessibility] When using up/down to toggle property value on edit text box, The Accessibility ​​rectangle focuses on the entire property row instead of the original edit text box

[Accessibility] Narrator cannot announce items correctly when switching the items by using up/down keyboard arrow that without expand the dropdown list panel

Customer Impact
PropertyGrid drop down type editor does not support conventional keyboard navigation. Usually, selection is committed when the ENTER key is pressed. However, in this case value is committed on the Down arrow press. Then the drop down list is expanded, the screen reader user might want to navigate through all values in the drop down using the arrows, on each arrow key press the new item should be presented (and announced) in the selection text box, however, the drop down is closed on the first arrow key. According to the accessibility SMEs, this is a major problem - the keyboard users are losing their work by committing a wrong value. Screen reader user don't get correct feedback when navigating through the drop down list.
@github-actions github-actions bot locked and limited conversation to collaborators Jan 11, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
💥 regression-release Regression from a public release 🚧 work in progress Work that is current in progress tenet-accessibility MAS violation, UIA issue; problems with accessibility standards
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants