diff --git a/.github/ISSUE_TEMPLATE/ACCESSIBILITY_SUPPORT.md b/.github/ISSUE_TEMPLATE/ACCESSIBILITY_SUPPORT.md
index 398f445bf9..43dd3479cc 100644
--- a/.github/ISSUE_TEMPLATE/ACCESSIBILITY_SUPPORT.md
+++ b/.github/ISSUE_TEMPLATE/ACCESSIBILITY_SUPPORT.md
@@ -14,19 +14,19 @@ assignees: ''
- ... List the rules here, link to its acc support section
-## Test cases
+## Examples
-### Test case 1 ...
+### Example 1 ...
-(( Add test case here ))
+(( Add example here ))
```html
code snippet here
```
-[Open this test case]()
+[Open this example]()
-(( Add a link to a code pen or other hosted test case. Keep in mind this test case needs to be accessible and persistent. ))
+(( Add a link to a code pen or other hosted example. Keep in mind this example needs to be accessible and persistent. ))
#### Preconditions
@@ -39,12 +39,12 @@ Before running the test, check your settings. In many cases default settings are
#### Test instructions
-(( Provide instructions on how to test the test case, this should include: ))
+(( Provide instructions on how to test the example, this should include: ))
- Which technologies to use
- Any setting changes necessary to run the test
- Any variation in how to operate the different assistive technologies
-- Step by step instructions on how to check the test case
+- Step by step instructions on how to check the example
- What the expected results are
### External links
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 8ce0f725d1..4bfbd46728 100755
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -9,8 +9,8 @@ Need for Call for Review:
<< check [Process Document on Call for Review](https://act-rules.github.io/pages/design/process/#call-for-review) >>
This can be merged with 1 approval << choose reason: editorial changes to website/test code, adding new contributor, other (explain). >>
This will not require a Call for Review << choose reason(s): editorial changes (including to the applicability, expectation or examples section), changes to assumptions, background, accessibility support, change to website/test code (not rule), other (explain). >>
-This will require a 1 week Call for Review << small changes affecting a small number of test cases, if in doubt do not use this. >>
-This will require a 2 weeks Call for Review << new rule, or substantial changes affecting a large number of test cases, if in doubt, use this. >>
+This will require a 1 week Call for Review << small changes affecting a small number of examples, if in doubt do not use this. >>
+This will require a 2 weeks Call for Review << new rule, or substantial changes affecting a large number of examples, if in doubt, use this. >>
---
diff --git a/.github/scripts/approve-rule.mjs b/.github/scripts/approve-rule.mjs
index 3c74c4a2f7..f4444424d0 100644
--- a/.github/scripts/approve-rule.mjs
+++ b/.github/scripts/approve-rule.mjs
@@ -24,7 +24,7 @@ if (!argv['skip-clone']) {
await createOrCheckoutBranch(config, argv.branch);
await generateApprovedRulePages(config, argv.ruleId);
await updateRuleVersionsYaml(config, argv.ruleId);
-await approveTestCaseJson(config, argv.ruleId);
+await approveexampleJson(config, argv.ruleId);
await commitAndPush(config, `Set ${argv.ruleId} to approved`);
async function generateApprovedRulePages({ tmpDir, rulesDir, glossaryDir, testAssetsDir }, ruleId) {
@@ -67,17 +67,17 @@ async function updateRuleVersionsYaml({ tmpDir }, ruleId) {
console.log(`Added ${ruleId} to rule-versions.yml`);
}
-async function approveTestCaseJson({ tmpDir }, ruleId) {
- let testCaseCount = 0;
- const testCaseJsonPath = `${tmpDir}content-assets/wcag-act-rules/testcases.json`;
- const testCaseJson = JSON.parse(fs.readFileSync(testCaseJsonPath, 'utf8'));
- testCaseJson.testcases.forEach((testCase, index) => {
- if (testCase.ruleId === ruleId) {
+async function approveexampleJson({ tmpDir }, ruleId) {
+ let exampleCount = 0;
+ const exampleJsonPath = `${tmpDir}content-assets/wcag-act-rules/examples.json`;
+ const exampleJson = JSON.parse(fs.readFileSync(exampleJsonPath, 'utf8'));
+ exampleJson.examples.forEach((example, index) => {
+ if (example.ruleId === ruleId) {
// Override rather than update so that `approved` isn't at the bottom
- testCaseJson.testcases[index] = { ruleId, approved: true, ...testCase }
- testCaseCount++
+ exampleJson.examples[index] = { ruleId, approved: true, ...example }
+ exampleCount++
}
});
- console.log(`Set ${testCaseCount} test cases of rule ${ruleId} to be approved in testcases.json`);
- fs.writeFileSync(testCaseJsonPath, JSON.stringify(testCaseJson, null, 2), 'utf8');
+ console.log(`Set ${exampleCount} examples of rule ${ruleId} to be approved in examples.json`);
+ fs.writeFileSync(exampleJsonPath, JSON.stringify(exampleJson, null, 2), 'utf8');
}
diff --git a/.github/scripts/pr-preview.mjs b/.github/scripts/pr-preview.mjs
index 849e52e10f..8b9c144e68 100644
--- a/.github/scripts/pr-preview.mjs
+++ b/.github/scripts/pr-preview.mjs
@@ -4,7 +4,7 @@ import { config, cloneWcagActRules, commitAndPush } from './commons.mjs'
await cloneWcagActRules(config);
await generateProposedRulePages(config);
-await generateTestCases(config);
+await generateexamples(config);
// const commitMessage = (await $`git log -1 --pretty=%B`).stdout;
// await commitAndPush(config, commitMessage);
@@ -18,7 +18,7 @@ async function generateProposedRulePages({ tmpDir, rulesDir, glossaryDir, testAs
`;
}
-async function generateTestCases({ tmpDir, rulesDir, testAssetsDir }) {
+async function generateexamples({ tmpDir, rulesDir, testAssetsDir }) {
await $`node ./node_modules/act-tools/dist/cli/build-examples.js \
--rulesDir "${rulesDir}" \
--testAssetsDir "${testAssetsDir}" \
diff --git a/.github/scripts/wai-build.mjs b/.github/scripts/wai-build.mjs
index b46770a6e5..5c8b18f953 100644
--- a/.github/scripts/wai-build.mjs
+++ b/.github/scripts/wai-build.mjs
@@ -4,7 +4,7 @@ import { config, cloneWcagActRules, commitAndPush } from './commons.mjs'
await cloneWcagActRules(config);
await generateProposedRulePages(config);
-await generateTestCases(config);
+await generateexamples(config);
const commitMessage = (await $`git log -1 --pretty=%B`).stdout;
await commitAndPush(config, commitMessage);
@@ -18,7 +18,7 @@ async function generateProposedRulePages({ tmpDir, rulesDir, glossaryDir, testAs
`;
}
-async function generateTestCases({ tmpDir, rulesDir, testAssetsDir }) {
+async function generateexamples({ tmpDir, rulesDir, testAssetsDir }) {
await $`node ./node_modules/act-tools/dist/cli/build-examples.js \
--rulesDir "${rulesDir}" \
--testAssetsDir "${testAssetsDir}" \
diff --git a/__deprecated__/pages/contribute/rule-feedback.md b/__deprecated__/pages/contribute/rule-feedback.md
index f6b1fda194..f01934aeb1 100644
--- a/__deprecated__/pages/contribute/rule-feedback.md
+++ b/__deprecated__/pages/contribute/rule-feedback.md
@@ -41,7 +41,7 @@ To start giving feedback and doing reviews for draft rules:
We also welcome any feedback and suggestions for changes to already published rules. The published rules should be as precise as possible, limiting the number of potential false positives and false negatives. For this, it is important to draw on as many tool and methodology implementations and expert opinions as possible.
-Feedback and corrections for existing rules can target any of the sections of the rule itself (Applicability, Expectations, Accessibility Support, etc.), as well as the test cases, for example to expand the edge case coverage.
+Feedback and corrections for existing rules can target any of the sections of the rule itself (Applicability, Expectations, Accessibility Support, etc.), as well as the examples, for instance to expand the edge case coverage.
You have several options for correcting existing rules:
diff --git a/__tests__/spelling-ignore.yml b/__tests__/spelling-ignore.yml
index 106dbb404b..230ffe9f98 100644
--- a/__tests__/spelling-ignore.yml
+++ b/__tests__/spelling-ignore.yml
@@ -252,7 +252,7 @@
- 4E00–9FFF
# JSON attributes/ metadata/ methods
-- testcases
+- examples
- ruleId
- ruleName
- rulePage
diff --git a/_rules/__tests__/example-has-heading.js b/_rules/__tests__/example-has-heading.js
new file mode 100644
index 0000000000..74d32004de
--- /dev/null
+++ b/_rules/__tests__/example-has-heading.js
@@ -0,0 +1,29 @@
+const describeRule = require('../../test-utils/describe-rule')
+const getMarkdownAstNodesOfType = require('../../utils/get-markdown-ast-nodes-of-type')
+
+describeRule('example has heading', ({ filename, markdownAST }) => {
+ /**
+ * get all headings of examples (eg: #### Failed Example 1)
+ */
+ const exampleHeadings = getMarkdownAstNodesOfType(markdownAST, 'heading')
+ .filter(({ depth, children }) => {
+ return depth === 4 && children && children.length > 0
+ })
+ .map(({ children }) => {
+ const [textNode] = children
+ return textNode.value
+ })
+
+ /**
+ * get code blocks in markdown body
+ */
+ const exampleCodeSnippets = getMarkdownAstNodesOfType(markdownAST, 'code')
+
+ /**
+ * Check if filename has `id` as a part of the name
+ */
+ test('each example has a heading', () => {
+ const msg = `Not all examples have headings in ${filename}.`
+ expect(exampleHeadings.length, msg).toBe(exampleCodeSnippets.length)
+ })
+})
diff --git a/_rules/__tests__/testcase-html-hint.js b/_rules/__tests__/example-html-hint.js
similarity index 97%
rename from _rules/__tests__/testcase-html-hint.js
rename to _rules/__tests__/example-html-hint.js
index dcc4927c2e..73380756e6 100644
--- a/_rules/__tests__/testcase-html-hint.js
+++ b/_rules/__tests__/example-html-hint.js
@@ -30,7 +30,7 @@ const htmlHintRules = {
'empty-tag-not-self-closed': false,
}
-describeRule('testcases', ruleData => {
+describeRule('examples', ruleData => {
const { frontmatter, body } = ruleData
const { id, name, htmlHintIgnore = [] } = frontmatter
diff --git a/_rules/__tests__/headings.js b/_rules/__tests__/headings.js
index 4c02b35e85..ca21ec2eca 100644
--- a/_rules/__tests__/headings.js
+++ b/_rules/__tests__/headings.js
@@ -58,7 +58,7 @@ describeRule('headings', ruleData => {
/**
* Check for `required` `h2` headings
*/
- const requiredH2 = [`Applicability`, `Background`, `Test Cases`]
+ const requiredH2 = [`Applicability`, `Background`, `Examples`]
const h2Headings = getHeadingOfDepth(headings, 2)
test.each(requiredH2)('has required `h2` - `%s`', heading => {
expect(h2Headings).toContain(heading)
diff --git a/_rules/__tests__/testcase-has-heading.js b/_rules/__tests__/testcase-has-heading.js
deleted file mode 100644
index d6dabdfff4..0000000000
--- a/_rules/__tests__/testcase-has-heading.js
+++ /dev/null
@@ -1,29 +0,0 @@
-const describeRule = require('../../test-utils/describe-rule')
-const getMarkdownAstNodesOfType = require('../../utils/get-markdown-ast-nodes-of-type')
-
-describeRule('testcase has heading', ({ filename, markdownAST }) => {
- /**
- * get all headings of test case examples (eg: #### Failed Example 1)
- */
- const testcaseHeadings = getMarkdownAstNodesOfType(markdownAST, 'heading')
- .filter(({ depth, children }) => {
- return depth === 4 && children && children.length > 0
- })
- .map(({ children }) => {
- const [textNode] = children
- return textNode.value
- })
-
- /**
- * get code blocks in markdown body
- */
- const testcaseCodeSnippets = getMarkdownAstNodesOfType(markdownAST, 'code')
-
- /**
- * Check if filename has `id` as a part of the name
- */
- test('each testcase has a heading', () => {
- const msg = `Not all test cases have headings in ${filename}.`
- expect(testcaseHeadings.length, msg).toBe(testcaseCodeSnippets.length)
- })
-})
diff --git a/_rules/aria-attr-defined-5f99a7.md b/_rules/aria-attr-defined-5f99a7.md
index 294257c0fc..5c3aea66de 100755
--- a/_rules/aria-attr-defined-5f99a7.md
+++ b/_rules/aria-attr-defined-5f99a7.md
@@ -48,7 +48,7 @@ There are no accessibility support issues known.
- [Understanding Success Criterion 4.1.2: Name, Role, Value](https://www.w3.org/WAI/WCAG22/Understanding/name-role-value)
- [Semantics and ARIA](https://developers.google.com/web/fundamentals/accessibility/semantics-aria/)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/aria-hidden-no-focusable-content-6cfa84.md b/_rules/aria-hidden-no-focusable-content-6cfa84.md
index 887398ba5b..5fc7298685 100755
--- a/_rules/aria-hidden-no-focusable-content-6cfa84.md
+++ b/_rules/aria-hidden-no-focusable-content-6cfa84.md
@@ -66,7 +66,7 @@ Some user agents treat the value of `aria-hidden` attribute as case-sensitive.
- [Fourth rule of ARIA use](https://www.w3.org/TR/using-aria/#fourth)
- [Element with presentational children has no focusable content](presentational-children-no-focusable-content-307n5z.md)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/aria-required-context-role-ff89c9.md b/_rules/aria-required-context-role-ff89c9.md
index a499eef039..de507f8541 100755
--- a/_rules/aria-required-context-role-ff89c9.md
+++ b/_rules/aria-required-context-role-ff89c9.md
@@ -46,7 +46,7 @@ This rule is restricted to direct parent-child relation in the [accessibility tr
[Subclass roles][subclass role] of [required context roles][] are not automatically included as possible [required context roles][]. For example, the [`feed`](https://www.w3.org/TR/wai-aria-1.2/#feed) role is not a possible [required context role][] for [`listitem`](https://www.w3.org/TR/wai-aria-1.2/#listitem), even though [`feed`](https://www.w3.org/TR/wai-aria-1.2/#feed) is a [subclass role][] of the [`list`](https://www.w3.org/TR/wai-aria-1.2/#list) role.
-Some user agents try to correct missing [required context roles][] or incorrect [content model][]. This often results, for example, in an isolated list item being presented as part of a one-item list containing only itself. Therefore, most test cases contain several targets to try and circumvent these corrections in order to better demonstrate the issue.
+Some user agents try to correct missing [required context roles][] or incorrect [content model][]. This often results, for example, in an isolated list item being presented as part of a one-item list containing only itself. Therefore, most examples contain several targets to try and circumvent these corrections in order to better demonstrate the issue.
### Assumptions
@@ -63,7 +63,7 @@ The rule assumes that the [explicit role][] of the applicable elements is approp
- [Understanding Success Criterion 1.3.1: Info and Relationships](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html)
- [Required Context Role][]
-## Test Cases
+## Examples
### Passed
@@ -80,7 +80,7 @@ These elements with an [explicit role][] of `listitem` are children in the [acce
#### Passed Example 2
-These elements with an [explicit role][] of `listitem` are children in the [accessibility tree][] of an element with their [required context role][], `list`, expressed as an [implicit role][] of `ul`. Note that this test case does not satisfy [Success Criterion 4.1.1 Parsing][sc411] because the [`ul` element][ul] does not respect its [content model][].
+These elements with an [explicit role][] of `listitem` are children in the [accessibility tree][] of an element with their [required context role][], `list`, expressed as an [implicit role][] of `ul`. Note that this example does not satisfy [Success Criterion 4.1.1 Parsing][sc411] because the [`ul` element][ul] does not respect its [content model][].
```html
diff --git a/_rules/aria-required-id-references-in6db8.md b/_rules/aria-required-id-references-in6db8.md
index e7682cd415..f5590e3dd5 100644
--- a/_rules/aria-required-id-references-in6db8.md
+++ b/_rules/aria-required-id-references-in6db8.md
@@ -53,7 +53,7 @@ Some user agents treat the value of `aria-*` attribute as case-sensitive (even w
- [WAI-ARIA required states and properties](https://www.w3.org/TR/wai-aria-1.2/#requiredState)
- [RFC 3986](https://www.ietf.org/rfc/rfc3986.txt)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/aria-required-owned-element-bc4a75.md b/_rules/aria-required-owned-element-bc4a75.md
index 3c77996079..5f36b4de5b 100755
--- a/_rules/aria-required-owned-element-bc4a75.md
+++ b/_rules/aria-required-owned-element-bc4a75.md
@@ -60,7 +60,7 @@ If the [semantic role][] on the target element is incorrectly used, and any rela
- [Required Owned Element](https://www.w3.org/TR/wai-aria-1.2/#mustContain)
- [Owned Element](https://www.w3.org/TR/wai-aria-1.2/#dfn-owned-element)
-## Test Cases
+## Examples
### Passed
@@ -116,7 +116,7 @@ This element with the `tablist` role only owns elements with the `tab` role. The
This element with the `list` role only owns elements with the `listitem` role through the `aria-owns` attribute. The `listitem` role is one of the [required owned elements][] for `list`.
-**Note:** This test case follows the definition of [owned by][]. If implemented differently, this definition could cause differences in outcome of this test case.
+**Note:** This example follows the definition of [owned by][]. If implemented differently, this definition could cause differences in outcome of this example.
```html
@@ -238,7 +238,7 @@ This element with the `grid` role only owns elements with the `row` role, but th
This element with the `list` role owns an element with the `tab` role through the `aria-owns` attribute. The `tab` role is not one of the [required owned elements][] for `list`.
-**Note:** This test case follows the definition of [owned by][]. If implemented differently, this definition could cause differences in outcome of this test case.
+**Note:** This example follows the definition of [owned by][]. If implemented differently, this definition could cause differences in outcome of this example.
```html
diff --git a/_rules/aria-state-or-property-permitted-5c01ea.md b/_rules/aria-state-or-property-permitted-5c01ea.md
index 6c9f7d43c6..4713f583f7 100755
--- a/_rules/aria-state-or-property-permitted-5c01ea.md
+++ b/_rules/aria-state-or-property-permitted-5c01ea.md
@@ -82,7 +82,7 @@ Implementation of [Presentational Roles Conflict Resolution][] varies from one b
- [ARIA5: Using WAI-ARIA state and property attributes to expose the state of a user interface component](https://www.w3.org/WAI/WCAG22/Techniques/aria/ARIA5)
- [Document conformance requirements for use of ARIA attributes in HTML](https://www.w3.org/TR/html-aria/#docconformance)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/aria-state-or-property-valid-value-6a7281.md b/_rules/aria-state-or-property-valid-value-6a7281.md
index 08d63e8334..53fd6a787c 100755
--- a/_rules/aria-state-or-property-valid-value-6a7281.md
+++ b/_rules/aria-state-or-property-valid-value-6a7281.md
@@ -64,7 +64,7 @@ Some user agents treat the value of `aria-*` attribute as case-sensitive (even w
- [WAI-ARIA 1.2, Characteristics of States and Properties, Value](https://www.w3.org/TR/wai-aria-1.2/#propcharacteristic_value)
- [Uniform Resource Identifier (URI): Generic Syntax (RFC 3986)](https://www.ietf.org/rfc/rfc3986.txt)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/attr-not-duplicated-e6952f.md b/_rules/attr-not-duplicated-e6952f.md
index ead56d70bc..cd79fa268f 100755
--- a/_rules/attr-not-duplicated-e6952f.md
+++ b/_rules/attr-not-duplicated-e6952f.md
@@ -58,7 +58,7 @@ There are no accessibility support issues known.
- [H94: Ensuring that elements do not contain duplicate attributes](https://www.w3.org/WAI/WCAG22/Techniques/html/H94)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/audio-as-media-alternative-afb423.md b/_rules/audio-as-media-alternative-afb423.md
index 4ae5fe56b9..9c6e527c12 100755
--- a/_rules/audio-as-media-alternative-afb423.md
+++ b/_rules/audio-as-media-alternative-afb423.md
@@ -50,7 +50,7 @@ There are no accessibility support issues known.
- [Understanding SC 1.2.1: Audio-only and Video-only (Prerecorded)](https://www.w3.org/WAI/WCAG22/Understanding/audio-only-and-video-only-prerecorded)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/audio-or-video-avoids-automatically-playing-audio-80f0bf.md b/_rules/audio-or-video-avoids-automatically-playing-audio-80f0bf.md
index fb014764b0..50338f8b82 100755
--- a/_rules/audio-or-video-avoids-automatically-playing-audio-80f0bf.md
+++ b/_rules/audio-or-video-avoids-automatically-playing-audio-80f0bf.md
@@ -87,7 +87,7 @@ User agents do not always automatically play media, even when an `autoplay` attr
- [Understanding Success Criterion 1.4.2: Audio Control](https://www.w3.org/WAI/WCAG22/Understanding/audio-control.html)
- [Accessible Multimedia](https://developer.mozilla.org/en-US/docs/Learn/Accessibility/Multimedia)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/audio-text-alternative-e7aa44.md b/_rules/audio-text-alternative-e7aa44.md
index d08d7f5c29..eda9c88f45 100755
--- a/_rules/audio-text-alternative-e7aa44.md
+++ b/_rules/audio-text-alternative-e7aa44.md
@@ -60,7 +60,7 @@ There are no accessibility support issues known.
- [Understanding SC 1.2.1: Audio-only and Video-only (Prerecorded)](https://www.w3.org/WAI/WCAG22/Understanding/audio-only-and-video-only-prerecorded)
- [G158: Providing an alternative for time-based media for audio-only content](https://www.w3.org/WAI/WCAG22/Techniques/general/G158)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/audio-transcript-2eb176.md b/_rules/audio-transcript-2eb176.md
index dd50e09327..5c9d87f52f 100755
--- a/_rules/audio-transcript-2eb176.md
+++ b/_rules/audio-transcript-2eb176.md
@@ -49,7 +49,7 @@ There are no accessibility support issues known.
- [Understanding SC 1.2.1:Audio-only and Video-only (Prerecorded)](https://www.w3.org/WAI/WCAG22/Understanding/audio-only-and-video-only-prerecorded)
- [G158: Providing an alternative for time-based media for audio-only content](https://www.w3.org/WAI/WCAG22/Techniques/general/G158)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/auto-play-audio-does-not-exceed-3-seconds-aaa1bf.md b/_rules/auto-play-audio-does-not-exceed-3-seconds-aaa1bf.md
index deb335b81d..a13b852855 100755
--- a/_rules/auto-play-audio-does-not-exceed-3-seconds-aaa1bf.md
+++ b/_rules/auto-play-audio-does-not-exceed-3-seconds-aaa1bf.md
@@ -59,7 +59,7 @@ There are no accessibility support issues known.
- [G60: Playing a sound that turns off automatically within three seconds](https://www.w3.org/WAI/WCAG22/Techniques/general/G60)
- [G171: Playing sounds only on user request](https://www.w3.org/WAI/WCAG22/Techniques/general/G171)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/auto-play-audio-has-control-mechanism-4c31df.md b/_rules/auto-play-audio-has-control-mechanism-4c31df.md
index 3f4fbe9f37..7e3648fe84 100755
--- a/_rules/auto-play-audio-has-control-mechanism-4c31df.md
+++ b/_rules/auto-play-audio-has-control-mechanism-4c31df.md
@@ -64,7 +64,7 @@ The native `video` and `audio` controls in several browser and assistive technol
- [Failure of Success Criterion 1.4.2 for absence of a way to pause or stop an HTML5 media element that autoplays](https://www.w3.org/WAI/WCAG22/Techniques/failures/F93)
- [G170: Providing a control near the beginning of the Web page that turns off sounds that play automatically](https://www.w3.org/WAI/WCAG22/Techniques/general/G170)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/auto-update-text-efbfc7.md b/_rules/auto-update-text-efbfc7.md
index f2aef7b992..26319d588b 100755
--- a/_rules/auto-update-text-efbfc7.md
+++ b/_rules/auto-update-text-efbfc7.md
@@ -72,7 +72,7 @@ There are no accessibility support issues known.
- [G186: Using a control in the Web page that stops moving, blinking, or auto-updating content][g186]
- [F16: Failure of Success Criterion 2.2.2 due to including scrolling content where movement is not essential to the activity without also including a mechanism to pause and restart the content][f16]
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/autocomplete-valid-value-73f2c2.md b/_rules/autocomplete-valid-value-73f2c2.md
index 0f64916d5d..d744e7b60c 100755
--- a/_rules/autocomplete-valid-value-73f2c2.md
+++ b/_rules/autocomplete-valid-value-73f2c2.md
@@ -77,7 +77,7 @@ The purpose of a control is programmatically identifiable even when its `autocom
- [Definition: programmatically determined (programmatically determinable)](https://www.w3.org/TR/WCAG22/#dfn-programmatically-determinable)
- [Autofill](https://html.spec.whatwg.org/#autofill)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/block-collapsible-3e12e1.md b/_rules/block-collapsible-3e12e1.md
index feb93d6ea6..c726743fb6 100755
--- a/_rules/block-collapsible-3e12e1.md
+++ b/_rules/block-collapsible-3e12e1.md
@@ -51,9 +51,9 @@ There are no accessibility support issues known.
- [Technique SCR28: Using an expandable and collapsible menu to bypass block of content][tech scr28]
-## Test Cases
+## Examples
-To avoid using landmarks for the non-repeated content, which would satisfy [Success Criterion 2.4.1 Bypass Block][sc241], which this rule is designed for, this rule uses `
` in its test cases to indicate where non-repeating content exists. It is recommended to use the `main` landmark instead. The `aside` and `nav` elements are each a [block of repeated content][] due to the link inside the `nav` element to a page with similar [blocks of content][block of content].
+To avoid using landmarks for the non-repeated content, which would satisfy [Success Criterion 2.4.1 Bypass Block][sc241], which this rule is designed for, this rule uses `
` in its examples to indicate where non-repeating content exists. It is recommended to use the `main` landmark instead. The `aside` and `nav` elements are each a [block of repeated content][] due to the link inside the `nav` element to a page with similar [blocks of content][block of content].
### Passed
diff --git a/_rules/button-non-empty-accessible-name-97a4e1.md b/_rules/button-non-empty-accessible-name-97a4e1.md
index a495ff01c5..ba2e8077c0 100755
--- a/_rules/button-non-empty-accessible-name-97a4e1.md
+++ b/_rules/button-non-empty-accessible-name-97a4e1.md
@@ -56,7 +56,7 @@ This rule considers an exception for "image buttons" (i.e., `input` elements wit
- [ARIA14: Using aria-label to provide an invisible label where a visible label cannot be used](https://www.w3.org/WAI/WCAG22/Techniques/aria/ARIA14)
- [ARIA16: Using aria-labelledby to provide a name for user interface controls](https://www.w3.org/WAI/WCAG22/Techniques/aria/ARIA16)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/bypass-blocks-cf77f2.md b/_rules/bypass-blocks-cf77f2.md
index 3297dc71d1..7be99e26bd 100755
--- a/_rules/bypass-blocks-cf77f2.md
+++ b/_rules/bypass-blocks-cf77f2.md
@@ -97,9 +97,9 @@ This rule only checks if there is a way to bypass at least one section of repeat
- [Technique H69: Providing heading elements at the beginning of each section of content][tech h69]
- [Technique SCR28: Using an expandable and collapsible menu to bypass block of content][tech scr28]
-To avoid using landmarks for the non-repeated content, which would satisfy [Success Criterion 2.4.1 Bypass Block][sc241], this rule uses `
` in its test cases to indicate where non-repeating content exists. It is recommended to use the `main` landmark instead. The `aside` and `nav` elements are each a [block of repeated content][] due to the link inside the `nav` element to a page with similar [blocks of content][block of content].
+To avoid using landmarks for the non-repeated content, which would satisfy [Success Criterion 2.4.1 Bypass Block][sc241], this rule uses `
` in its examples to indicate where non-repeating content exists. It is recommended to use the `main` landmark instead. The `aside` and `nav` elements are each a [block of repeated content][] due to the link inside the `nav` element to a page with similar [blocks of content][block of content].
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/css-restrict-orientation-b33eff.md b/_rules/css-restrict-orientation-b33eff.md
index 36c9a9b4e3..7c4239caa5 100755
--- a/_rules/css-restrict-orientation-b33eff.md
+++ b/_rules/css-restrict-orientation-b33eff.md
@@ -70,7 +70,7 @@ There are no accessibility support issues known.
- [Orientation](https://www.w3.org/TR/css3-mediaqueries/#orientation)
- [The Transform Rendering Model](https://drafts.csswg.org/css-transforms/#transform-rendering)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/device-motion-disabled-c249d5.md b/_rules/device-motion-disabled-c249d5.md
index 1a3d6c9c2e..6b93b97963 100755
--- a/_rules/device-motion-disabled-c249d5.md
+++ b/_rules/device-motion-disabled-c249d5.md
@@ -62,7 +62,7 @@ There are no accessibility support issues known.
- [G213: Provide conventional controls and an application setting for motion activated input](https://www.w3.org/WAI/WCAG22/Techniques/general/G213.html)
- [DeviceOrientation Event Specification](https://www.w3.org/TR/orientation-event/)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/device-motion-user-interface-7677a9.md b/_rules/device-motion-user-interface-7677a9.md
index 9b6d137b8d..e015007638 100755
--- a/_rules/device-motion-user-interface-7677a9.md
+++ b/_rules/device-motion-user-interface-7677a9.md
@@ -59,7 +59,7 @@ There are no accessibility support issues known.
- [G213: Provide conventional controls and an application setting for motion activated input](https://www.w3.org/WAI/WCAG22/Techniques/general/G213.html)
- [DeviceOrientation Event Specification](https://www.w3.org/TR/orientation-event/)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/document-has-headings-for-non-repeated-content-047fe0.md b/_rules/document-has-headings-for-non-repeated-content-047fe0.md
index abf74b7152..ba8679c0f0 100755
--- a/_rules/document-has-headings-for-non-repeated-content-047fe0.md
+++ b/_rules/document-has-headings-for-non-repeated-content-047fe0.md
@@ -60,9 +60,9 @@ Neither this rule, nor technique [H69: Providing heading elements at the beginni
- [H69: Providing heading elements at the beginning of each section of content][h69]
- [CSS Scoping (work in progress)](https://drafts.csswg.org/css-scoping/)
-## Test Cases
+## Examples
-To avoid using landmarks for the non-repeated content, which would satisfy [Success Criterion 2.4.1 Bypass Block][sc241], which this rule is designed for, this rule uses `
` in its test cases to indicate where non-repeating content exists. It is recommended to use the `main` landmark instead. The `nav` element is a [block of repeated content][] due to the link inside it to a page with similar [blocks of content][block of content].
+To avoid using landmarks for the non-repeated content, which would satisfy [Success Criterion 2.4.1 Bypass Block][sc241], which this rule is designed for, this rule uses `
` in its examples to indicate where non-repeating content exists. It is recommended to use the `main` landmark instead. The `nav` element is a [block of repeated content][] due to the link inside it to a page with similar [blocks of content][block of content].
### Passed
diff --git a/_rules/document-has-instrument-to-non-repeated-content-ye5d6e.md b/_rules/document-has-instrument-to-non-repeated-content-ye5d6e.md
index f43fd80daa..54b449d766 100755
--- a/_rules/document-has-instrument-to-non-repeated-content-ye5d6e.md
+++ b/_rules/document-has-instrument-to-non-repeated-content-ye5d6e.md
@@ -63,9 +63,9 @@ There are no accessibility support issues known.
- [Technique G123: Adding a link at the beginning of a block of repeated content to go to the end of the block][tech g123]
- [Technique G124: Adding links at the top of the page to each area of the content][tech g124]
-## Test Cases
+## Examples
-To avoid using landmarks for the non-repeated content, which would satisfy [Success Criterion 2.4.1 Bypass Block][sc241], which this rule is designed for, this rule uses `
` in its test cases to indicate where non-repeating content exists. It is recommended to use the `main` landmark instead. The `aside` and `nav` elements are each a [block of repeated content][] due to the link inside the `nav` element to a page with similar [blocks of content][block of content].
+To avoid using landmarks for the non-repeated content, which would satisfy [Success Criterion 2.4.1 Bypass Block][sc241], which this rule is designed for, this rule uses `
` in its examples to indicate where non-repeating content exists. It is recommended to use the `main` landmark instead. The `aside` and `nav` elements are each a [block of repeated content][] due to the link inside the `nav` element to a page with similar [blocks of content][block of content].
Due to the differences between the 3 techniques considered here, it is almost impossible to pass all of them at the same time. The first few Passed Examples illustrate these differences and pass different techniques. The rest of the Passed Examples illustrate variations inside the rule and are based on cases that pass [Technique G1: Adding a link at the top of each page that goes directly to the main content area][tech g1] given that it is simpler than the other two.
diff --git a/_rules/document-has-landmark-with-non-repeated-content-b40fd1.md b/_rules/document-has-landmark-with-non-repeated-content-b40fd1.md
index 225e33db8c..058a77e8fb 100755
--- a/_rules/document-has-landmark-with-non-repeated-content-b40fd1.md
+++ b/_rules/document-has-landmark-with-non-repeated-content-b40fd1.md
@@ -54,7 +54,7 @@ Marking content with landmarks is sufficient to pass [Success Criterion 2.4.1 By
- [CSS scoping (work in progress)](https://drafts.csswg.org/css-scoping/)
- [The `main` role](https://www.w3.org/TR/wai-aria-1.2/#main)
-## Test Cases
+## Examples
In most examples, the `nav` element is a [block of repeated content][].
diff --git a/_rules/element-lang-matches-default-language-off6ek.md b/_rules/element-lang-matches-default-language-off6ek.md
index 19ce1f21fa..ecaa522668 100644
--- a/_rules/element-lang-matches-default-language-off6ek.md
+++ b/_rules/element-lang-matches-default-language-off6ek.md
@@ -74,7 +74,7 @@ There are no accessibility support issues known.
In all examples, the `html` element has itself a `lang` attribute in order to make sure that the examples satisfy [Success Criterion 3.1.1 Language of Page](https://www.w3.org/TR/WCAG22/#language-of-page). These `html` elements are, however, never applicable because they are not descendants of a `body` element, and the example descriptions do not mention them further.
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/element-lang-valid-de46e4.md b/_rules/element-lang-valid-de46e4.md
index d44d157c07..4d02b8a261 100755
--- a/_rules/element-lang-valid-de46e4.md
+++ b/_rules/element-lang-valid-de46e4.md
@@ -63,7 +63,7 @@ There are differences in how assistive technologies handle unknown and invalid l
- [RFC 5646: Tags for Identifying Languages](https://www.rfc-editor.org/rfc/rfc5646.html)
- [Understanding Success Criterion 3.1.2: Language of Parts](https://www.w3.org/WAI/WCAG22/Understanding/language-of-parts)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/element-marked-decorative-is-not-exposed-46ca7f.md b/_rules/element-marked-decorative-is-not-exposed-46ca7f.md
index 538f12430d..b71a15c370 100755
--- a/_rules/element-marked-decorative-is-not-exposed-46ca7f.md
+++ b/_rules/element-marked-decorative-is-not-exposed-46ca7f.md
@@ -47,7 +47,7 @@ There are no assumptions.
Implementation of the [Presentational Roles Conflict Resolution][] differs slightly from one user agent to the other. Hence, some elements might be exposed by one user agent and not by another, and consequently might create accessibility issues only for some users. Nevertheless, triggering the conflict is a bad practice.
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/explicit-SVG-image-non-empty-accessible-name-7d6734.md b/_rules/explicit-SVG-image-non-empty-accessible-name-7d6734.md
index b857fdf098..122ece8958 100755
--- a/_rules/explicit-SVG-image-non-empty-accessible-name-7d6734.md
+++ b/_rules/explicit-SVG-image-non-empty-accessible-name-7d6734.md
@@ -54,7 +54,7 @@ Until browser support for the [SVG Accessibility API Mappings][] is more consist
- [ARIA6: Using aria-label to provide labels for objects](https://www.w3.org/WAI/WCAG22/Techniques/aria/ARIA6)
- [ARIA10: Using aria-labelledby to provide a text alternative for non-text content](https://www.w3.org/WAI/WCAG22/Techniques/aria/ARIA10)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/focusable-no-keyboard-trap-80af7b.md b/_rules/focusable-no-keyboard-trap-80af7b.md
index a45c1f6236..f7064aed87 100755
--- a/_rules/focusable-no-keyboard-trap-80af7b.md
+++ b/_rules/focusable-no-keyboard-trap-80af7b.md
@@ -63,7 +63,7 @@ There are no accessibility support issues known.
- [G21: Ensuring that users are not trapped in content](https://www.w3.org/WAI/WCAG22/Techniques/general/G21)
- [F10: Failure of Success Criterion 2.1.2 and Conformance Requirement 5 due to combining multiple content formats in a way that traps users inside one format type](https://www.w3.org/WAI/WCAG22/Techniques/failures/F10)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/focusable-no-keyboard-trap-non-standard-nav-ebe86a.md b/_rules/focusable-no-keyboard-trap-non-standard-nav-ebe86a.md
index e03dd63300..c4709b57ea 100755
--- a/_rules/focusable-no-keyboard-trap-non-standard-nav-ebe86a.md
+++ b/_rules/focusable-no-keyboard-trap-non-standard-nav-ebe86a.md
@@ -59,7 +59,7 @@ Some browsers have settings that will immediately cycle focus back to the web do
- [G21: Ensuring that users are not trapped in content](https://www.w3.org/WAI/WCAG22/Techniques/general/G21)
- [F10: Failure of Success Criterion 2.1.2 and Conformance Requirement 5 due to combining multiple content formats in a way that traps users inside one format type](https://www.w3.org/WAI/WCAG22/Techniques/failures/F10)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/focusable-no-keyboard-trap-standard-nav-a1b64e.md b/_rules/focusable-no-keyboard-trap-standard-nav-a1b64e.md
index 9eee0be6ca..850782984b 100755
--- a/_rules/focusable-no-keyboard-trap-standard-nav-a1b64e.md
+++ b/_rules/focusable-no-keyboard-trap-standard-nav-a1b64e.md
@@ -52,7 +52,7 @@ Some browsers have settings that will immediately cycle focus back to the web do
- [G21: Ensuring that users are not trapped in content](https://www.w3.org/WAI/WCAG22/Techniques/general/G21)
- [F10: Failure of Success Criterion 2.1.2 and Conformance Requirement 5 due to combining multiple content formats in a way that traps users inside one format type](https://www.w3.org/WAI/WCAG22/Techniques/failures/F10)
-## Test Cases
+## Examples
### Passed
@@ -88,43 +88,43 @@ use [standard keyboard navigation](#standard-keyboard-navigation) using the Esca
```html
```
diff --git a/_rules/form-field-label-descriptive-cc0f0a.md b/_rules/form-field-label-descriptive-cc0f0a.md
index 6487aab98e..a2262cfce7 100755
--- a/_rules/form-field-label-descriptive-cc0f0a.md
+++ b/_rules/form-field-label-descriptive-cc0f0a.md
@@ -85,7 +85,7 @@ Having a [label][] which is not included in the [accessible name][] is a violati
- [H44: Using label elements to associate text labels with form controls](https://www.w3.org/WAI/WCAG22/Techniques/html/H44)
- [ARIA16: Using aria-labelledby to provide a name for user interface controls](https://www.w3.org/WAI/WCAG22/Techniques/aria/ARIA16)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/form-field-non-empty-accessible-name-e086e5.md b/_rules/form-field-non-empty-accessible-name-e086e5.md
index 3f7d311a03..62f2a04264 100755
--- a/_rules/form-field-non-empty-accessible-name-e086e5.md
+++ b/_rules/form-field-non-empty-accessible-name-e086e5.md
@@ -62,7 +62,7 @@ There are no assumptions.
- [H44: Using label elements to associate text labels with form controls](https://www.w3.org/WAI/WCAG22/Techniques/html/H44)
- [H65: Using the title attribute to identify form controls when the label element cannot be used](https://www.w3.org/WAI/WCAG22/Techniques/html/H65)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/heading-descriptive-b49b2e.md b/_rules/heading-descriptive-b49b2e.md
index ab7f69a2a4..f8a6309a89 100755
--- a/_rules/heading-descriptive-b49b2e.md
+++ b/_rules/heading-descriptive-b49b2e.md
@@ -59,7 +59,7 @@ Implementation of [Presentational Roles Conflict Resolution][] varies from one b
- [ARIA12: Using role=heading to identify headings](https://www.w3.org/WAI/WCAG22/Techniques/aria/ARIA12)
- [HTML Specification - Heading content](https://html.spec.whatwg.org/#heading-content)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/heading-non-empty-accessible-name-ffd0e9.md b/_rules/heading-non-empty-accessible-name-ffd0e9.md
index eefb17d011..c2168460c1 100755
--- a/_rules/heading-non-empty-accessible-name-ffd0e9.md
+++ b/_rules/heading-non-empty-accessible-name-ffd0e9.md
@@ -53,7 +53,7 @@ There are no assumptions.
- [Understanding Success Criterion 1.3.1: Info and Relationships][usc131]
- [Technique H42: Using h1-h6 to identify headings][tech h42]
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/html-page-lang-b5c3f8.md b/_rules/html-page-lang-b5c3f8.md
index 80b14f8a54..548c8fa664 100755
--- a/_rules/html-page-lang-b5c3f8.md
+++ b/_rules/html-page-lang-b5c3f8.md
@@ -62,7 +62,7 @@ There are no accessibility support issues known.
- [RFC 5646: Tags for Identifying Languages](https://www.rfc-editor.org/rfc/rfc5646.html)
- [The `lang` and `xml:lang` attributes](https://html.spec.whatwg.org/multipage/dom.html#the-lang-and-xml:lang-attributes)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/html-page-lang-matches-default-ucwvc8.md b/_rules/html-page-lang-matches-default-ucwvc8.md
index 816fe70393..62ebdc26ec 100755
--- a/_rules/html-page-lang-matches-default-ucwvc8.md
+++ b/_rules/html-page-lang-matches-default-ucwvc8.md
@@ -75,7 +75,7 @@ There are no accessibility support issues known.
- [RFC 5646: Tags for Identifying Languages](https://www.rfc-editor.org/rfc/rfc5646.html)
- [The `lang` and `xml:lang` attributes](https://html.spec.whatwg.org/multipage/dom.html#the-lang-and-xml:lang-attributes)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/html-page-lang-valid-bf051a.md b/_rules/html-page-lang-valid-bf051a.md
index 93c9f08949..9fbe23637c 100755
--- a/_rules/html-page-lang-valid-bf051a.md
+++ b/_rules/html-page-lang-valid-bf051a.md
@@ -67,7 +67,7 @@ This rule is only applicable to non-embedded HTML pages. HTML pages embedded int
- [RFC 5646: Tags for Identifying Languages](https://www.rfc-editor.org/rfc/rfc5646.html)
- [The `lang` and `xml:lang` attributes](https://html.spec.whatwg.org/multipage/dom.html#the-lang-and-xml:lang-attributes)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/html-page-lang-xml-lang-match-5b7ae0.md b/_rules/html-page-lang-xml-lang-match-5b7ae0.md
index c62bf1e79d..2a4940fc8f 100755
--- a/_rules/html-page-lang-xml-lang-match-5b7ae0.md
+++ b/_rules/html-page-lang-xml-lang-match-5b7ae0.md
@@ -61,7 +61,7 @@ Since most assistive technologies will consistently use `lang` over `xml:lang` w
- [RFC 5646: Tags for Identifying Languages](https://www.rfc-editor.org/rfc/rfc5646.html)
- [The `lang` and `xml:lang` attributes](https://html.spec.whatwg.org/multipage/dom.html#the-lang-and-xml:lang-attributes)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/html-page-non-empty-title-2779a5.md b/_rules/html-page-non-empty-title-2779a5.md
index 5bff5770ec..0e62b60197 100755
--- a/_rules/html-page-non-empty-title-2779a5.md
+++ b/_rules/html-page-non-empty-title-2779a5.md
@@ -75,7 +75,7 @@ There are no accessibility support issues known.
- [H25: Providing a title using the title element](https://www.w3.org/WAI/WCAG22/Techniques/html/H25)
- [HTML Specification - The `title` element](https://html.spec.whatwg.org/#the-title-element)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/html-page-title-descriptive-c4a8a4.md b/_rules/html-page-title-descriptive-c4a8a4.md
index 6f77d30ae6..62f45617df 100755
--- a/_rules/html-page-title-descriptive-c4a8a4.md
+++ b/_rules/html-page-title-descriptive-c4a8a4.md
@@ -71,7 +71,7 @@ There are currently no assumptions.
- [Technique G88: Providing descriptive titles for Web pages](https://www.w3.org/WAI/WCAG22/Techniques/general/G88)
- [Technique H25: Providing a title using the title element](https://www.w3.org/WAI/WCAG22/Techniques/html/H25)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/id-value-unique-3ea0c8.md b/_rules/id-value-unique-3ea0c8.md
index 4e50202bfe..2f084ff665 100755
--- a/_rules/id-value-unique-3ea0c8.md
+++ b/_rules/id-value-unique-3ea0c8.md
@@ -59,7 +59,7 @@ There are no accessibility support issues known.
- [Understanding Success Criterion 4.1.1: Parsing](https://www.w3.org/WAI/WCAG22/Understanding/parsing)
- [H93: Ensuring that id attributes are unique on a Web page](https://www.w3.org/WAI/WCAG22/Techniques/html/H93)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/iframe-identical-name-equivalent-purpose-4b1c6c.md b/_rules/iframe-identical-name-equivalent-purpose-4b1c6c.md
index d66bb91c32..c1c481d68c 100755
--- a/_rules/iframe-identical-name-equivalent-purpose-4b1c6c.md
+++ b/_rules/iframe-identical-name-equivalent-purpose-4b1c6c.md
@@ -54,7 +54,7 @@ This rule assumes that assistive technologies are exposing all `iframe` elements
- [H64: Using the title attribute of the frame and iframe elements](https://www.w3.org/WAI/WCAG22/Techniques/html/H64)
- [Understanding Success Criterion 4.1.2: Name, Role, Value][usc412]
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/iframe-non-empty-accessible-name-cae760.md b/_rules/iframe-non-empty-accessible-name-cae760.md
index 878f83cff6..7cb2d8673e 100755
--- a/_rules/iframe-non-empty-accessible-name-cae760.md
+++ b/_rules/iframe-non-empty-accessible-name-cae760.md
@@ -58,7 +58,7 @@ If an `iframe` is not perceived by the user as a single control, it does not qua
- [Understanding Success Criterion 4.1.2](https://www.w3.org/WAI/WCAG22/Understanding/name-role-value.html)
- [User interface component][]
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/iframe-with-interactive-content-in-tab-order-akn7bn.md b/_rules/iframe-with-interactive-content-in-tab-order-akn7bn.md
index 50710ad9d2..a7aba70ff3 100644
--- a/_rules/iframe-with-interactive-content-in-tab-order-akn7bn.md
+++ b/_rules/iframe-with-interactive-content-in-tab-order-akn7bn.md
@@ -64,7 +64,7 @@ There are no accessibility support issues known.
- [Understanding Success Criterion 2.1.1: Keyboard](https://www.w3.org/WAI/WCAG22/Understanding/keyboard)
- [WCAG Technique G202: Ensuring keyboard control for all functionality](https://www.w3.org/WAI/WCAG22/Techniques/general/G202)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/image-accessible-name-descriptive-qt1vmo.md b/_rules/image-accessible-name-descriptive-qt1vmo.md
index d73c90fb86..c0be12afbb 100755
--- a/_rules/image-accessible-name-descriptive-qt1vmo.md
+++ b/_rules/image-accessible-name-descriptive-qt1vmo.md
@@ -70,7 +70,7 @@ Some popular browser / screen reader combinations do not pronounce the accessibl
- [G95: Providing short text alternatives that provide a brief description of the non-text content](https://www.w3.org/WAI/WCAG22/Techniques/general/G95)
- [F30: Failure of Success Criterion 1.1.1 and 1.2.1 due to using text alternatives that are not alternatives (e.g., filenames or placeholder text)](https://www.w3.org/WAI/WCAG22/Techniques/failures/F30)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/image-button-non-empty-accessible-name-59796f.md b/_rules/image-button-non-empty-accessible-name-59796f.md
index 415252e933..1561bc5e4d 100755
--- a/_rules/image-button-non-empty-accessible-name-59796f.md
+++ b/_rules/image-button-non-empty-accessible-name-59796f.md
@@ -72,7 +72,7 @@ The [input type="image" Accessible Name Computation algorithm](https://www.w3.or
- [WCAG Technique H36: Using alt attributes on images used as submit buttons](https://www.w3.org/WAI/WCAG22/Techniques/html/H36)
- [HTML Accessibility API Mappings for computing the accessible name of image buttons](https://www.w3.org/TR/html-aam-1.0/#input-type-image)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/image-filename-as-accessible-name-9eb3f6.md b/_rules/image-filename-as-accessible-name-9eb3f6.md
index 2f9c3fcc0d..e5ce2987db 100755
--- a/_rules/image-filename-as-accessible-name-9eb3f6.md
+++ b/_rules/image-filename-as-accessible-name-9eb3f6.md
@@ -76,7 +76,7 @@ There are no accessibility support issues known.
- [G94: Providing short text alternative for non-text content that serves the same purpose and presents the same information as the non-text content](https://www.w3.org/WAI/WCAG22/Techniques/general/G94)
- [G95: Providing short text alternatives that provide a brief description of the non-text content](https://www.w3.org/WAI/WCAG22/Techniques/general/G95)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/image-no-text-0va7u6.md b/_rules/image-no-text-0va7u6.md
index 8ab32d578b..c45938d06e 100644
--- a/_rules/image-no-text-0va7u6.md
+++ b/_rules/image-no-text-0va7u6.md
@@ -62,7 +62,7 @@ There are no accessibility support issues known.
- [Understanding Success Criterion 1.4.5: Images of Text][sc1.4.5]
- [Understanding Success Criterion 1.4.9: Images of Text (No Exception)][sc1.4.9]
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/image-non-empty-accessible-name-23a2a8.md b/_rules/image-non-empty-accessible-name-23a2a8.md
index 984f124393..6365dce684 100755
--- a/_rules/image-non-empty-accessible-name-23a2a8.md
+++ b/_rules/image-non-empty-accessible-name-23a2a8.md
@@ -71,7 +71,7 @@ There are no assumptions.
- [F38: Failure of Success Criterion 1.1.1 due to not marking up decorative images in HTML in a way that allows assistive technology to ignore them](https://www.w3.org/WAI/WCAG22/Techniques/failures/F38)
- [F65: Failure of Success Criterion 1.1.1 due to omitting the alt attribute or text alternative on img elements, area elements, and input elements of type "image"](https://www.w3.org/WAI/WCAG22/Techniques/failures/F65)
-## Test Cases
+## Examples
### Passed
diff --git a/_rules/image-not-in-acc-tree-is-decorative-e88epe.md b/_rules/image-not-in-acc-tree-is-decorative-e88epe.md
index 22d1c052b4..3d2a8ad4cf 100755
--- a/_rules/image-not-in-acc-tree-is-decorative-e88epe.md
+++ b/_rules/image-not-in-acc-tree-is-decorative-e88epe.md
@@ -71,7 +71,7 @@ However, browser implementations vary. Some browsers expose `