dotnet / winforms

Windows Forms is a .NET UI framework for building Windows desktop applications.
MIT License
4.38k stars 971 forks source link

Controls present in the "Custom accessible properties form" page are not accessible using keyboard: A11y_.NET CoreWinforms_Custom accessible properties form_Keyboard #11444

Closed PoojaNamde closed 3 months ago

PoojaNamde commented 4 months ago

.NET version

dotnet-sdk-9.0.100-preview.5.24258.1

Did it work in .NET Framework?

Yes

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

No response

Issue description

GitHub Tags:

A11yMAS; #A11yTCS; #A11ySev1; #BM_.NET Core[Winforms]_Win32_May2024; #.NETCore; #WCAG2.1.1; #DesktopApp; #Win11; #FTP; #Keyboard;

Environment Details:

App name: .NET Core Winforms Window Version: Win 11 OS Build: 22621.3085

Repro Steps:

  1. Launch the "Accessibility core app".
  2. Main Form screen would appear.
  3. TAB to "Accessible properties: Testings controls with custom accessible name, role and description" and hit ENTER key.
  4. "Custom accessible properties form" screen would appear.
  5. Navigate using TAB key and observe the issue.

Actual Result:

Controls present in the "Custom accessible properties form" page are not accessible using keyboard keys. Only 4 controls are accessible which are button 1, checkbox 1, dropdown and calendar control other than these control no control is accessible.

Expected Result:

All controls present in the "Custom accessible properties form" page should be accessible using keyboard keys.

User Impact:

Keyboard users will not be able to interact with the control and will not understand what functionality is provided for that controls and will not get information about it.

Attachment

https://github.com/dotnet/winforms/assets/90901519/dbc407bf-856f-42ad-9639-4b6f1599c168

MandiMan commented 4 months ago

We can reset the Tab Order to ensure top-to-bottom navigation using the Tab key. However, some controls can't be navigated directly with the Tab key and require special properties to be set, such as HScrollBar, VScrollBar which requires the TabStop property to be set to True, ListView, treeView which requires columns or Node to be added. FlowLayoutPanel, tableLayoutPanel need to add other controls (e.g. Button) inside.

https://github.com/dotnet/winforms/assets/108860782/d719c14b-416d-4e91-b209-36eb67f0232e

merriemcgaw commented 4 months ago

@MandiMan do you think we can/should also break this into two forms so it's easier to access. Depending on what we're trying to demonstrate here, perhaps we should go ahead and fill it with sample data so they can see it's accessible.

@Tanya-Solyanik do you recall what we were trying to demonstrate here?

MandiMan commented 4 months ago

@MandiMan do you think we can/should also break this into two forms so it's easier to access. Depending on what we're trying to demonstrate here, perhaps we should go ahead and fill it with sample data so they can see it's accessible.

@Tanya-Solyanik do you recall what we were trying to demonstrate here?

I think it would be possible to break the default directly accessible controls and the non-directly accessible controls into two forms if necessary. It might look more intuitive that way.

Yash14j commented 4 months ago

Github Tags:#Rev:yaja;

Tanya-Solyanik commented 4 months ago

@merriemcgaw, @MandiMan - This form is for testing individual controls to make sure we can set custom Name/Role/Description accessible properties. We already have these controls containing sample data in other forms. I would simply exclude this page from the test pass.

merriemcgaw commented 4 months ago

@PoojaNamde we want to exclude this test page from the test pass (but keep it in our sample application for other purposes). Can you take this page out of the scenarios that we are testing?

@Olina-Zhang maybe you can add a label to this page that indicates that it is not part of the test pass?

Olina-Zhang commented 4 months ago

@merriemcgaw added some text for this Form's text property with "excluded this Form in Accessibility Test Pass" image

Olina-Zhang commented 3 months ago

@PoojaNamde Test app is uploaded, please check.

PoojaNamde commented 3 months ago

@Olina-Zhang We have logged the bug for "Custom accessible properties form" screen, the above provided screen shot is for "Data binding example screen". Could you please confirm whether which screen we have to exclude from testing. Also please find the below screen for "Custom accessible properties form" screen where we are not able to see any message for excluding from testing.

image

Olina-Zhang commented 3 months ago

@PoojaNamde did you download the latest updated app for testing?

PoojaNamde commented 3 months ago

@Olina-Zhang Yes, I have downloaded the latest app.

Olina-Zhang commented 3 months ago

@PoojaNamde Sorry, I gave your another form's updated result. Now I do the same thing for this form "Custom accessible properties form" again, please check updated app again. Thanks! image

Olina-Zhang commented 3 months ago

@PoojaNamde finally we decided to remove this "Custom accessible properties form" as discussion in GH issue: https://github.com/dotnet/winforms/issues/11458, I have updated and uploaded app. Please verify and close this bug.

PoojaNamde commented 3 months ago

Closed; #Regressed:06-13-24;

As per the above comment and text provided for sample form "excluded this Form in Accessibility Test Pass", closing this bug.