可访问性支持
本主题介绍如何在DevExpress WPF控件中启用基于UI自动化的可访问性特性,并将可访问的DevExpress应用程序主题应用到您的应用程序中。
DevExpress WPF控件符合第508节,WCAG 2.0和EN 301 549。
基于UI自动化的可访问性特性
(如)使用来获取有关UI元素的信息。为了获得信息,框架要求控件包含UI自动化对等体并引发UI自动化事件。
启用基于UI自动化的可访问性功能
在DevExpress WPF控件中 removed 了UI自动化节点和事件,这允许我们的控件避免对不依赖于UI自动化的应用程序的avoid an impact on performance。要支持基于UI自动化的Windows特性,请用 one of the following 启用UI自动化对等点和事件:
- 在启动应用程序之前,启动一个屏幕阅读应用程序(如Windows Narrator)。
- 在应用程序启动时将参数设置为true。
- 将ClearAutomationEventsHelper.IsEnabled属性设置为false。
启用验证支持
将附加的ValidationService.AllowAccessibilityAlerts属性设置为true,来通知用户焦点编辑器和数据单元中的验证错误。
您可以为容器启用AllowAccessibilityAlerts选项,为它的子元素发送验证警报:
XAML:
<dxg:GridControl dxe:ValidationService.AllowAccessibilityAlerts="True" .../> <StackPanel dxe:ValidationService.IsValidationContainer="True" dxe:ValidationService.AllowAccessibilityAlerts="True"> <GroupBox> <Grid> <dxe:TextEdit .../> <dxe:TextEdit .../> </Grid> </GroupBox> <GroupBox> <dxe:SpinEdit .../> <dxe:ComboBoxEdit .../> </GroupBox> </StackPanel>
点击复制
当用户执行以下操作时,验证警报在UI自动化框架中更新:
- 专注一个具有验证错误的编辑器。
- 选择GridControl、TreeListControl或PropertyGridControl中存在验证错误的单元格。
- 将正确的值更改为不正确的值,反之亦然。警报仅在输入验证后发送,如果ValidateOnTextInput属性设置为true,则每次字符更改时都会进行输入验证,但是当验证通过或失败时,用户只会收到一个警报。
- 调用带有错误消息的工具提示。
- 当InvalidValueBehavior属性设置为WaitForValidValue时,尝试从具有验证错误的编辑器切换焦点。
屏幕阅读器应用限制
以下DevExpress WPF控件不允许UI自动化框架访问其 embedded documents、 graphic canvases或Map
- Map
- Chart
- End-User Report Designer
- PDF Viewer
- Print/Export Windows
- Rich Text Editor
- Diagram
此限制不适用于集成到这些控件中的任何shell UI:功能区、工具栏或工具窗口。
主题
高对比度主题
您可以将Office 2019高对比度主题应用于DevExpress WPF控件。
增强对比度的预定义调色板
增强对比度预定义调色板使用颜色组合,帮助有视觉障碍的用户区分文本、边框、选择状态和其他视觉元素。
您可以在Office 2016 SE、Office 2019、Visual Studio 2017和Visual Studio 2019主题中使用预定义的对比度调色板。
.NET 6 Tooltips
在.net 6中,DevExpress WPF控件显示的所有工具提示的行为都符合WCAG 2.1的可访问性要求。
- Dismissable。用户可以按Ctrl键隐藏键盘导航后显示的工具提示。
- Hoverable。悬停时工具提示仍然可见。
- Persistent。工具提示保持可见,直到用户解除(通过移动光标或按Ctrl键)。
当父元素获得键盘焦点时将打开工具提示,要打开聚焦项的工具提示,用户可以按Ctrl+Shift+F10组合键。
提示:
为了防止工具提示在键盘焦点上显示,将标准的附加属性设置为false。此属性仅对应用该属性的控件有效,而对控件的子元素无效。
要禁用GridControl, PivotGridControl及其后代的键盘焦点上的工具提示,请指定InplaceBaseEdit样式如下:
XAML:
<Style TargetType="dxe:InplaceBaseEdit"> <Setter Property="ToolTipService.ShowsToolTipOnKeyboardFocus" Value="False"/> </Style>
点击复制