Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Windows Forms is continuing to improve how it works with accessibility technologies to better support Windows Forms customers. These improvements include the following changes:
- Changes in various areas of interaction with accessibility client applications, including Narrator.
- Changes in the Accessible hierarchy (improving navigation through the UI Automation tree).
- Changes in keyboard navigation.
Important
Accessibility changes made in .NET Framework 4.7.1 through .NET Framework 4.8 are included in .NET, and are enabled by default. The .NET Framework supported compatibility switches that allowed applications to opt out of the new accessibility behavior. On the other hand, .NET doesn't support these settings and doesn't allow applications to opt out of accessibility behavior.
.NET Windows Forms applications benefit from all the new accessibility features (introduced in .NET Framework 4.7.1 - 4.8) without additional configuration.
ListBox Accessibility support
The following changes apply to the ListBox control:
- Enabled UI Automation support for
ListBoxcontrol. - Improved
ListBoxaccessibility support by adding the ScrollItemPattern toListBoxitems and by enhancing the accessibility event raising and handling and Narrator navigation through the items (caps lock navigation isn't correct and doesn't throw the navigation outside the control unintentionally).
CheckedListBox Accessibility support
The following changes apply to the CheckedListBox control:
- Corrected
CheckedListBoxBounds provided by accessibility properties for entries. - Improved overall
ListBoxandCheckedListBoxaccessibility: corrected property values and event model.
ComboBox Accessibility support
The following changes apply to the ComboBox control:
- Updated the process of getting
ComboBoxitems' accessibility objects to enable generating IDs for items instead of getting hash codes from items, which may be unsafe in case the GetHashCode function is overridden.
DataGridView Accessibility support
The following changes apply to the DataGridView control:
- Corrected
DataGridView.Boundsprovided by accessibility properties for columns, rows, cells and corresponding headers, improved performance of bounding rectangle calculation. All accessibility bounds are represented correctly taking into account the bounds of entire control, along with its viewport. - Corrected
Value.IsReadOnlyproperty value providing for accessible client applications. The property now shows correctIsReadOnlystatus for cells. - Fixed the issue with CellParsing event raising for the first cell change. Cell value can be changed without any issues including the first
DataGridViewcontrol interaction. - Improved
DataGridViewbackground color contrast when using Windows High Contrast themes. ChangedDataGridViewdefault back color when using HC#1, HC#2, and HC Black themes.
PropertyGrid Accessibility support
The following changes apply to the PropertyGrid control:
- Corrected
PropertyGrid.Boundsprovided by accessibility properties for grid entries, improved performance of bounding rectangle calculation. For now all accessibility bounds are represented correctly taking into account the bounds of entire control, along with its viewport. - Corrected accessible names and descriptions of subcontrols to not include control type names and to avoid double announcement for control type names.
ToolStrip Accessibility support
The following changes apply to the ToolStrip control:
- Improved navigation through
ToolStrip,MenuStrip, andStatusStripitems. CorrectedToolStripandMenuStripshift-tab navigation, back-looping the menu items when shift-tab up-arrow is pressed, which navigates to the bottom menu element. - Improved
MenuStripaccessible navigation, corrected menu accessible control types for submenus to make submenus of type 'Menu' instead of 'MenuItem'.
PrintPreviewControl and PrintPreviewDialog Accessibility support
The following changes apply to the print controls:
- Improved accessible navigation (including Narrator navigation) through menu items.
- Improved High Contrast themes support and made the control element more contrasted.
StringCollectionEditor Accessibility support
Windows Forms designer now uses the string collection editor with improved accessibility support.
MonthCalendar Accessibility support
The following changes apply to the MonthCalendar control:
- Added UI Automation server providers to
MonthCalendarcontrol, added UI Automation Grid pattern and Table pattern providers. - Changed table accessible control type to calendar accessible control type for
MonthCalendarexcept the case when the control has a preceding label control that definesMonthCalendarcontrol accessible name, in this specific case accessible control type becomes table. - Improved announcement of selected date for
MonthCalendarcontrol. - Improved
MonthCalendarcontrol support for screen readers and other accessibility tools. At this moment, users can navigate the control elements and interact with these elements using keyboard-only input. With Narrator, use CAPS + arrow keys to navigation through the control elements and CAPS + Enter to invoke element default action. - Improved arrow key navigation across
MonthCalendarchild elements with a focusing rectangle: blue focus rectangle for Narrator. - Improved accessibility for hit test action for
MonthCalendarcontrol elements to allow gettingMonthCalendarchild accessible element by provided coordinates.
ToolTips accessibility
- Added ability to announce a tooltip text by screen reader applications such as NVDA and Narrator. Screen reader application can now announce the text of keyboard or mouse tooltip of any Windows Forms control that configured to show tooltips.
UI automation support for DataGridView, PropertyGrid, ListBox, ComboBox, ToolStrip, and other controls
UI Automation support is enabled for controls at runtime but isn't used during design time. For an overview of UI automation, see the UI Automation Overview.
See also
.NET Desktop feedback