我需要使用 wcag2aa
.
我正在使用下面的依赖项。
<dependency>
<groupId>com.deque.html.axe-core</groupId>
<artifactId>selenium</artifactId>
<version>4.2.2</version>
</dependency>
我的可访问性验证方法如下。在这种方法中,, result
对象没有任何冲突(冲突列表为空),可以使用 wcag2aa
标记值。
需要知道这种方法有什么问题。
public void checkAccessibility() {
AxeRunOnlyOptions runOnlyOptions = new AxeRunOnlyOptions();
runOnlyOptions.setType("tag");
runOnlyOptions.setValues(Arrays.asList("wcag2a", "wcag2aa"));
AxeRunOptions options = new AxeRunOptions();
options.setRunOnly(runOnlyOptions);
AxeBuilder axe = new AxeBuilder().withOptions(options);
Results result = axe.analyze(getWebDriver());
List<Rule> violationList = result.getViolations();
System.out.println("Violation list size :"+result.getViolations().size());
System.out.println("Inapplicable list size :"+result.getInapplicable().size());
}
有谁能帮我解释一下为什么违规列表变空了,即使页面已经被删除了 wcag2aa
违规行为?
1条答案
按热度按时间aiazj4mn1#
据我了解
result.getViolations()
及result.getInapplicable()
是两种不同的东西,都会产生不同的结果。可能发生的情况是,冲突不存在,但在页面上找不到某些规则的匹配元素。
results对象作为axe.run的第三个参数传入的回调函数在results对象上运行。
该对象有四个组件——
a passes array, a violations array, an incomplete array and an inapplicable array.
1) passs数组跟踪所有通过的测试,以及每个测试的详细信息。这将导致更有效的测试,尤其是当与手动测试结合使用时,因为用户可以轻松找到已经通过的测试。2) 违规数组跟踪所有失败的测试,以及每个测试的详细信息。
3) 不完整数组(也称为“审阅项”)表示哪些节点既不能确定最终通过,也不能确定最终失败。它们是分开的,以便用户界面可以将它们显示给用户进行手动审查(因此术语“审查项目”)。
4) 不适用数组列出了页面上找不到匹配元素的所有规则。
裁判:https://www.deque.com/axe/core-documentation/api-documentation/