网络无障碍规则--原则、准则、标准和技术

Aspose.HTML for Java 提供了 com.aspose.html.accessibility 包,用于所有与网络可访问性相关的操作和检查。在本文中,您将学习如何使用 AccessibilityRules 类,该类是 WCAG 2.0 要求、成功标准和技术的存储库。

可访问性规则是一套指南、标准或最佳实践,规定了如何设计和开发网站、应用程序和媒体等数字内容,以确保残疾人可以使用。这些规则有助于让有视觉、听觉、运动或认知障碍的人也能获得在线体验,促进数字包容,确保每个人都能平等地获取信息、服务和技术。

网络无障碍快速参考的结构可以用下图来表示:

文本 “网络无障碍规则的结构–原则、指南和标准”。

无障碍规则

AccessibilityRules 类是 WCAG 2.0 要求、成功标准和技术的存储库,其结构与规范 WCAG(快速参考) 相对应。要查看规则列表,需要初始化 WebAccessibility 容器并使用 Rules 属性。

该属性返回一个 AccessibilityRules 类型的对象,该对象具有用于访问规则的方法:

MethodsDescription
getPrinciple(string code)Returns a Principle object by code from WCAG.
getPrinciples()Returns a list of principles IList<Principle>.
getRules(params string[] codes)Returns a list of rules IList< IRule> for given codes from WCAG.

该目录包含从抽象类 Rule 继承而来的规则。规则有几种类型:

IRule

所有规则都执行接口 IRule,这是一个公共接口,定义了规则的基本属性:

PropertyDescription
CodeRule code from the quick reference WCAG.
DescriptionDescription of Rule from the quick reference WCAG.

Rule

所有规则的基础抽象类,它实现了接口 IRule。要获取任何规则,可以使用 getRules() 方法:

 1// Retrieve and list accessibility rules by code with their descriptions from the rules repository
 2
 3// Initialize a webAccessibility container
 4WebAccessibility webAccessibility = new WebAccessibility();
 5
 6// List of rule codes can contain both technique codes and principles,
 7// guidelines and criteria - all rules that implement the interface IRule
 8String[] rulesCodes = new String[]{"H2", "H37", "H30", "1.1", "1.2.1"};
 9
10// Get a list of IRule objects; if a rule with the specified code is not found,
11// it will not be in the list
12List<IRule> rules = webAccessibility.getRules().getRules(rulesCodes);
13
14// Get code and description of rule
15for (IRule rule : rules) {
16    System.out.println(String.format("%s: %s",
17            rule.getCode(),
18            rule.getDescription()
19    ));
20}

程序将输出到控制台:

1    H2:Combining adjacent image and text links for the same resource
2    H37:Using alt attributes on img elements
3    H30:Providing link text that describes the purpose of a link for anchor elements
4    1.1:Text Alternatives
5    1.2.1:Audio-only and Video-only (Prerecorded)

Principle

规则列表的第一层是 Principles,它们指明了本节规则的主要方向和目的。因此,目录工作从原则开始。

Principle 类继承自 Rule,也包含一个准则列表。

MethodDescription
getGuideline(string code)Get Guideline by code from WCAG, contained in principle. Return Guideline object.
getGuidelines()Get a list of Guideline from Principle. Return IList< Guideline> object.

从规则列表中获取 Principle 对象的示例:

 1// Get accessibility principle by code from WCAG rules in Aspose.HTML for Java
 2
 3// Initialize a webAccessibility container
 4WebAccessibility webAccessibility = new WebAccessibility();
 5
 6// Get the principle by code
 7Principle rule = webAccessibility.getRules().getPrinciple("1");
 8
 9// Get code and description of principle
10System.out.println(String.format("%s: %s",
11        rule.getCode(),
12        rule.getDescription()
13));
14// @output: 1:Perceivable

Guideline

Guideline 类继承自 Rule,包含一个标准列表。准则是继原则之后的又一个层次。它们概括了框架和总体目标,有助于作者理解成功标准并更好地应用技术。

MethodDescription
getCriterion(string code)Get Guideline by code from WCAG, contained in current Guideline. Return Criterion object.
getCriterions()Get a list of Criterion from current Guideline. Return IList< Criterion> object.

从规则列表中获取 “准则 “对象的示例:

 1// Get accessibility guideline by code from WCAG principle in Aspose.HTML for Java
 2
 3// Initialize a webAccessibility container
 4WebAccessibility webAccessibility = new WebAccessibility();
 5
 6// Get the principle by code 
 7Principle principle = webAccessibility.getRules().getPrinciple("1");
 8
 9// Get guideline 1.1
10Guideline guideline = principle.getGuideline("1.1");
11if (guideline != null) {
12    System.out.println(String.format("%s: %s, %s",
13            guideline.getCode(),
14            guideline.getDescription(),
15            guideline
16    ));
17    // @output: 1.1:Text Alternatives
18}

Criterion

Criterion 类描述了 WCAG 成功标准,继承自抽象类Rule。详细信息请参见此处 - Understanding Techniques for WCAG Success Criteria。确定是否符合 WCAG 2.0 的基础是标准中的成功标准。该标准包含了满足 WCAG 网页内容无障碍指引的 techniques列表。如果某个标准的所有足够方法都支持无障碍,那么成功标准就通过了。

使用 getCriterion(code) 方法从指南中获取标准:

 1// Get accessibility criterion and its sufficient techniques in Java
 2
 3// Initialize a webAccessibility container
 4WebAccessibility webAccessibility = new WebAccessibility();
 5
 6// Get the principle by code 
 7Principle principle = webAccessibility.getRules().getPrinciple("1");
 8
 9// Get guideline 
10Guideline guideline = principle.getGuideline("1.1");
11
12// Get criterion by code
13Criterion criterion = guideline.getCriterion("1.1.1");
14if (criterion != null) {
15    System.out.println(String.format("%s: %s - %s",
16            criterion.getCode(),
17            criterion.getDescription(),
18            criterion.getLevel()
19    ));
20    // @output: 1.1.1:Non-text Content - A
21
22    // Get all Sufficient Techniques and write to console
23    for (IRule technique : criterion.getSufficientTechniques())
24        System.out.println(String.format("%s: %s",
25                technique.getCode(),
26                technique.getDescription()
27        ));
28}

根据特定的网络无障碍规则检查 HTML

这段代码演示了如何使用指定的规则集验证 HTML 文档的网络可访问性。

 1// Validate an HTML document using specific rule codes with Java
 2
 3String htmlPath = "input.html";
 4
 5// Initialize a webAccessibility container
 6WebAccessibility webAccessibility = new WebAccessibility();
 7
 8// List of necessary rules for checking (rule code according to the specification) 
 9String[] rulesCode = new String[]{"H2", "H37", "H67", "H86"};
10
11// Get the required IList<Rule> rules from the rules reference
12List<IRule> rules = webAccessibility.getRules().getRules(rulesCode);
13
14// Create an accessibility validator, pass the found rules as parameters,
15// and specify the full validation settings
16AccessibilityValidator validator = webAccessibility.createValidator(
17        rules, ValidationBuilder.getAll());
18
19// Initialize an object of the HTMLDocument
20final HTMLDocument document = new HTMLDocument(htmlPath);
21// Check the document
22ValidationResult validationResult = validator.validate(document);
23
24// Return the result in string format
25// SaveToString - return only errors and warnings
26System.out.println(validationResult.saveToString());

另见

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

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

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

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.