Test Cases
All ACT rules include a number of test cases, which are designed for easy consumption by accessibility test tools and test methodologies. Test cases are updated regularly as part of rule writing. All test cases are described in a JSON file:
See the Test Cases JSONNote: Based on the file extension specified for a test case within the examples code snippet (e.g.: html, svg, xhtml), the corresponding DOCTYPE
, if applicable, is dynamically added to the generated HTML test case file.
Test Case Format
In the testcases.json
file, test cases are included on the testcases
array, each with the following properties:
testcaseId
: Hash of the test case, changes when the test case is updatedurl
: Standalone page containing the test case.expected
: Expected outcome of the test case (passed
,failed
, orinapplicable
)ruleId
: Unique identifier for the rule.ruleName
: Title of the rule the test case is forrulePage
: Page containing a detailed rule description.ruleAccessibilityRequirements
: Array of success criteria and other accessibility requirements not satisfied when the rulefailed
{
"name": "ACT-Rules Community test cases",
"license": "https://act-rules.github.io/pages/license/",
"count": 558,
"testcases": [
{
"testcaseId": "55f3ed0ec0f324514a0d223b737bc1e4c81593c7",
"url": "https://act-rules.github.io/testcases/5f99a7/55f3ed0ec0f324514a0d223b737bc1e4c81593c7.html",
"expected": "passed",
"ruleId": "5f99a7",
"ruleName": "ARIA attribute is valid",
"rulePage": "https://act-rules.github.io/rules/5f99a7",
"ruleAccessibilityRequirements": ["wcag20:4.1.2"]
}, ... ]
}
Running The Test Cases
To run the test cases, go through each URL run the necessary tests on that page. Tools and test procedures do not need to have a one-to-one mapping to ACT-R rules. While you could run all tests in an implementation on every test case, for efficiency we recommend doing one of the following:
- Only run tests relevant for the
ruleAccessibilityRequirements
(e.g. for a test case that maps to success criterion 1.1.1, only run tests related to success criterion 1.1.1) - Maintain a manual many-to-many mapping of rules in your implementation to ACT-R Rules
Correctness of an implementation is based on the results for test cases. See implementation mapping for more information.
Contribute An Implementation
If you developed an accessibility tool or a testing methodology, and would like to have your implementation included in the ACT-R website, there are two ways you can do so.
- If you have a tool that can return a data format, you will need to run your tests against the ACT-R test cases and submit a report.
- If you have a manual test methodology, where you fill results into some report template or tool, you can Use the WCAG-EM Report Tool instead to produce implementation reports.