dequelabs / dequelabs/axe-core
Update frame-tested rule to always run
- 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
Assessment
This issue has not been assessed yet.