core for selenium java中为wcag2aa配置可访问性规则

xfb7svmp  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(374)

我需要使用 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 违规行为?

aiazj4mn

aiazj4mn1#

据我了解 result.getViolations()result.getInapplicable() 是两种不同的东西,都会产生不同的结果。
可能发生的情况是,冲突不存在,但在页面上找不到某些规则的匹配元素。
results对象作为axe.run的第三个参数传入的回调函数在results对象上运行。
该对象有四个组件—— a passes array, a violations array, an incomplete array and an inapplicable array. 1) passs数组跟踪所有通过的测试,以及每个测试的详细信息。这将导致更有效的测试,尤其是当与手动测试结合使用时,因为用户可以轻松找到已经通过的测试。

result.getPasses()

2) 违规数组跟踪所有失败的测试,以及每个测试的详细信息。

result.getViolations()

3) 不完整数组(也称为“审阅项”)表示哪些节点既不能确定最终通过,也不能确定最终失败。它们是分开的,以便用户界面可以将它们显示给用户进行手动审查(因此术语“审查项目”)。

result.getIncomplete()

4) 不适用数组列出了页面上找不到匹配元素的所有规则。

result.getInapplicable()

裁判:https://www.deque.com/axe/core-documentation/api-documentation/

相关问题