dotnet / winforms

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

A11y_.Net Core_Winforms_MainForm_ConmonControl1_Keyboard : The Keyboard Focus is not clearly Visible in the Checkbox present in the "Date Time Picker Section" #9228

Closed Ashutoshsahoo164 closed 11 months ago

Ashutoshsahoo164 commented 1 year ago

.NET version

.NET-SDK-8.0.100-preview.4.23260.5

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

GitHubTags:

A11yMAS;#A11yTCS;#BM_.NET Core[Winforms]-Win32-May2023;#.NET Core;#A11ySev2;#WCAG2.4.7;#DesktopApp;#Win11;#Benchmark;#keyboard;

Actual:

The Keyboard Focus is not clearly Visible in the check box present in the "Date Time Picker" Section.

Expected:

The Keyboard focus should be visible properly on the check box , when the focus lands on it.

User Impact:

Low Vision user using keyboard to navigate will face difficulty in knowing the keyboard focus.

Steps to reproduce

  1. Install and Open Winforms App
  2. Main Form screen would appear.
  3. Tab till "Common_Controls1:Testing the controls under the Common_controls" and Hit enter.
  4. Navigate to Date Time picker section.
  5. Observe with keyboard that the keyboard focus is not clearly visible on the check box.

Attachment:

Check box focus

Ashley-Li commented 1 year ago

This issue has the same behavior in .NET 6.0 & 7.0 & 8.0 and .Net Framework 4.8.

Ashutoshsahoo164 commented 1 year ago

@Ashley-Li Are you working on this bug to fix it?

dmitrii-drobotov commented 1 year ago

It looks like this is related to native DateTimePicker control from Windows, and there is no way to change selected color from WinForms. I checked native DTP in an MFC app and it has the same issue: datetimepicker-mfc

CC @merriemcgaw @Tanya-Solyanik

Tanya-Solyanik commented 1 year ago

@LeafShi1 , @SimonZhao888 , @Epica3055 - please take a look at this bug and investigation done by @dmitrii-drobotov , this is a good representative of external issues.

merriemcgaw commented 1 year ago

Yep, this is external to Windows and I will get it covered under the Common Controls exception.

Ashutoshsahoo164 commented 1 year ago

Hi @merriemcgaw it under the exception right? is there any exception link i can refer?

merriemcgaw commented 1 year ago

I will work with the office hours to get a parent exception approved. Right now we're doing one-offs for every instance where Windows doesn't let us do something. I'd prefer not to have to file a new exception every time. When it's ready I'll provide a link.

12-shweta commented 1 year ago

@merriemcgaw thanks for above information. could you please help us with link through which we can track this issue.

merriemcgaw commented 1 year ago

The exception has already been filed.

WinForms is a thin wrapper around Win32 APIs. In this case it's the CommonControls (DateTimePicker). We have multiple exceptions for this code, and any time we file a bug on Windows it's automatically rejected as legacy UI. I want to get a blanked exception for all CommonControls in the cases where WinForms has no way to impact the situation. Same thing with CommonDialog APIs.

merriemcgaw commented 1 year ago

The exception is filed here (internal URL)

This particular issue we can't change, and it's not a very common scenario for our users.

merriemcgaw commented 1 year ago

Waiting on approval of C&AI Exception process

PoojaNamde commented 1 year ago

A11ypreview; #A11yExceptionRequested; #Regressed:09-13-23;

Added A11ypreview tag, A11yExceptionRequested as exception is requested and not yet approved.

merriemcgaw commented 11 months ago

@PoojaNamde the exception is now approved. I am closing this issue, please add the appropriate tags to the issue for your tracking.

kupatkar99 commented 11 months ago

As per the above comment exception is approved hence adding closed tag. #Closed;