界面控件DevExpress .NET Reports v26.1新版亮点 - 持续增强可访问性

DevExpress Reports是用于.NET生态系统的功能完整的报表平台和组件库。DevExpress Reports附带直观的Visual Studio报表设计器、ASP.NET/Blazor/WPF/WinForms的运行时报表设计器/报表查看器,以及一组丰富的报表控件,包括交叉选项卡/图表,因此用户可以创建信息清晰的报表。

DevExpress新旧版本帮助文档获取可点击这篇文章查看------>《界面控件DevExpress v26.1帮助文档大全(CHM版本)

在接下来的系列文章中,我将为大家一一介绍DevExpress Reports v26.1在新版本中的更新亮点,希望能帮助到大家~欢迎点赞关注哦,不定期更新~

可访问性增强

支持PDF/UA-2格式

DevExpress的PDF导出引擎现在支持PDF/UA-2格式(用于增强可访问性兼容性),用户可以为导出的文档指定PDF/UA-2一致性,来满足最新的可访问性标准,将PdfExportOptions.PdfUACompatibility属性设置为PdfUA2,来指定导出文档的PDF/UA-2一致性。

PDF/UA导出功能增强

DevExpress改进了报表控件和屏幕阅读器解释的PDF/UA导出,现在可以为XRPageInfo、XRRichText和XRPanel元素定义语义角色,并为数字签名提供可访问的描述。

PdfExportOptions.PdfUACompatibility设置为PdfUA1或PdfUA2来应用角色和描述。

XRPageInfo

使用AccessibleRole属性定义屏幕阅读器如何解释XRPageInfo内容。

默认情况下,XRPageInfo作为工件导出。如果内容有意义(例如,日期或页码),请将AccessibleRole设置为Paragraph,来将其包含在文档结构中。

XRPanel

用户可以使用AccessibleRole属性减少可访问树中不必要的干扰。

如果面板仅用于布局或可视化分组,请将AccessibleRole设置为Decorative。在这种情况下,面板被导出为工件,并被屏幕阅读器忽略。

如果面板传达有意义的内容,请保留默认角色,以便将其包含在文档结构中。

这种方法有助于可访问技术专注于有意义的内容。

XRRichText

XRRichText内容现在可以导出为可访问(标记)的PDF,导出过程保留了语义结构和读取顺序,并提高了与屏幕阅读器的兼容性。

导出引擎将内容映射到语义角色:

  • Headings → H1, H2 , H3
  • Paragraphs → P
  • Lists → L, LI, LBody
  • Images → Figure
  • Tables → Table, TR, TH, TD

内容将按其在文档中出现的顺序添加到逻辑结构中。

数字签名 - 可访问的描述

当XRPdfSignature控件用作数字签名或占位符时,可以为其指定可访问的描述。

文件签名

如果启用了SignatureOptions.DisplayDocumentSignature,请使用PdfSignatureOptions.AccessibleDescription

签名占位符

如果SignatureOptions.DisplayDocumentSignature被禁用,请使用XRControl.AccessibleDescription。

下图显示结果:

  • 第一个XRPdfSignature使用PdfSignatureOptions.AccessibleDescription。
  • 第二个使用XRControl.AccessibleDescription。

如果未指定AccessibleDescription,则在可访问的PDF中使用默认文本("数字签名"/"数字签名占位符"),在标准PDF导出过程中不添加说明。

相关推荐
长孙豪翔2 小时前
在.net中读写config文件的各种方法
java·数据库·.net
GV191rLvq8 小时前
查看w3wp进程占用的内存及.NET内存泄露,死锁分析
.net
wei1986211 天前
.net添加web引用和添加服务引用有什么区别?
java·前端·.net
pW3g3lLuu1 天前
.NET 高级开发 | http 接口对接和客户端开发技巧
网络协议·http·.net
CSharp精选营2 天前
.NET 8 与 .NET 9 支持终止倒计时:开发者需要了解什么
.net·lts·.net8·.net9·码农刚子·升级迁移·sts·支持终止
hez20105 天前
在 .NET 上构建超大托管数组
c#·.net·.net core·gc·clr
唐青枫11 天前
线程不是越多越快:C#.NET Thread 生命周期、同步与后台工作线程实战
c#·.net
唐青枫12 天前
别只会反射:C#.NET Emit 动态生成代码实战详解
c#·.net