axe-runnerをアップデート

公開

4月28日から連休にしていますがあいにくの雨だったこともあり、Puppeteerとaxe-coreで複数ページの自動アクセシビリティ検証を実現する「axe-runner」の調整をしてv1.5.5をリリースしました。

主な変更はエラー発生時の処理を追加したことです。今まではエラーが発生するとNode.jsのエラーが出て止まっていた(但しプロセスは終了していない)のですが、僕が設定したエラーメッセージを出した後で処理が継続するようになりました。URLを記述したファイルが読み込めなかった場合はプロセスを終了します。

gotoメソッドのオプション

検証に影響がある変更はページ遷移時のオプションが指定できるようになった点です。Puppeteerのpage.gotoメソッドのオプションを渡すことができ、例えばデフォルトではloadイベント発生時に検証を実行しているところ、ネットワーク接続がなくなるまで待機させるようにすることが可能です。今確認したところでは、YouTube動画を埋め込んでいるページにおいてwaitUntilloadnetworkidle0かで結果が変わりました。

axe-runner.config.jsのサンプルは以下です。

module.exports = {
    navigateOptions: {
        waitUntil: 'networkidle0',
    },
};

そういえば、ページの下までスクロールすると追加のリソースが読みこまれるなど状況が変化することもあるので、ページの下までスクロールした方が良いのでしょうか。また考えてみたいと思いますが、様々な状況に対応するのは難しそうですね。