可访问性支持
DevExpress WinForms UI库包含构建 Windows 软件所需的一切,该软件可供残障或有缺陷的用户完全访问。
DevExpress WinForms UI控件与现代辅助技术(例如 Microsoft Active Accessibility 提供的“讲述人”)完全兼容,WinForms UI 控件完全支持 和来帮助辅助工具识别UI元素的边界、名称、角色、状态和值,WinForms UI 控件还支持UI 自动化模式(例如,网格、停靠、滚动、选择、表格、展开/折叠等)。
DevExpress 高对比度外观和高 DPI 支持可帮助您为视力受损的用户设计应用程序。
可访问性标准和指南
DevExpress WinForms UI控件符合,2.0 (AA级)和。
WinForms UI控件的可访问API
DevExpress WinForms UI控件实现了可访问性客户端应用程序使用的标准API,所有UI元素都被标记,属性值被公开,并引发适当的事件。
属性名称 | 描述 |
---|---|
AccessibleName | 指定可访问性客户端应用程序使用的控件名称。 |
AccessibleRole | 指定控件或UI元素的可访问角色。 |
AccessibleDescription | 描述控件或UI元素,可访问性客户端应用程序使用此描述。 |
下图说明了数据网格控件的可访问性树:
处理QueryAccessibleInfo事件来描述某些或自定义UI元素,并确保正确实现编程访问。QueryAccessibleInfo事件作为一个入口点,为Windows表单应用程序中的所有DevExpress控件定制可访问性信息,如果您在应用程序中使用来自多个程序集的控件(例如,Data Grid, Editors, Charts, PivotGrid), QueryAccessibleInfo事件将为每个UI控件触发。
下面的示例处理QueryAccessibleInfo事件,为ColorEdit控件中的Magnifier按钮指定一个有意义的名称。默认的可访问按钮名称是“Glyph”,可访问性客户端(如Windows叙述者)会大声读出该名称,但它并不指示该按钮的实际功能。
C#:
using DevExpress.Accessibility; public Form1() { InitializeComponent(); DXAccessible.QueryAccessibleInfo += (s, e) => { if(e.OwnerControl == this.colorEdit1 && e.Name == "Glyph") e.Name = "Magnifier"; }; }
VB.NET:
Imports DevExpress.Accessibility Public Sub New() InitializeComponent() AddHandler DXAccessible.QueryAccessibleInfo, Sub(s, e) If e.OwnerControl = Me.colorEdit1 AndAlso e.Name = "Glyph" Then e.Name = "Magnifier" End If End Sub End Sub
您还可以处理QueryAccessibleInfo事件并在Windows应用程序的上下文中为UI元素指定更合理的可访问名称、角色和描述。
关于如何在数据网格和树列表控件中为UI元素指定更准确的可访问名称的详细信息和示例,请阅读以下博客文章:
。
禁止访问DevExpress
关闭WindowsFormsSettings.DisableAccessibility选项来禁用Windows表单应用程序中所有DevExpress UI控件的DevExpress Accessibility支持。
WinForms UI控件与可访问的API
下表列出了DevExpress WinForms UI控件,这些控件通过Microsoft Active Accessibility向辅助技术传递可访问信息:
局限性
以下WinForms UI控件不支持DevExpress辅助功能:富文本编辑器、PDF查看器、报表查看器和电子表格。
高对比度模式
使用DevExpress高对比度或Bezier Skin来提高可读性,这些皮肤包括预先设计的调色板,这些调色板使用精心选择的颜色组合来帮助视力受损的用户(区分文本、边框、选择状态和其他视觉元素)。
高对比度皮肤
高对比度皮肤包括以下调色板:默认,高对比度白色,高对比度#1,高对比度#2。
Bezier Skin
Bezier皮肤包括两个高对比度调色板:高对比度白色,高对比度黑色。
高DPI支持
DevExpress WinForms UI控件支持DirectX硬件加速,并提供卓越的性能和精湛的高DPI渲染质量(4K/8K)。
从右到左的支持
DevExpress表单和UI控件在运行时支持从右向左语言(RTL)。