可访问性验证器 – 网站可访问性检查

创建验证器

Aspose.HTML for Java 提供了 com.aspose.html.accessibility 包,用于所有与网络辅助功能相关的操作和检查。 AccessibilityValidator 类初始化了一个对象,用于根据 WCAG 成功标准验证文档。该类没有内部构造函数,因此用户无法直接创建该类的对象。要创建对象,需要使用 WebAccessibility 容器。

要创建验证器,请像这样初始化 WebAccessibility 类的对象:

1    // Initialize webAccessibility container
2    WebAccessibility webAccessibility = new WebAccessibility();

webAccessibility 对象有多个重载的 createValidator() 方法,用于创建具有不同自定义级别的 AccessibilityValidator 实例。这些方法允许使用所有默认规则、特定规则或规则列表创建验证器,并可使用 ValidationBuilder 对象进行自定义。这种灵活的方法既可用于简单的可访问性检查,也可用于高度定制的可访问性检查。

以下 Java 示例演示了如何为所有可用规则或基于单一无障碍原则的特定子集初始化 “无障碍验证器”:

例 1. 创建验证器检查所有规则

本例展示了如何使用 ValidationBuilder.getAll() 提供的默认综合设置初始化包含所有可用辅助功能规则的 AccessibilityValidator

1// Initialize the webAccessibility container
2WebAccessibility webAccessibility = new WebAccessibility();
3
4// Create an accessibility validator with all rules using the default settings
5AccessibilityValidator validator = webAccessibility.createValidator(ValidationBuilder.getAll());

示例 2. 为特定原则创建验证器

在本例中,使用代码(如 “1”)选择特定的可访问性原则,然后只为该原则下的规则创建验证器:

1// Retrieve a specific principle by its code
2IRule rule = webAccessibility.getRules().getPrinciple("1");
3
4// Create a validator for that principle using the same default settings
5AccessibilityValidator validatorRule = webAccessibility.createValidator(rule, ValidationBuilder.getAll());

ValidationBuilder 类

ValidationBuilder 类定义了一个辅助类,可用于定制验证器要检查的规则列表。ValidationBuilder “定义了方法并提供了配置步骤的具体实现。

ValidationBuilder` 类提供三组预定义的属性:

该类还提供用于自定义验证的方法,如选择特定技术( useHTML()useCSS()useScript())、设置标准级别(useLowestLevel()useMiddleLevel()useHighestLevel()allLevels())等。

例如,以下 Java 代码初始化了 AccessibilityValidator 以根据用户配置执行可访问性检查。代码首先创建了一个 WebAccessibility 容器,作为验证功能的主要访问点。然后,使用 ValidationBuilder.getNone() 创建一个没有预定义规则的验证器。在这里,它会明确启用 HTML 和 CSS 技术检查,并将验证限制在中等一致性级别(通常为 WCAG AA 级)。这种设置允许进行有针对性的、基于标准的验证,只针对选定的技术和特定的一致性级别。

 1// Initialize the WebAccessibility container
 2WebAccessibility webAccessibility = new WebAccessibility();
 3
 4// Create a validator with no predefined filters, enabling HTML and CSS technologies, and selecting the middle conformance levels
 5AccessibilityValidator validatorHTML = webAccessibility.createValidator(
 6    ValidationBuilder.getNone()
 7                     .useHTML()
 8                     .useCSS()
 9                     .useMiddleLevel()
10);

ValidationResult 类

ValidationResult 类是网络可访问性验证的核心组件。它封装了可访问性检查的结果,提供了一种结构化的方法来分析、管理和处理验证操作的结果。要使用它,请实例化一个验证器对象并调用 validate(document) 方法,同时传入要验证的文档。该方法将返回一个包含验证结果的 ValidationResult 对象。

ValidationResult “类汇总了 “可访问性规则 “对象中定义的所有标准的结果,是报告验证结果的主要容器。它包括两个关键属性:

为了支持结果输出和报告,该类提供了几个方法:saveTo(TextWriter)saveTo(TextWriter, ValidationResultSaveFormat) 允许将结果保存到指定的输出流中,而saveToString() 则以格式化的String返回验证结果。

更完整的说明请参阅文章 验证结果 – 检查 Java 中的网络可访问性

验证 HTML 文档

要执行文档验证,请按照以下步骤操作:

  1. 使用 WebAccessibility() 构造函数创建 WebAccessibility 类的实例。
  2. 调用 createValidator() 方法之一来创建一个 validator 对象。
  3. 使用 HTMLDocument() 构造函数之一加载 HTML 文档。
  4. 使用 validate(document) 方法根据网络可访问性规则验证文档。
  5. 验证结果是 ValidationResult 类的实例。
  6. 将验证结果打印到控制台,并根据需要用于进一步分析。

下面是一个调用文档验证的示例。下面的 Java 代码将向控制台写入哪些规则通过了测试,哪些没有通过:

 1// Validate HTML against WCAG rules using Java
 2
 3// Initialize a webAccessibility container
 4WebAccessibility webAccessibility = new WebAccessibility();
 5
 6// Create an accessibility validator with static instance for all rules
 7// from repository that match the builder settings
 8AccessibilityValidator validator = webAccessibility.createValidator(ValidationBuilder.getAll());
 9
10// Prepare a path to a source HTML file
11String documentPath = "input.html";
12
13// Initialize an object of the HTMLDocument class
14final HTMLDocument document = new HTMLDocument(documentPath);
15ValidationResult validationResult = validator.validate(document);
16
17// Checking for success
18if (!validationResult.getSuccess()) {
19    // Get a list of RuleValidationResult Details
20    for (RuleValidationResult detail : validationResult.getDetails()) {
21        System.out.println(String.format("%s: %s = %s",
22                detail.getRule().getCode(),
23                detail.getRule().getDescription(),
24                detail.getSuccess()));
25    }
26}

另见

  • 您可以在 无障碍色彩对比度 一文中找到评估和改善文本可见性的有用技巧,该文章涉及使用 Aspose.HTML for Java 根据 WCAG 进行对比度检查。
  • 有关检查网页内容是否与屏幕阅读器兼容的说明,请参阅文章 屏幕阅读器辅助功能。您将学习如何检查alt文本和其他关键元素。
  • 如果您想了解如何查看验证结果和识别网络可访问性问题,请参阅 验证结果一文。
  • 网站可访问性检查 – 错误和警告 一文中,您将了解如何在检查网站的可访问性时以 Java 编程方式收集错误和警告信息。

Aspose.HTML 提供免费的在线 网页可访问性检查器。该工具可扫描网页、验证网页是否符合 WCAG 标准、发现问题并提出改进建议。您可以即时了解网站的合规性,确定必要的修正范围,以及网站或 HTML 文档的当前状态与 WCAG 要求之间的差距。

文本 “网络无障碍检查器”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.