axe-core
Version:
Accessibility engine for automated Web UI testing
38 lines (27 loc) • 2.43 kB
Markdown
# W3C Standardized Rules
Deque Systems is one of leading organizations in the development of standardized accessibility conformance testing rules. The [axe-core rules proposal format](./rule-proposal.md) is an adaptation of the [Accessibility Conformance Testing Rules Format](https://www.w3.org/TR/act-rules-format/).
There are two ways a rule written in the axe-core rule format can be transformed into the ACT Rules format:
## Method 1: Create a single rule
This method is useful for rules with a small number of checks.
1. Add the test input type to it: `rendered page`
2. Add an `assumptions` section, add possible assumptions to it
3. Add an `outcomes` section, describing the different possible outcomes of the rule
4. Add a `Validation Tests` section, that links to the integration tests
5. Update the check to return pass/fail/cantTell instead of true/false/undefined
6. Add control flow to the checks:
- `any` checks should only return `fail` in the last step. All steps leading up to it either return `pass` or say `continue to the next step`.
- `all` and `none` checks should only return `pass` in the last step. All steps leading up to it either return `fail` or say `continue to the next step`.
7. Rename `checks` to `steps` and add a `step X` (where X is the step number) to the heading with the check name.
8. Replace the `tags` section with a `Accessibility Requirements`. The requirements can be determined based on the `wcag###` tags.
## Method 2: Create a rule group
This method is useful for larger rules with `any` checks. This effectively turns every check into its own rule, and turns the rule into a rule group.
1. Copy each check into a new document
2. Add a `steps` heading
3. Add the test input type to it: `rendered page`
4. Add an `assumptions` section, add possible assumptions to it
5. Add an `outcomes` section, describing the different possible outcomes of the rule
6. Copy the `selector` section from the original rule into the new rule documents
7. Update the check to return pass/fail/cantTell instead of true/false/undefined
8. Add a `Validation Tests` section, that links to only those integration tests relevant for this check (now a new rule).
9. Indicate that the new rule is part of a group, using the original axe-core rule ID as the group name.
10. Replace the `tags` section with a `Accessibility Requirements`. The requirements can be determined based on the `wcag###` tags.