dequelabs / dequelabs/axe-core

Update frame-tested rule to always run

Open
#3,123 2 comments 2 reactions 0 assignees View on GitHub
feat
Dominant language
JavaScript
Stars
7.5k
Forks
933
Avg merge
2d 23h
Merged PRs (30d)
17

Description

The `frame-tested` rule is a rule that ensures all iframes on the page have been tested. If an iframe is unable to run `axe.run` for any reason, the rule will return as needs review and list the iframe that was not tested for accessibility issues.

The `frame-tested` rule is currently listed as a `best-practice` rule. This means there are configurations that allow axe to run without reporting errors from iframes. For example: `axe.run({ runOnly: 'labels' })` will only run the label rule and not `frame-tested`. The problem this causes is that if there is an iframe on the page with an invalid label and `axe.run` fails to run in that iframe, the user would never know. We would report 0 violations when in reality there is one (so a false negative).

We should update the `frame-tested` rule so that it always runs and cannot be disabled since it is an error reporting rule (it either passes or returns as needs review). To do this we should remove the `best-practice` tag (leaving the category and `review-item` tags) and ensure axe always run `review-item` tags regardless of the user config.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.