界面控件DevExpress Blazor UI v23.2 - 浅谈增强的可访问性

embedded/2024/9/24 10:34:20/

DevExpress Blazor UI组件库提供了一套全面的原生Blazor组件(包括DataGrid、Pivot Grid、
调度程序、图表、数据编辑器和报表),使用C#为Blazor Server和Blazor WebAssembly创建高影响力的用户体验!

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

在上一次主要更新(v23.2)中,DevExpress修改了元素结构来提高屏幕阅读器的兼容性,为以下DevExpress Blazor UI组件添加了替代文本描述和WAI-ARIA角色/属性:

  • Grid(网格)
  • Data Editors(数据编辑器)
  • TreeView
  • Toolbar(工具栏)
  • Menu 和 Context Menu(菜单和上下文菜单)

同时还为以下Blazor UI组件引入了键盘导航和快捷方式:

  • Grid(网格)
  • Calendar(日历)
  • Toolbar(工具栏)
  • Menu(菜单)
  • Context Menu(上下文菜单)

这些与可访问性相关的功能是“开箱即用”的,您还可以在代码中扩展可访问性。例如,您可以为单个编辑器和控件内部元素指定可用的描述。

编辑器的可访问标签

由于应用程序的设计,应用程序中的编辑器可能不需要标签。然而这可能会在可访问性评估期间导致警告,并使使用屏幕阅读器进行回复的用户更加困难。您可以添加一个隐藏的标签,它可以被屏幕阅读器软件读取,但不会显示在页面上,来解决这个用例。使用以下选项当中的一个将次操作引入受DevExpress驱动的Blazor应用程序:

  • 创建一个单独的标签,向编辑器添加可访问的信息。
<label for="label1" style="display: none">Text</label>
<DxTextBox InputId="label1"/>
  • 直接对编辑器应用aria-label属性。
<DxTextBox aria-label="Text" />

在这两种情况下,编辑器都将使用指定的aria-label属性呈现输入元素,该属性可以被屏幕阅读器读取和读出。

<div ... >
<div ... >
<div>
<input aria-label="Text" ... >
</div>
</div>
</div>
控件内部元素的可访问描述

使用可本地化字符串,控件内部元素(如按钮和Blazor Grid的搜索框)中的文本可以被修改。

例如,DxBlazorStringId.Grid_SearchBoxNullText属性可以设置为Search…(修改搜索字段中使用的空文本)。

<a class=界面控件DevExpress Blazor UI - 浅谈增强的可访问性" height="306" src="https://img-blog.csdnimg.cn/img_convert/04072a140fa51ea1c7c65ac28d2c04bf.png" width="783" />

在v23.2发布周期中,DevExpress官方创建了用于辅助技术工具的本地化字符串。如果客户使用辅助技术,您可以提供额外的信息来帮助提高整体可用性,这些字符串的命名模式是A11y_{string_name}。

在下面的代码片段中,静态XtraLocalizer对象用于提供空文本和搜索框的可访问描述。虽然这种描述不会改变控件外观,但它确实会影响部分用户处理屏幕信息的能力。

protected override async Task OnInitializedAsync() {
XtraLocalizer.QueryLocalizedString += new EventHandler(XtraLocalizer_QueryLocalizedString);
}static private void XtraLocalizer_QueryLocalizedString(object sender, XtraLocalizer.QueryLocalizedStringEventArgs e) {
if (e.StringIDType == typeof(DxBlazorStringId)) {
if ((DxBlazorStringId)e.StringID == DxBlazorStringId.Grid_SearchBoxNullText)
e.Value = "Search...";
if ((DxBlazorStringId)e.StringID == DxBlazorStringId.A11y_Grid_SearchBox)
e.Value = "Enter search criteria. Use the space key to enter multiple search values.";
}

更多DevExpress线上公开课、中文教程资讯请上中文网获取


http://www.ppmy.cn/embedded/13782.html

相关文章

云南旅游攻略

丽江景点 Day1 ——丽江古城 丽江古城是一个充满文化和历史的地方&#xff0c;拥有丰富的景点和活动。 推荐游玩&#xff1a; 参观标志性建筑&#xff1a;大水车是丽江古城的标志性建筑&#xff0c;可以在这里拍照留念。 探索中心广场&#xff1a;四方街是古城的中心&#xf…

浅谈-“指针”

为什么要使用指针&#xff1f; 1.函数的值传递&#xff0c;无法通过调用函数&#xff0c;来修改函数的实参 2.被调用函数需要提供更多的“返回值”给调用函数 3.减少值传递时带来的额外开销&#xff0c;提高代码执行效率 ---> int a[10] > 40 字节 int *p; pa;…

【GNS3 GraduProj】路由器Ansible脚本测试(文件备份)

R1DhcpPoolReception.yml &#xff08;测试成功&#xff09; --- - name: Routers Configurationhosts: R1gather_facts: falseconnection: network_clitasks:- name: DHCP Configios_config:parents: "ip dhcp pool Reception"lines:- network 192.168.10.0 255.2…

10.Java集合汇总

文章目录 1. Java集合概述1.1 Java集合框架概述1.2 Collection接口继承树1.3 Map接口继承树 2. Collection接口2.1 Collection接口方法 3 Iterator迭代器接口3.1 Iterator接口的方法3.2 foreach循环 4 List接口4.1 List接口方法4.1 ArrayList4.2 LinkedList4.3 Vector4.4 面试题…

【静态分析】静态分析笔记06 - 指针分析介绍

参考&#xff1a; 【课程笔记】南大软件分析课程6——指针分析介绍&#xff08;课时8&#xff09; - 简书 ----------------------------------------------------------------------------------------- 1. Motivation 指针分析必要性&#xff1a; 2. 指针分析 目标&…

IOS 32位调试环境搭建

一、背景 调试IOS程序经常使用gdb&#xff0c;目前gdb只支持32位程序调试&#xff0c;暂不支持IOS 64位程序调试。IOS 32位程序使用GDB调试之前&#xff0c;必须确保手机已越狱&#xff0c;否则无法安装和使用GDB调试软件。下面详细介绍GDB调试IOS 32位程序的环境搭建。 二、I…

Tiny11作者开源:利用微软官方镜像制作独属于你的Tiny11镜像

微软对Windows 11的最低硬件要求包括至少4GB的内存、双核处理器和64GB的SSD存储。然而&#xff0c;这些基本要求仅仅能保证用户启动和运行系统&#xff0c;而非流畅使用 为了提升体验&#xff0c;不少用户选择通过精简系统来减轻硬件负担&#xff0c;我们熟知的Tiny11便是其中…

[MoeCTF-2022]Sqlmap_boy

title:[MoeCTF 2022]Sqlmap_boy 查看网页源代码&#xff0c;得到提示 <!-- $sql select username,password from users where username".$username." && password".$password.";; --> 用万能密码绕过&#xff0c;用’"闭合 爆数据库…