DevExpress WinForms中文教程 - 如何创建可访问的WinForms应用?(二)

news2024/11/18 19:46:48

为用户创建易访问的Windows Forms应用程序不仅是最佳实践的体现,还是对包容性和以用户为中心的设计承诺。在应用程序开发生命周期的早期考虑与可访问性相关的需求可以节省长期运行的时间(因为它将决定设计决策和代码实现)。

一个可访问的WinForms应用程序提供了各种好处,包括:

  • 扩大用户群
  • 包含通过键盘访问的用户体验
  • 自动化UI测试

在上文中(点击这里回顾>>),我们为大家介绍了创建应用时的键盘访问、为UI元素提供相关的可访问信息等,本文将继续介绍如何为数据可视化控件提供补充信息等,持续关注我们哟~

DevExpress WinForms有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。同时能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!

获取DevExpress WinForms v23.2正式版下载(Q技术交流:909157416)

Tip #3:为数据可视化控件(图表和地图)提供补充信息

当涉及到数据可视化时,像图表和地图这样的UI组件在企业应用程序中扮演着独特的角色。当使用图表/地图时,重要的是要以另一种形式呈现视觉信息,以满足与可访问性相关的标准。

在应用程序中加入DevExpress WinForms Chart控件时,您可以:

  • 使用AccessibleName属性来描述图表。
  • 在一个表中重复图表数据,在图表旁边或在新窗口中显示表格。

类似的技术可以应用于DevExpress地图控件。例如,如果Map控件显示一条路线,请考虑将其表示为路点列表。

Tip #4:使用高对比度的颜色

高对比度的颜色在解决视觉/色彩感知受损的个人无障碍需求时起着重要作用,标准的WinForms技术需要手动调整整个应用程序的颜色:如何有效地启用高对比度模式。

DevExpress WinForms UI控件支持高对比度模式(通过矢量皮肤),启用WindowsFormsSettings.TrackSystemHighContrastMode设置自动启用高对比度模式在您的DevExpress驱动的应用程序(如果用户已经激活了Windows设置中的高对比度选项)。

DevExpress WinForms中文教程

您也可以通过在DevExpress皮肤中应用高对比度白色或高对比度黑色调色板手动启用高对比度模式,或者使用高对比度皮肤:

DevExpress WinForms中文教程

DevExpress WinForms数据可视化控件包括许多为可访问的可视化优化的外观设置。

Tip #5:确保UI元素有足够的大小和间距

新的WCAG 2.2标准规定使用适当大小的UI元素,以便指针输入的大小至少为24x24像素,这确保了有运动障碍的用户可以使用指向设备与所有UI元素进行交互。

业务应用程序通常需要高信息密度,设计大型UI元素并不总是可行的。DevExpress WinForms UI控件支持最新的WXI皮肤的紧凑模式和其他皮肤/主题的触摸启用模式。

DevExpress WinForms中文教程

结论

利用以下技术来增强应用程序的可访问性:

  • 支持键盘辅助功能
  • 为UI元素提供相关的可访问信息
  • 显示数据可视化的补充信息
  • 使用高对比度的颜色
  • 确保UI元素有足够的大小和间距

DevExpress WinForms组件允许您为各种企业使用场景创建可访问的Windows应用程序。通过结合DevExpress和标准的WinForms可访问性相关功能,开发人员可以创建符合合规标准的业务应用程序,并为每个人提供包容/用户友好的体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1437899.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python循环语句——for循环的基础语法

一、引言 在Python编程的世界中,for循环无疑是一个强大的工具。它为我们提供了一种简洁、高效的方式来重复执行某段代码,从而实现各种复杂的功能。无论你是初学者还是资深开发者,掌握for循环的用法都是必不可少的。在本文中,我们…

EasyRecovery2024永久免费版电脑数据恢复软件下载

EasyRecovery数据恢复软件是一款非常好用且功能全面的工具,它能帮助用户恢复各种丢失或误删除的数据。以下是关于EasyRecovery的详细功能介绍以及下载步骤: EasyRecovery-mac最新版本下载:https://wm.makeding.com/iclk/?zoneid50201 EasyRecovery-win…

2 月 7 日算法练习- 数据结构-树状数组

树状数组 lowbit 在学习树状数组之前,我们需要了解lowbit操作,这是一种位运算操作,用于计算出数字的二进制表达中的最低位的1以及后面所有的0。 写法很简单: int lowbit(int x){return x &am…

基于SpringBoot+Vue的实验室管理系统

末尾获取源码作者介绍:大家好,我是墨韵,本人4年开发经验,专注定制项目开发 更多项目:CSDN主页YAML墨韵 学如逆水行舟,不进则退。学习如赶路,不能慢一步。 目录 一、项目简介 二、开发技术与环…

vHierarchy

与其他层次结构资产不同,vHierarchy是: -极简:没有噱头或视觉杂乱 - 可定制:任何功能都可以禁用 - 优化:无编辑器延迟 - 安全:没有隐藏的游戏对象,卸载后不会搞乱你的项目 特点: 组件迷你地图 - 见右侧列出的组件 - 按住Alt键并单击组件图标,打开组件编辑器弹出窗口 自…

RCS系统之:机器人状态

在设计RCS系统平台时,机器人总共设计状态有: 离线模式; 如图,18号机器人呈灰黑色,表示机器人没有上电状态 工作模式; 如图,10号机器人成绿色,表示机器人处于工作模式,等…

###C语言程序设计-----C语言学习(10)#函数再探

前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。 目录 一. 基础知识的学习 1.不返回结果函数 2.局部变量 3.全局变量 4.…

linux中的gdb调试

gdb是在程序运行的结果与预期不符合时,可以使用gdb进行调试 注意:使用gdb调试时要在编译上加-g参数 gcc -g -c hello.c 启动gdb调试: gdb file 对gdb进行调试 设置运行参数: set args 可指定运行参数 show args 可以查…

【DC-9靶场渗透】

文章目录 前言 一、确定靶机地址 二、信息收集 三、寻找漏洞 四、进一步漏洞挖掘 五、关键文件 六、ssh爆破 七、提权 总结 前言 马上过年了,年前再做一下DC靶场最后一个靶机。 一、确定靶机地址 1、可使用arp-scan命令 靶机地址为:172.16.10…

编译原理与技术(三)——语法分析(六)自底向上-SLR分析

上一节介绍了LR分析,LR分析包含许多方法,本节介绍的简单的LR方法(SLR)就是其中之一。 一、活前缀 二、LR分析的特点 三、 简单的LR方法(SLR) (一)LR(0)项目 (二&#x…

ES6扩展运算符——三个点(...)用法详解

目录 1 含义 2 替代数组的 apply 方法 3 扩展运算符的应用 ( 1 )合并数组 ( 2 )与解构赋值结合 ( 3 )函数的返回值 ( 4 )字符串 ( 5 )实现了 Iter…

3. 私服方面

目录 3.1 场景 3.2 介绍 3.3 资源上传与下载 3.3.1 步骤分析​编辑 3.3.2 具体操作 maven1:分模块设计开发 maven2:继承与聚合 3.私服 前面我们在讲解多模块开发的时候,我们讲到我们所拆分的模块是可以在同一个公司各个项目组之间进行…

关于PLC数据采集上报,系统平台对接、设备数据转发

设备数据采集上报与系统平台对接 相关案例 PLC与SQLServer,MySQL,PostgreSQL,Oracle数据库双向通讯;HTTP协议GET/POST/PUT请求上报,解析返回数据;MQTT协议JSON/XML文件格式发布/订阅;无需…

MyBatis:轻量级Java持久层框架初探

引言 在Java企业级应用开发领域,ORM框架无疑是构建高性能数据访问层的关键工具之一。MyBatis作为一款轻量级、易于学习且高度可定制化的持久层框架,以其简洁的设计理念、卓越的灵活性和高效的SQL处理能力,赢得了广大开发者的青睐。本文将系统…

肯尼斯·里科《C和指针》第12章 使用结构和指针(2)双链表

12.3 双链表 单链表的替代方案就是双链表。在一个双链表中,每个节点都包含两个指针——指向前一个节点的指针和指向后一个节点的指针。这可以使我们以任何方向遍历双链表,甚至可以随意在双链表中访问。下面的图展示了一个双链表。 下面是节点类型的声明&…

运维备忘录』之 TAR 命令详解

运维人员不仅要熟悉操作系统、服务器、网络等只是,甚至对于开发相关的也要有所了解。很多运维工作者可能一时半会记不住那么多命令、代码、方法、原理或者用法等等。这里我将结合自身工作,持续给大家更新运维工作所需要接触到的知识点,希望大…

go语言每日一练——链表篇(六)

传送门 牛客面试必刷101题—— 判断链表中是否有环 牛客面试必刷101题—— 链表中环的入口结点 题目及解析 题目一 代码 package mainimport . "nc_tools"/** type ListNode struct{* Val int* Next *ListNode* }*//**** param head ListNode类* return bool…

java日志框架总结(五、logback日志框架)

一、logback概述 Logback是由log4j创始人设计的又一个开源日志组件。 Logback当前分成三个模块: 1、logback-core, 2、logback- classic 3、logback-access。 1)logback-core是其它两个模块的基础模块。 2)logback-…

MySQL之建表操作

华子目录 表操作创建表数据类型文本类型数值类型日期/时间类型Bit数据类型常见数据类型 MySQL存储引擎创建表的三个操作创建表时指定存储引擎,字符集,校对规则,行格式 查看表显示数据库中所有表显示数据库中表的信息(表结构&#…

flutter监听app进入前后台状态的实现

在开发app的过程中,我们经常需要根据app的前后台的状态,做一些事情,那么我们在flutter中是如何实现这一监听的? flutter给我们提供了WidgetsBindingObserver来进行一些状态的判断,但是判断前后台的状态只是该API种其中…