使用 .NET API 验证 HTML 可访问性
Aspose.HTML for .NET 提供 AccessibilityValidator ,用于按照 WCAG 可访问性规则检查 HTML 文档。您可以验证本地文件或网页,识别失败的检查和相关元素,并将结果导出为报告。
定期验证可帮助开发团队在发布前发现可访问性问题,并在 HTML 内容发生变化时重复执行相同检查。
在 C# 中验证 HTML 文档
使用所有可用规则设置创建验证器,验证文档,并仅遍历失败结果。读取 ruleResult.Results,以便即使单独的 Errors 集合为空,也能报告每项失败的技术。
验证 HTML 可访问性的 C# 代码
using System;
using System.IO;
using Aspose.Html;
using Aspose.Html.Accessibility;
using Aspose.Html.Accessibility.Results;
string documentPath = Path.Combine("data", "input.html");
WebAccessibility webAccessibility = new WebAccessibility();
AccessibilityValidator validator = webAccessibility.CreateValidator(
ValidationBuilder.All);
// Validate the HTML document against the configured rules
using HTMLDocument document = new HTMLDocument(documentPath);
ValidationResult validationResult = validator.Validate(document);
foreach (RuleValidationResult ruleResult in validationResult.Details)
{
if (ruleResult.Success)
{
continue;
}
Console.WriteLine($"{ruleResult.Rule.Code}: {ruleResult.Rule.Description}");
// Inspect every technique result, including entries without an error object
foreach (ITechniqueResult techniqueResult in ruleResult.Results)
{
if (techniqueResult.Success)
{
continue;
}
Console.WriteLine(
$" {techniqueResult.Rule.Code}: {techniqueResult.Rule.Description}");
IError error = techniqueResult.Error;
if (error == null)
{
continue;
}
Console.WriteLine($" {error.ErrorTypeName}: {error.ErrorMessage}");
if (error.Target?.TargetType == TargetTypes.HTMLElement &&
error.Target.Item is HTMLElement element)
{
Console.WriteLine($" {element.OuterHTML}");
}
}
}
如何验证 HTML 可访问性
- 创建 WebAccessibility 对象,以访问验证器创建功能和可访问性规则库。
- 调用
CreateValidator(ValidationBuilder.All),为符合完整生成器设置的所有规则创建验证器。 - 将文件或 URL 加载到 HTMLDocument 中。
- 调用
Validate()并保存返回的 ValidationResult 。 - 遍历
Details,保留失败的RuleValidationResult对象,并检查Results中失败的技术。如果结果提供相关信息,则输出错误详情和受影响的 HTML 元素。
配置并处理可访问性检查
- 完整验证。
ValidationBuilder.All将所有可用级别和技术设置应用于规则库中的规则。 - 筛选验证。 可按级别、技术、HTML 标签、原则、指南、标准或规则列表限制验证范围。
- 详细诊断。
ValidationResult.Details提供规则结果,而技术错误包含消息和受影响目标。 - 本地和远程 HTML。
HTMLDocument可以在验证前加载 HTML 文件或网页 URL。 - 可导出的结果。 可以在代码中处理报告,也可以将其保存为文本、JSON 或 XML,用于审查和自动化工作流。
- 手动验证。 自动检查结果需要与键盘、辅助技术、内容和可用性测试结合使用。
如果只需偶尔执行无代码检查,请使用 在线 Web Accessibility Checker 。需要配置、重复执行验证或将其集成到开发管道时,请使用 .NET API。
可访问性验证器文档
辅助功能验证器
指南介绍可用的 CreateValidator() 重载和 ValidationBuilder 筛选器。有关失败技术和目标元素的处理,请参阅
错误和警告
;有关将报告导出为文本、JSON 或 XML 的方法,请参阅
保存可访问性验证结果
。
安装 Aspose.HTML for .NET
使用 .NET CLI 从 NuGet 安装 Aspose.HTML for .NET :
dotnet add package Aspose.HTML
您也可以使用 NuGet 包管理器界面,或在包管理器控制台中运行 Install-Package Aspose.HTML。有关配置详情,请参阅
安装指南
;如需不受评估版限制地测试 API,请申请
临时许可证
。
HTML 可访问性验证器常见问题
1. 如何在 C# 中验证 HTML 可访问性?
使用 HTMLDocument 加载 HTML 文件或 URL,通过 WebAccessibility 创建 AccessibilityValidator,然后调用 Validate()。返回的 ValidationResult 包含验证器所评估规则的状态和详细结果。
2. 自动可访问性验证器能保证符合 WCAG 吗?
不能。自动验证可以识别可由机器测试的问题,但许多要求取决于上下文和人工判断。仍需执行键盘测试、辅助技术测试并审查内容含义。
3. 验证器可以同时检查本地 HTML 文件和网页吗?
可以。HTMLDocument 可以加载本地文件或 URL。远程验证取决于网络访问,以及文档能否获取所选检查所需的样式表、脚本和其他资源。
4. 可以只验证选定的 WCAG 规则或级别吗?
可以。使用 ValidationBuilder 按级别或技术进行筛选,或者使用原则、指南、标准或明确的规则列表创建验证器。当管道需要专项策略而非完整规则库时,这种方式很有用。
5. 可以保存可访问性验证结果吗?
可以。使用 SaveToString() 获取文本表示,或通过带有 ValidationResultSaveFormat 的 SaveTo() 写入文本、JSON 或 XML。结构化输出可用于存档、报告和质量控制工作流。
相关 Web 可访问性工作流
继续查看 WCAG 规则、图像 alt 属性检查、颜色对比度验证或可访问性 API 概述。