@verndale/accessibility-standards 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/OPERATING.md +1 -1
  2. package/README.md +1 -1
  3. package/dist/manifest.json +156 -116
  4. package/dist/profiles/ai-orchestration/coverage-manifest.json +702 -153
  5. package/dist/profiles/ai-orchestration/implementation/accessibility.md +523 -42
  6. package/dist/profiles/ai-orchestration/pattern-contracts.json +892 -306
  7. package/dist/profiles/ai-orchestration/patterns/accordion.md +6 -1
  8. package/dist/profiles/ai-orchestration/patterns/alert.md +6 -1
  9. package/dist/profiles/ai-orchestration/patterns/carousel.md +6 -1
  10. package/dist/profiles/ai-orchestration/patterns/checkbox.md +27 -0
  11. package/dist/profiles/ai-orchestration/patterns/combobox.md +6 -1
  12. package/dist/profiles/ai-orchestration/patterns/consequential-submission.md +8 -3
  13. package/dist/profiles/ai-orchestration/patterns/dialog.md +6 -1
  14. package/dist/profiles/ai-orchestration/patterns/disclosure.md +6 -1
  15. package/dist/profiles/ai-orchestration/patterns/dynamic-status.md +6 -1
  16. package/dist/profiles/ai-orchestration/patterns/field.md +7 -1
  17. package/dist/profiles/ai-orchestration/patterns/image.md +6 -1
  18. package/dist/profiles/ai-orchestration/patterns/listbox.md +6 -1
  19. package/dist/profiles/ai-orchestration/patterns/media-player.md +9 -1
  20. package/dist/profiles/ai-orchestration/patterns/menu-button.md +6 -1
  21. package/dist/profiles/ai-orchestration/patterns/menu.md +30 -0
  22. package/dist/profiles/ai-orchestration/patterns/pagination.md +6 -1
  23. package/dist/profiles/ai-orchestration/patterns/popover.md +7 -1
  24. package/dist/profiles/ai-orchestration/patterns/progress.md +7 -1
  25. package/dist/profiles/ai-orchestration/patterns/radio-group.md +27 -0
  26. package/dist/profiles/ai-orchestration/patterns/slider.md +31 -0
  27. package/dist/profiles/ai-orchestration/patterns/spinbutton.md +28 -0
  28. package/dist/profiles/ai-orchestration/patterns/tabs.md +6 -1
  29. package/dist/profiles/ai-orchestration/patterns/tooltip.md +6 -1
  30. package/dist/profiles/ai-orchestration/patterns/tree-view.md +31 -0
  31. package/dist/profiles/ai-orchestration/patterns/validation.md +7 -1
  32. package/dist/profiles/ai-orchestration/review/accessibility.md +14 -6
  33. package/dist/profiles/ai-orchestration/semantics/accessible-authentication.md +13 -0
  34. package/dist/profiles/ai-orchestration/semantics/accessible-name.md +8 -2
  35. package/dist/profiles/ai-orchestration/semantics/alert.md +7 -1
  36. package/dist/profiles/ai-orchestration/semantics/consequential-action.md +6 -2
  37. package/dist/profiles/ai-orchestration/semantics/consistent-help.md +13 -0
  38. package/dist/profiles/ai-orchestration/semantics/data-table.md +7 -2
  39. package/dist/profiles/ai-orchestration/semantics/dragging-alternative.md +13 -0
  40. package/dist/profiles/ai-orchestration/semantics/expanded-state.md +6 -1
  41. package/dist/profiles/ai-orchestration/semantics/focus.initial.md +4 -1
  42. package/dist/profiles/ai-orchestration/semantics/focus.return.md +4 -1
  43. package/dist/profiles/ai-orchestration/semantics/focus.visible.md +8 -2
  44. package/dist/profiles/ai-orchestration/semantics/form-error.md +8 -2
  45. package/dist/profiles/ai-orchestration/semantics/form-label.md +7 -1
  46. package/dist/profiles/ai-orchestration/semantics/form-required.md +7 -1
  47. package/dist/profiles/ai-orchestration/semantics/headings.md +7 -1
  48. package/dist/profiles/ai-orchestration/semantics/keyboard.escape.md +4 -1
  49. package/dist/profiles/ai-orchestration/semantics/keyboard.md +7 -1
  50. package/dist/profiles/ai-orchestration/semantics/landmarks.md +6 -1
  51. package/dist/profiles/ai-orchestration/semantics/live-status.md +7 -2
  52. package/dist/profiles/ai-orchestration/semantics/media-alternatives.md +11 -1
  53. package/dist/profiles/ai-orchestration/semantics/motion-control.md +8 -2
  54. package/dist/profiles/ai-orchestration/semantics/name-role-value.md +6 -2
  55. package/dist/profiles/ai-orchestration/semantics/native-dialog.md +7 -1
  56. package/dist/profiles/ai-orchestration/semantics/native-elements.md +5 -1
  57. package/dist/profiles/ai-orchestration/semantics/non-text-alternative.md +5 -1
  58. package/dist/profiles/ai-orchestration/semantics/redundant-entry.md +13 -0
  59. package/dist/profiles/ai-orchestration/semantics/roles-states-properties.md +6 -1
  60. package/dist/profiles/ai-orchestration/semantics/selected-state.md +6 -1
  61. package/dist/profiles/ai-orchestration/semantics/target-size.md +6 -2
  62. package/dist/profiles/ai-orchestration/semantics.json +826 -130
  63. package/dist/profiles/ai-orchestration/testing/accessibility.md +33 -3
  64. package/dist/profiles/ai-orchestration/ui-design-brain-bindings.json +287 -307
  65. package/dist/profiles/conductor/a11y-semantics.md +249 -10
  66. package/dist/profiles/conductor/accessibility-quality.md +275 -33
  67. package/dist/profiles/conductor/applicability-matrix.json +226 -269
  68. package/dist/profiles/conductor/coverage-manifest.json +702 -153
  69. package/dist/profiles/conductor/pattern-contracts.json +892 -306
  70. package/dist/profiles/conductor/patterns/accordion.json +35 -27
  71. package/dist/profiles/conductor/patterns/alert.json +29 -21
  72. package/dist/profiles/conductor/patterns/carousel.json +36 -28
  73. package/dist/profiles/conductor/patterns/checkbox.json +67 -0
  74. package/dist/profiles/conductor/patterns/combobox.json +37 -29
  75. package/dist/profiles/conductor/patterns/consequential-submission.json +34 -25
  76. package/dist/profiles/conductor/patterns/dialog.json +37 -29
  77. package/dist/profiles/conductor/patterns/disclosure.json +33 -25
  78. package/dist/profiles/conductor/patterns/dynamic-status.json +31 -22
  79. package/dist/profiles/conductor/patterns/field.json +41 -25
  80. package/dist/profiles/conductor/patterns/image.json +31 -22
  81. package/dist/profiles/conductor/patterns/listbox.json +35 -27
  82. package/dist/profiles/conductor/patterns/media-player.json +59 -29
  83. package/dist/profiles/conductor/patterns/menu-button.json +34 -26
  84. package/dist/profiles/conductor/patterns/menu.json +78 -0
  85. package/dist/profiles/conductor/patterns/pagination.json +34 -25
  86. package/dist/profiles/conductor/patterns/popover.json +42 -26
  87. package/dist/profiles/conductor/patterns/progress.json +38 -23
  88. package/dist/profiles/conductor/patterns/radio-group.json +69 -0
  89. package/dist/profiles/conductor/patterns/slider.json +84 -0
  90. package/dist/profiles/conductor/patterns/spinbutton.json +74 -0
  91. package/dist/profiles/conductor/patterns/tabs.json +34 -26
  92. package/dist/profiles/conductor/patterns/tooltip.json +31 -23
  93. package/dist/profiles/conductor/patterns/tree-view.json +77 -0
  94. package/dist/profiles/conductor/patterns/validation.json +42 -26
  95. package/dist/profiles/conductor/semantics.json +826 -130
  96. package/dist/profiles/conductor/ui-design-brain-bindings.json +287 -307
  97. package/dist/projection-manifest.json +120 -104
  98. package/dist/requirements-to-implementation.md +7 -1
  99. package/lib/build.mjs +3 -3
  100. package/lib/digest.mjs +8 -0
  101. package/lib/load.mjs +13 -0
  102. package/lib/provenance.mjs +2 -0
  103. package/lib/render.mjs +51 -7
  104. package/lib/sync.mjs +2 -2
  105. package/lib/validate.mjs +335 -33
  106. package/package.json +6 -2
  107. package/profiles/ai-orchestration/profile.json +1 -1
  108. package/profiles/ai-orchestration/templates/patterns/README.md +1 -1
  109. package/profiles/ai-orchestration/templates/review/README.md +1 -1
  110. package/profiles/ai-orchestration/templates/semantics/README.md +1 -1
  111. package/profiles/ai-orchestration/templates/testing/README.md +1 -1
  112. package/profiles/conductor/profile.json +1 -1
  113. package/profiles/conductor/templates/evidence/README.md +1 -1
  114. package/profiles/conductor/templates/patterns/README.md +1 -1
  115. package/profiles/conductor/templates/semantics/README.md +1 -1
  116. package/schemas/consumer-config.schema.json +1 -1
  117. package/schemas/contract.schema.json +1 -1
  118. package/schemas/manifest.schema.json +1 -1
  119. package/schemas/pattern.schema.json +98 -1
  120. package/schemas/profile.schema.json +1 -1
  121. package/schemas/projection-manifest.schema.json +6 -6
  122. package/schemas/semantic.schema.json +26 -1
  123. package/schemas/standards-reference.schema.json +105 -0
  124. package/schemas/wcag-coverage.schema.json +93 -0
  125. package/src/applicability/facts.yml +3 -5
  126. package/src/applicability/matrix.yml +5 -7
  127. package/src/applicability/ui-design-brain-bindings.yml +8 -22
  128. package/src/contract.yml +1 -1
  129. package/src/coverage/wcag-2.2.yml +68 -0
  130. package/src/patterns/disclosure/accordion.yml +1 -1
  131. package/src/patterns/disclosure/disclosure.yml +1 -1
  132. package/src/patterns/feedback/alert.yml +1 -1
  133. package/src/patterns/feedback/dynamic-status.yml +1 -1
  134. package/src/patterns/feedback/progress.yml +1 -1
  135. package/src/patterns/forms/consequential-submission.yml +1 -1
  136. package/src/patterns/forms/field.yml +1 -1
  137. package/src/patterns/forms/spinbutton.yml +1 -0
  138. package/src/patterns/forms/validation.yml +1 -1
  139. package/src/patterns/media/carousel.yml +1 -1
  140. package/src/patterns/media/image.yml +1 -1
  141. package/src/patterns/media/media-player.yml +1 -1
  142. package/src/patterns/navigation/menu-button.yml +1 -1
  143. package/src/patterns/navigation/menu.yml +1 -0
  144. package/src/patterns/navigation/pagination.yml +1 -1
  145. package/src/patterns/navigation/tabs.yml +1 -1
  146. package/src/patterns/navigation/tree-view.yml +1 -0
  147. package/src/patterns/overlays/dialog.yml +1 -1
  148. package/src/patterns/overlays/popover.yml +1 -1
  149. package/src/patterns/overlays/tooltip.yml +1 -1
  150. package/src/patterns/selection/checkbox.yml +1 -0
  151. package/src/patterns/selection/combobox.yml +1 -1
  152. package/src/patterns/selection/listbox.yml +1 -1
  153. package/src/patterns/selection/radio-group.yml +1 -0
  154. package/src/patterns/selection/slider.yml +1 -0
  155. package/src/semantics/accessible-names.yml +1 -1
  156. package/src/semantics/forms.yml +1 -1
  157. package/src/semantics/headings-landmarks.yml +1 -1
  158. package/src/semantics/keyboard-focus.yml +1 -1
  159. package/src/semantics/live-regions.yml +1 -1
  160. package/src/semantics/media.yml +1 -1
  161. package/src/semantics/native-elements.yml +1 -1
  162. package/src/semantics/roles-states-properties.yml +1 -1
  163. package/src/semantics/tables.yml +1 -1
  164. package/src/semantics/wcag-2.2.yml +1 -0
  165. package/src/sources.yml +1 -1
@@ -1,23 +1,21 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # Accessibility review contract
4
4
 
5
5
  Review in this order: source compatibility, foundations, semantic dependencies, pattern behavior, applicability outcomes, implementation outcomes, test lanes, human evidence.
6
6
 
7
- - applicability.authentication-captcha
8
- - applicability.character-shortcuts
7
+ - applicability.accessible-authentication
9
8
  - applicability.complex-pointer
10
9
  - applicability.consequential-submission
11
10
  - applicability.consistent-help
12
- - applicability.data-table-grid
11
+ - applicability.data-table
12
+ - applicability.dragging-alternative
13
13
  - applicability.dynamic-status
14
14
  - applicability.focus-obstruction
15
15
  - applicability.forms
16
- - applicability.locale-bidi
17
16
  - applicability.media
18
17
  - applicability.motion-timing
19
18
  - applicability.non-text-content
20
- - applicability.orientation-sensory
21
19
  - applicability.overlays
22
20
  - applicability.page-context
23
21
  - applicability.redundant-entry
@@ -29,6 +27,7 @@ Review in this order: source compatibility, foundations, semantic dependencies,
29
27
  - pattern.accordion
30
28
  - pattern.alert
31
29
  - pattern.carousel
30
+ - pattern.checkbox
32
31
  - pattern.combobox
33
32
  - pattern.consequential-submission
34
33
  - pattern.dialog
@@ -38,19 +37,27 @@ Review in this order: source compatibility, foundations, semantic dependencies,
38
37
  - pattern.image
39
38
  - pattern.listbox
40
39
  - pattern.media-player
40
+ - pattern.menu
41
41
  - pattern.menu-button
42
42
  - pattern.pagination
43
43
  - pattern.popover
44
44
  - pattern.progress
45
+ - pattern.radio-group
46
+ - pattern.slider
47
+ - pattern.spinbutton
45
48
  - pattern.tabs
46
49
  - pattern.tooltip
50
+ - pattern.tree-view
47
51
  - pattern.validation
48
52
  - policy.enhanced-quality
49
53
  - policy.target-size
54
+ - semantics.accessible-authentication
50
55
  - semantics.accessible-name
51
56
  - semantics.alert
52
57
  - semantics.consequential-action
58
+ - semantics.consistent-help
53
59
  - semantics.data-table
60
+ - semantics.dragging-alternative
54
61
  - semantics.expanded-state
55
62
  - semantics.focus.initial
56
63
  - semantics.focus.return
@@ -69,6 +76,7 @@ Review in this order: source compatibility, foundations, semantic dependencies,
69
76
  - semantics.native-dialog
70
77
  - semantics.native-elements
71
78
  - semantics.non-text-alternative
79
+ - semantics.redundant-entry
72
80
  - semantics.roles-states-properties
73
81
  - semantics.selected-state
74
82
  - semantics.target-size
@@ -0,0 +1,13 @@
1
+ <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
+ # semantics.accessible-authentication
4
+
5
+ ## semantics.accessible-authentication
6
+
7
+ Do not require a cognitive function test at any authentication step unless that step provides a non-cognitive alternative or an assistive mechanism such as password-manager support or copy and paste, including pasting a complete one-time code, or the test is limited to the object-recognition or user-provided personal-content exception.
8
+
9
+ Standards:
10
+ - [wcag-2.2 3.3.8](<https://www.w3.org/TR/WCAG22/#accessible-authentication-minimum>) (Level AA) — normative
11
+ - [wcag-2.2-understanding 3.3.8](<https://www.w3.org/WAI/WCAG22/Understanding/accessible-authentication-minimum.html>) (Level AA) — informative
12
+
13
+ Proof: e2e, human.
@@ -1,9 +1,15 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.accessible-name
4
4
 
5
5
  ## semantics.accessible-name
6
6
 
7
- Every interactive or meaning-bearing control has a concise programmatic name derived from visible text when available.
7
+ Every interactive or meaning-bearing control has a concise programmatic name. For user interface components whose visible labels include text or images of text, the accessible name contains the text presented visually; preserve that text's order where practical.
8
+
9
+ Standards:
10
+ - [wcag-2.2 2.5.3](<https://www.w3.org/TR/WCAG22/#label-in-name>) (Level A) — normative
11
+ - [wcag-2.2 4.1.2](<https://www.w3.org/TR/WCAG22/#name-role-value>) (Level A) — normative
12
+ - [wcag-2.2-understanding 2.5.3](<https://www.w3.org/WAI/WCAG22/Understanding/label-in-name.html>) (Level A) — informative
13
+ - [wcag-2.2-understanding 4.1.2](<https://www.w3.org/WAI/WCAG22/Understanding/name-role-value.html>) (Level A) — informative
8
14
 
9
15
  Proof: unit, axe, human.
@@ -1,9 +1,15 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.alert
4
4
 
5
5
  ## semantics.alert
6
6
 
7
7
  Use alert semantics only for urgent, time-sensitive messages that require immediate announcement.
8
8
 
9
+ Standards:
10
+ - [aria-apg alert](<https://www.w3.org/WAI/ARIA/apg/patterns/alert/>) — informative
11
+ - [wai-aria-1.2 alert](<https://www.w3.org/TR/wai-aria-1.2/#alert>) — normative
12
+ - [wcag-2.2 4.1.3](<https://www.w3.org/TR/WCAG22/#status-messages>) (Level AA) — normative
13
+ - [wcag-2.2-understanding 4.1.3](<https://www.w3.org/WAI/WCAG22/Understanding/status-messages.html>) (Level AA) — informative
14
+
9
15
  Proof: unit, human.
@@ -1,9 +1,13 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.consequential-action
4
4
 
5
5
  ## semantics.consequential-action
6
6
 
7
- Legal, financial, destructive, or data-submitting actions support review, confirmation, or reversal as required.
7
+ For web pages that cause legal commitments or financial transactions, modify or delete user-controllable data in data storage systems, or submit user test responses, at least one safeguard is provided: submissions are reversible; user-entered data is checked for input errors and the user can correct them; or a mechanism lets the user review, confirm, and correct information before finalizing the submission.
8
+
9
+ Standards:
10
+ - [wcag-2.2 3.3.4](<https://www.w3.org/TR/WCAG22/#error-prevention-legal-financial-data>) (Level AA) — normative
11
+ - [wcag-2.2-understanding 3.3.4](<https://www.w3.org/WAI/WCAG22/Understanding/error-prevention-legal-financial-data.html>) (Level AA) — informative
8
12
 
9
13
  Proof: e2e, human.
@@ -0,0 +1,13 @@
1
+ <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
+ # semantics.consistent-help
4
+
5
+ ## semantics.consistent-help
6
+
7
+ When human contact details or mechanisms, self-help, or fully automated contact mechanisms repeat across pages in the same set, they occur in the same serialized order relative to other content for the same page variation unless the user initiates a change. This does not require adding help.
8
+
9
+ Standards:
10
+ - [wcag-2.2 3.2.6](<https://www.w3.org/TR/WCAG22/#consistent-help>) (Level A) — normative
11
+ - [wcag-2.2-understanding 3.2.6](<https://www.w3.org/WAI/WCAG22/Understanding/consistent-help.html>) (Level A) — informative
12
+
13
+ Proof: e2e, human.
@@ -1,9 +1,14 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.data-table
4
4
 
5
5
  ## semantics.data-table
6
6
 
7
- Tabular relationships use table markup with associated headers; interactive grids implement their full keyboard model.
7
+ Tabular relationships use table semantics with programmatically associated row and column headers.
8
+
9
+ Standards:
10
+ - [aria-apg table](<https://www.w3.org/WAI/ARIA/apg/patterns/table/>) — informative
11
+ - [wcag-2.2 1.3.1](<https://www.w3.org/TR/WCAG22/#info-and-relationships>) (Level A) — normative
12
+ - [wcag-2.2-understanding 1.3.1](<https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html>) (Level A) — informative
8
13
 
9
14
  Proof: axe, e2e, human.
@@ -0,0 +1,13 @@
1
+ <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
+ # semantics.dragging-alternative
4
+
5
+ ## semantics.dragging-alternative
6
+
7
+ Author-provided functionality operated by dragging also provides an equivalent single-pointer method that does not require dragging, unless dragging is essential or the functionality is determined by the user agent and not modified by the author.
8
+
9
+ Standards:
10
+ - [wcag-2.2 2.5.7](<https://www.w3.org/TR/WCAG22/#dragging-movements>) (Level AA) — normative
11
+ - [wcag-2.2-understanding 2.5.7](<https://www.w3.org/WAI/WCAG22/Understanding/dragging-movements.html>) (Level AA) — informative
12
+
13
+ Proof: e2e, human.
@@ -1,9 +1,14 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.expanded-state
4
4
 
5
5
  ## semantics.expanded-state
6
6
 
7
7
  Expandable controls expose aria-expanded and identify the controlled region when needed.
8
8
 
9
+ Standards:
10
+ - [wai-aria-1.2 aria-expanded](<https://www.w3.org/TR/wai-aria-1.2/#aria-expanded>) — normative
11
+ - [wcag-2.2 4.1.2](<https://www.w3.org/TR/WCAG22/#name-role-value>) (Level A) — normative
12
+ - [wcag-2.2-understanding 4.1.2](<https://www.w3.org/WAI/WCAG22/Understanding/name-role-value.html>) (Level A) — informative
13
+
9
14
  Proof: unit, axe, e2e.
@@ -1,9 +1,12 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.focus.initial
4
4
 
5
5
  ## semantics.focus.initial
6
6
 
7
7
  On activation, focus moves to the deterministic target appropriate to the pattern.
8
8
 
9
+ Standards:
10
+ - [aria-apg dialog-modal](<https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/#keyboard_interaction>) — informative
11
+
9
12
  Proof: unit, e2e.
@@ -1,9 +1,12 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.focus.return
4
4
 
5
5
  ## semantics.focus.return
6
6
 
7
7
  On dismissal, focus returns to the invoking control or a documented logical successor.
8
8
 
9
+ Standards:
10
+ - [aria-apg dialog-modal](<https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/#keyboard_interaction>) — informative
11
+
9
12
  Proof: unit, e2e.
@@ -1,9 +1,15 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.focus.visible
4
4
 
5
5
  ## semantics.focus.visible
6
6
 
7
- Keyboard focus is visible, sufficiently contrasted, and not fully obscured.
7
+ A visible keyboard focus indicator is available, and focused components are not entirely hidden by author-created content.
8
+
9
+ Standards:
10
+ - [wcag-2.2 2.4.11](<https://www.w3.org/TR/WCAG22/#focus-not-obscured-minimum>) (Level AA) — normative
11
+ - [wcag-2.2 2.4.7](<https://www.w3.org/TR/WCAG22/#focus-visible>) (Level AA) — normative
12
+ - [wcag-2.2-understanding 2.4.11](<https://www.w3.org/WAI/WCAG22/Understanding/focus-not-obscured-minimum.html>) (Level AA) — informative
13
+ - [wcag-2.2-understanding 2.4.7](<https://www.w3.org/WAI/WCAG22/Understanding/focus-visible.html>) (Level AA) — informative
8
14
 
9
15
  Proof: e2e, human.
@@ -1,9 +1,15 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.form-error
4
4
 
5
5
  ## semantics.form-error
6
6
 
7
- Identify errors in text, associate them with fields, and provide correction guidance.
7
+ When an input error is automatically detected, identify the item in error and describe the error to the user in text. When correction suggestions are known, provide them unless doing so would jeopardize the security or purpose of the content.
8
+
9
+ Standards:
10
+ - [wcag-2.2 3.3.1](<https://www.w3.org/TR/WCAG22/#error-identification>) (Level A) — normative
11
+ - [wcag-2.2 3.3.3](<https://www.w3.org/TR/WCAG22/#error-suggestion>) (Level AA) — normative
12
+ - [wcag-2.2-understanding 3.3.1](<https://www.w3.org/WAI/WCAG22/Understanding/error-identification.html>) (Level A) — informative
13
+ - [wcag-2.2-understanding 3.3.3](<https://www.w3.org/WAI/WCAG22/Understanding/error-suggestion.html>) (Level AA) — informative
8
14
 
9
15
  Proof: unit, axe, e2e, human.
@@ -1,9 +1,15 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.form-label
4
4
 
5
5
  ## semantics.form-label
6
6
 
7
7
  Every form control has a persistent programmatically associated label.
8
8
 
9
+ Standards:
10
+ - [wcag-2.2 1.3.1](<https://www.w3.org/TR/WCAG22/#info-and-relationships>) (Level A) — normative
11
+ - [wcag-2.2 3.3.2](<https://www.w3.org/TR/WCAG22/#labels-or-instructions>) (Level A) — normative
12
+ - [wcag-2.2-understanding 1.3.1](<https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html>) (Level A) — informative
13
+ - [wcag-2.2-understanding 3.3.2](<https://www.w3.org/WAI/WCAG22/Understanding/labels-or-instructions.html>) (Level A) — informative
14
+
9
15
  Proof: unit, axe.
@@ -1,9 +1,15 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.form-required
4
4
 
5
5
  ## semantics.form-required
6
6
 
7
7
  Requiredness is communicated visually and programmatically before submission.
8
8
 
9
+ Standards:
10
+ - [wcag-2.2 1.3.1](<https://www.w3.org/TR/WCAG22/#info-and-relationships>) (Level A) — normative
11
+ - [wcag-2.2 3.3.2](<https://www.w3.org/TR/WCAG22/#labels-or-instructions>) (Level A) — normative
12
+ - [wcag-2.2-understanding 1.3.1](<https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html>) (Level A) — informative
13
+ - [wcag-2.2-understanding 3.3.2](<https://www.w3.org/WAI/WCAG22/Understanding/labels-or-instructions.html>) (Level A) — informative
14
+
9
15
  Proof: unit, axe.
@@ -1,9 +1,15 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.headings
4
4
 
5
5
  ## semantics.headings
6
6
 
7
7
  Headings describe document structure without choosing levels for visual appearance.
8
8
 
9
+ Standards:
10
+ - [wcag-2.2 1.3.1](<https://www.w3.org/TR/WCAG22/#info-and-relationships>) (Level A) — normative
11
+ - [wcag-2.2 2.4.6](<https://www.w3.org/TR/WCAG22/#headings-and-labels>) (Level AA) — normative
12
+ - [wcag-2.2-understanding 1.3.1](<https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html>) (Level A) — informative
13
+ - [wcag-2.2-understanding 2.4.6](<https://www.w3.org/WAI/WCAG22/Understanding/headings-and-labels.html>) (Level AA) — informative
14
+
9
15
  Proof: axe, human.
@@ -1,9 +1,12 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.keyboard.escape
4
4
 
5
5
  ## semantics.keyboard.escape
6
6
 
7
7
  Escape closes the topmost dismissible overlay without activating its trigger.
8
8
 
9
+ Standards:
10
+ - [aria-apg dialog-modal](<https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/#keyboard_interaction>) — informative
11
+
9
12
  Proof: unit, e2e.
@@ -1,9 +1,15 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.keyboard
4
4
 
5
5
  ## semantics.keyboard
6
6
 
7
7
  All functionality is operable with a keyboard without traps.
8
8
 
9
+ Standards:
10
+ - [wcag-2.2 2.1.1](<https://www.w3.org/TR/WCAG22/#keyboard>) (Level A) — normative
11
+ - [wcag-2.2 2.1.2](<https://www.w3.org/TR/WCAG22/#no-keyboard-trap>) (Level A) — normative
12
+ - [wcag-2.2-understanding 2.1.1](<https://www.w3.org/WAI/WCAG22/Understanding/keyboard.html>) (Level A) — informative
13
+ - [wcag-2.2-understanding 2.1.2](<https://www.w3.org/WAI/WCAG22/Understanding/no-keyboard-trap.html>) (Level A) — informative
14
+
9
15
  Proof: e2e, human.
@@ -1,9 +1,14 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.landmarks
4
4
 
5
5
  ## semantics.landmarks
6
6
 
7
7
  Use native landmarks and name repeated landmarks only when a name is required to distinguish them.
8
8
 
9
+ Standards:
10
+ - [aria-apg landmark-regions](<https://www.w3.org/WAI/ARIA/apg/practices/landmark-regions/>) — informative
11
+ - [wcag-2.2 1.3.1](<https://www.w3.org/TR/WCAG22/#info-and-relationships>) (Level A) — normative
12
+ - [wcag-2.2-understanding 1.3.1](<https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html>) (Level A) — informative
13
+
9
14
  Proof: axe, human.
@@ -1,9 +1,14 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.live-status
4
4
 
5
5
  ## semantics.live-status
6
6
 
7
- Important asynchronous status updates are exposed through a correctly scoped, non-duplicative live region.
7
+ Status messages that can be programmatically determined are exposed to assistive technology through appropriate roles or properties without receiving focus, using correctly scoped and non-duplicative live regions where needed.
8
+
9
+ Standards:
10
+ - [wai-aria-1.2 status](<https://www.w3.org/TR/wai-aria-1.2/#status>) — normative
11
+ - [wcag-2.2 4.1.3](<https://www.w3.org/TR/WCAG22/#status-messages>) (Level AA) — normative
12
+ - [wcag-2.2-understanding 4.1.3](<https://www.w3.org/WAI/WCAG22/Understanding/status-messages.html>) (Level AA) — informative
8
13
 
9
14
  Proof: unit, e2e, human.
@@ -1,9 +1,19 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.media-alternatives
4
4
 
5
5
  ## semantics.media-alternatives
6
6
 
7
7
  Prerecorded media provides applicable captions, transcripts, and audio description.
8
8
 
9
+ Standards:
10
+ - [wcag-2.2 1.2.1](<https://www.w3.org/TR/WCAG22/#audio-only-and-video-only-prerecorded>) (Level A) — normative
11
+ - [wcag-2.2 1.2.2](<https://www.w3.org/TR/WCAG22/#captions-prerecorded>) (Level A) — normative
12
+ - [wcag-2.2 1.2.3](<https://www.w3.org/TR/WCAG22/#audio-description-or-media-alternative-prerecorded>) (Level A) — normative
13
+ - [wcag-2.2 1.2.5](<https://www.w3.org/TR/WCAG22/#audio-description-prerecorded>) (Level AA) — normative
14
+ - [wcag-2.2-understanding 1.2.1](<https://www.w3.org/WAI/WCAG22/Understanding/audio-only-and-video-only-prerecorded.html>) (Level A) — informative
15
+ - [wcag-2.2-understanding 1.2.2](<https://www.w3.org/WAI/WCAG22/Understanding/captions-prerecorded.html>) (Level A) — informative
16
+ - [wcag-2.2-understanding 1.2.3](<https://www.w3.org/WAI/WCAG22/Understanding/audio-description-or-media-alternative-prerecorded.html>) (Level A) — informative
17
+ - [wcag-2.2-understanding 1.2.5](<https://www.w3.org/WAI/WCAG22/Understanding/audio-description-prerecorded.html>) (Level AA) — informative
18
+
9
19
  Proof: human.
@@ -1,9 +1,15 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.motion-control
4
4
 
5
5
  ## semantics.motion-control
6
6
 
7
- Respect reduced-motion preferences and provide controls for moving or time-limited content where required.
7
+ Moving, blinking, or scrolling content that starts automatically, lasts more than five seconds, and appears alongside other content provides pause, stop, or hide controls unless essential. Automatically starting, parallel auto-updating content provides pause, stop, or hide controls or lets the user control update frequency unless essential. Honor reduced-motion preferences as a mechanism for disabling non-essential interaction-triggered animation.
8
+
9
+ Standards:
10
+ - [wcag-2.2 2.2.2](<https://www.w3.org/TR/WCAG22/#pause-stop-hide>) (Level A) — normative
11
+ - [wcag-2.2 2.3.3](<https://www.w3.org/TR/WCAG22/#animation-from-interactions>) (Level AAA) — normative
12
+ - [wcag-2.2-understanding 2.2.2](<https://www.w3.org/WAI/WCAG22/Understanding/pause-stop-hide.html>) (Level A) — informative
13
+ - [wcag-2.2-understanding 2.3.3](<https://www.w3.org/WAI/WCAG22/Understanding/animation-from-interactions.html>) (Level AAA) — informative
8
14
 
9
15
  Proof: e2e, human.
@@ -1,9 +1,13 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.name-role-value
4
4
 
5
5
  ## semantics.name-role-value
6
6
 
7
- Expose the correct accessible name, role, value, and state through the platform accessibility API.
7
+ For every user interface component, the name and role can be programmatically determined; states, properties, and values that users can set can be programmatically set; and notification of changes to these items is available to user agents, including assistive technologies.
8
+
9
+ Standards:
10
+ - [wcag-2.2 4.1.2](<https://www.w3.org/TR/WCAG22/#name-role-value>) (Level A) — normative
11
+ - [wcag-2.2-understanding 4.1.2](<https://www.w3.org/WAI/WCAG22/Understanding/name-role-value.html>) (Level A) — informative
8
12
 
9
13
  Proof: unit, axe, human.
@@ -1,9 +1,15 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.native-dialog
4
4
 
5
5
  ## semantics.native-dialog
6
6
 
7
7
  Use dialog semantics with a programmatic name and modal state only when interaction is modal.
8
8
 
9
+ Standards:
10
+ - [aria-apg dialog-modal](<https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/>) — informative
11
+ - [wai-aria-1.2 dialog](<https://www.w3.org/TR/wai-aria-1.2/#dialog>) — normative
12
+ - [wcag-2.2 4.1.2](<https://www.w3.org/TR/WCAG22/#name-role-value>) (Level A) — normative
13
+ - [wcag-2.2-understanding 4.1.2](<https://www.w3.org/WAI/WCAG22/Understanding/name-role-value.html>) (Level A) — informative
14
+
9
15
  Proof: axe, e2e, human.
@@ -1,9 +1,13 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.native-elements
4
4
 
5
5
  ## semantics.native-elements
6
6
 
7
7
  Use the native HTML element whose semantics and behavior match the control before adding ARIA.
8
8
 
9
+ Standards:
10
+ - [aria-apg read-me-first](<https://www.w3.org/WAI/ARIA/apg/practices/read-me-first/>) — informative
11
+ - [wai-aria-1.2 host\_general\_conflict](<https://www.w3.org/TR/wai-aria-1.2/#host_general_conflict>) — normative
12
+
9
13
  Proof: axe, human.
@@ -1,9 +1,13 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.non-text-alternative
4
4
 
5
5
  ## semantics.non-text-alternative
6
6
 
7
7
  Meaningful non-text content has an equivalent alternative and decorative content is ignored by assistive technology.
8
8
 
9
+ Standards:
10
+ - [wcag-2.2 1.1.1](<https://www.w3.org/TR/WCAG22/#non-text-content>) (Level A) — normative
11
+ - [wcag-2.2-understanding 1.1.1](<https://www.w3.org/WAI/WCAG22/Understanding/non-text-content.html>) (Level A) — informative
12
+
9
13
  Proof: axe, human.
@@ -0,0 +1,13 @@
1
+ <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
+ # semantics.redundant-entry
4
+
5
+ ## semantics.redundant-entry
6
+
7
+ Information previously entered by or provided to the user and required again in the same process is auto-populated or available to select, unless re-entry is essential, required for security, or the prior information is no longer valid.
8
+
9
+ Standards:
10
+ - [wcag-2.2 3.3.7](<https://www.w3.org/TR/WCAG22/#redundant-entry>) (Level A) — normative
11
+ - [wcag-2.2-understanding 3.3.7](<https://www.w3.org/WAI/WCAG22/Understanding/redundant-entry.html>) (Level A) — informative
12
+
13
+ Proof: e2e, human.
@@ -1,9 +1,14 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.roles-states-properties
4
4
 
5
5
  ## semantics.roles-states-properties
6
6
 
7
7
  Apply only valid ARIA roles, states, and properties and keep exposed state synchronized with rendered behavior.
8
8
 
9
+ Standards:
10
+ - [wai-aria-1.2 roles](<https://www.w3.org/TR/wai-aria-1.2/#roles>) — normative
11
+ - [wcag-2.2 4.1.2](<https://www.w3.org/TR/WCAG22/#name-role-value>) (Level A) — normative
12
+ - [wcag-2.2-understanding 4.1.2](<https://www.w3.org/WAI/WCAG22/Understanding/name-role-value.html>) (Level A) — informative
13
+
9
14
  Proof: unit, axe, e2e.
@@ -1,9 +1,14 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.selected-state
4
4
 
5
5
  ## semantics.selected-state
6
6
 
7
7
  Selection widgets expose current selection with the state required by their role.
8
8
 
9
+ Standards:
10
+ - [wai-aria-1.2 aria-selected](<https://www.w3.org/TR/wai-aria-1.2/#aria-selected>) — normative
11
+ - [wcag-2.2 4.1.2](<https://www.w3.org/TR/WCAG22/#name-role-value>) (Level A) — normative
12
+ - [wcag-2.2-understanding 4.1.2](<https://www.w3.org/WAI/WCAG22/Understanding/name-role-value.html>) (Level A) — informative
13
+
9
14
  Proof: unit, e2e.
@@ -1,9 +1,13 @@
1
1
  <!-- GENERATED by @verndale/accessibility-standards; DO NOT EDIT -->
2
- <!-- package: @verndale/accessibility-standards@2.0.0; profile: ai-orchestration@2.0.0; schema: 2; source-digest: e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0; profile-digest: 5865a240f47ed5756a8b7a03fddd28fd8734051b61194dd378064b764859d691 -->
2
+ <!-- package: @verndale/accessibility-standards@3.0.0; profile: ai-orchestration@3.0.0; schema: 3; source-digest: 708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af; profile-digest: de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4 -->
3
3
  # semantics.target-size
4
4
 
5
5
  ## semantics.target-size
6
6
 
7
- Pointer targets meet 24 by 24 CSS pixels or a WCAG 2.5.8 exception; 44 by 44 is an enhanced recommendation.
7
+ Each pointer target contains an axis-aligned 24 by 24 CSS pixel square unless one of these exceptions applies: an undersized target is positioned so that a 24 CSS pixel diameter circle centered on its bounding box does not intersect another target or the corresponding circle for another undersized target; an equivalent control on the same page meets this criterion; the target is in a sentence or its size is otherwise constrained by the line-height of non-target text; the target size is determined by an unmodified user agent; or the target's particular presentation is essential or legally required for the information being conveyed.
8
+
9
+ Standards:
10
+ - [wcag-2.2 2.5.8](<https://www.w3.org/TR/WCAG22/#target-size-minimum>) (Level AA) — normative
11
+ - [wcag-2.2-understanding 2.5.8](<https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum.html>) (Level AA) — informative
8
12
 
9
13
  Proof: e2e, human.