验证结果 – 使用 Aspose.HTML 检查网页无障碍

Aspose.HTML for .NET 提供了 Aspose.Html.Accessibility 命名空间,该命名空间用于所有与网页无障碍相关的操作和检查。在本文中,您将学习如何查看针对 WCAG 合规性的网页无障碍检查结果,报告测试的标准,并详细说明验证期间遇到的特定问题。

您可以从 无障碍验证器 – C# 中的网站无障碍检查 文章中了解如何以编程方式检查网站无障碍性。

ValidationResult 类

Aspose.Html.Accessibility.Results 命名空间包含描述规则验证结果的类。 ValidationResult 类是包含所有标准结果的主类。ValidationResult 对象包含文档检查结果的描述,并具有以下属性:

属性描述
Success返回一个布尔值,表示验证是否成功。
Details返回 IList< RuleValidationResult>,包含带有验证结果信息的 RuleValidationResult 对象。
SaveToString()将验证结果保存为字符串
SaveTo(TextWriter writer)以文本格式将验证结果保存在 System.IO.TextWriter 对象中。
SaveTo(TextWriter writer, ValidationResultSaveFormat format)将验证结果保存到 System.IO.TextWriter 对象,其中 ValidationResultSaveFormat 类型参数指定文本的保存格式。

以下是网页无障碍检查的 C# 代码片段。它设置具有特定设置的验证器,验证 HTML 文档,并将验证结果输出到控制台:

 1// Validate HTML against WCAG rules using C#
 2
 3// Initialize a webAccessibility container
 4WebAccessibility webAccessibility = new WebAccessibility();
 5
 6// Create an accessibillity validator with static instance for all rules from repository that match the builder settings
 7AccessibilityValidator validator = webAccessibility.CreateValidator(ValidationBuilder.All);
 8
 9// Prepare a path to a source HTML file
10string documentPath = Path.Combine(DataDir, "input.html");
11
12// Initialize an object of the HTMLDocument class
13using (HTMLDocument document = new HTMLDocument(documentPath))
14{
15    // Check the document
16    ValidationResult validationResult = validator.Validate(document);
17
18    // Checking for success
19    if (!validationResult.Success)
20    {
21        // Get a list of RuleValidationResult Details
22        foreach (RuleValidationResult detail in validationResult.Details)
23        {
24            Console.WriteLine("{0}:{1} = {2}", detail.Rule.Code, detail.Rule.Description, detail.Success);
25        }
26    }
27}

该代码将有关无障碍问题的信息输出到控制台,允许您识别并解决 HTML 文档中的特定问题。

RuleValidationResult 类

RuleValidationResult 类 – 规则检查的结果,包含方法结果 ITechniqueResult 的列表,这些方法是满足成功标准的方式。

属性描述
Success返回一个布尔值,表示验证是否成功。
Rule返回检查的规则。该规则具有实现 IRule 接口的类型。
Results返回所有结果的集合,包括成功和失败的。返回类型是 IList< ITechniqueResult>。
Errors返回带有错误的结果集合。返回类型是 IList< ITechniqueResult>。
Warnings返回带有警告的结果集合。返回类型是 IList< ITechniqueResult>。

以下代码遍历 validationResult 对象的 Details 属性中的 RuleValidationResult 对象列表。每个 RuleValidationResult 表示验证过程中特定无障碍规则检查的结果:

1    // 获取 RuleValidationResult Details 列表
2    foreach (RuleValidationResult result in validationResult.Details)
3    {
4        Console.WriteLine("{0}:{1} = {2}", result.Rule.Code, result.Rule.Description, result.Success);
5    }

假设 Details 包含两个规则的结果 - H37 和 H67。输出将是:

1H37:Check alt attributes for images = True
2H67:Check that all forms have labels = False

ITechniqueResult

ITechniqueResult 是一个包含验证结果信息的公共接口。

属性描述
Success返回一个布尔值,表示验证是否成功。
Rule返回检查的技术,类型为 IRule
Error返回带有错误的对象。返回类型是 IError

以下是输出未通过成功标准测试的结果的 C# 示例。我们向控制台打印标准的代码描述,以及这些标准的方法执行的所有详细信息,包括成功的和带有错误的:

  1. 每个 RuleValidationResult 表示验证期间评估的特定无障碍标准。代码遍历 validationResult.Details 中包含的 RuleValidationResult 对象。
  2. 检查标准是否不成功 – !criterionResult.Success。如果标准失败,代码会报告有关失败标准的信息。
  3. 使用 Console.WriteLine 打印失败标准的代码和描述。
  4. 然后遍历 ITechniqueResult 对象。这些 ITechniqueResult 对象表示报告错误的标准的各个规则的结果。
  5. 对于每个规则结果,创建一个 StringBuilder 对象来格式化有关方法的信息,包括方法代码、方法成功状态和方法描述。
  6. 打印每个规则结果的信息,包括方法代码、成功状态和描述。
 1// Validate HTML accessibility using C# and print all failed WCAG rule with their descriptions
 2
 3// Initialize a webAccessibility container
 4WebAccessibility webAccessibility = new WebAccessibility();
 5
 6// Create an accessibillity validator with static instance for all rules from repository that match the builder settings
 7AccessibilityValidator validator = webAccessibility.CreateValidator(ValidationBuilder.All);
 8
 9string documentPath = Path.Combine(DataDir, "input.html");
10
11// Initialize an object of the HTMLDocument class
12using (HTMLDocument document = new HTMLDocument(documentPath))
13{
14    // Check the document
15    ValidationResult validationResult = validator.Validate(document);
16
17    // Take a list of rules results
18    foreach (RuleValidationResult ruleResult in validationResult.Details)
19    {
20        // List only unsuccessful rule
21        if (!ruleResult.Success)
22        {
23            // Print the code and description of the rule
24            Console.WriteLine("{0}:{1}", ruleResult.Rule.Code, ruleResult.Rule.Description);
25
26            // Print the results of all methods
27            foreach (ITechniqueResult ruleDetail in ruleResult.Results)
28            {
29                // Print the code and description of the criterions
30                StringBuilder str = new StringBuilder(string.Format("\n{0}: {1} - {2}",
31                    ruleDetail.Rule.Code, ruleDetail.Success,
32                    ruleDetail.Rule.Description));
33                Console.WriteLine(str.ToString());
34            }
35        }
36    }
37}

使用 Aspose.HTML for .NET 可以让您系统地查看网页无障碍检查的结果,报告测试的标准,并详细说明验证过程中遇到的特定问题。这有助于理解网页内容无障碍问题的性质并采取适当的措施来解决它们。

另请参阅

  • 网页无障碍检查 章节中,您将学习如何使用 Aspose.Html.Accessibility 和 Aspose.Html.Accessibility.Results 命名空间的类和方法检查网站是否符合所有 WCAG 标准或仅满足特定标准。
  • 如果您想了解如何根据 WCAG 标准(网页无障碍的世界权威)正确调整网页内容的对比度,请查看文章 颜色对比度无障碍性。您将了解如何使用 C# 测试颜色对比度无障碍性,并使所有用户都能轻松阅读您的网页内容。
  • 在文章 无障碍验证器 中,您将了解可用于测试网页无障碍规则(如原则、指南和标准)的 AccessibilityValidator 类。
  • 在文章 网页无障碍规则 中,您将学习如何使用 AccessibilityRules 类,该类是 WCAG 2 要求、成功标准和技术的存储库,用于网页无障碍检查。
  • 文章 错误和警告 讨论了在网站无障碍测试期间帮助收集错误和警告信息的类和接口。它侧重于失败标准和报告错误的方法,并提供了在测试 HTML 文档后检索网页无障碍错误的 C# 示例。

Aspose.HTML 提供免费的在线 网页无障碍检查器。此工具扫描网页,验证它们是否符合 WCAG 标准,识别问题并提出改进建议。立即了解您网站的合规性,让您能够确定必要更正的范围以及您的网站或 HTML 文档当前状态与 WCAG 要求之间的差距。

Text “网页无障碍检查器”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.