@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,49 +1,57 @@
1
1
  {
2
2
  "_generated": "GENERATED by @verndale/accessibility-standards; DO NOT EDIT",
3
3
  "_provenance": {
4
- "package": "@verndale/accessibility-standards@2.0.0",
4
+ "package": "@verndale/accessibility-standards@3.0.0",
5
5
  "profile": "conductor",
6
- "profile_version": "2.0.0",
7
- "profile_digest": "4840ac3a4910f8dc3a850df266a141e0e4df94ca3c8935ae4531c56f6be91e65",
8
- "schema_version": 2,
9
- "source_digest": "e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0"
6
+ "profile_digest": "beadcb5fe8151303b3e3241de4fee0ece3be9ff2f4dbdb3a6f93a363b0a2d491",
7
+ "profile_version": "3.0.0",
8
+ "schema_version": 3,
9
+ "source_digest": "708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af"
10
10
  },
11
- "schema_version": 2,
12
11
  "pattern": {
13
- "id": "pattern.disclosure",
14
- "version": "1.0.0",
15
- "title": "Disclosure",
16
- "kind": "pattern",
17
- "requires": [
18
- "semantics.native-elements",
19
- "semantics.accessible-name",
20
- "semantics.expanded-state",
21
- "semantics.keyboard"
22
- ],
23
12
  "activation": {
24
13
  "contains": {
25
14
  "fact": "component.accessibility_pattern_ids",
26
15
  "value": "pattern.disclosure"
27
16
  }
28
17
  },
29
- "scope": "Show and hide supplementary content",
30
18
  "behavior": [
31
19
  "Control toggles one region"
32
20
  ],
33
- "product_decisions": [
34
- "initial_state"
21
+ "evidence_routes": [
22
+ "unit",
23
+ "axe",
24
+ "e2e"
35
25
  ],
36
26
  "functional_spec_bindings": [
37
27
  "behavior",
38
28
  "states"
39
29
  ],
30
+ "id": "pattern.disclosure",
40
31
  "implementation_outcomes": [
41
32
  "disclosure-control"
42
33
  ],
43
- "evidence_routes": [
44
- "unit",
45
- "axe",
46
- "e2e"
47
- ]
48
- }
34
+ "kind": "pattern",
35
+ "product_decisions": [
36
+ "initial_state"
37
+ ],
38
+ "requires": [
39
+ "semantics.native-elements",
40
+ "semantics.accessible-name",
41
+ "semantics.expanded-state",
42
+ "semantics.keyboard"
43
+ ],
44
+ "scope": "Show and hide supplementary content",
45
+ "standards_refs": [
46
+ {
47
+ "authority": "aria-apg",
48
+ "identifier": "disclosure",
49
+ "normative": false,
50
+ "url": "https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/"
51
+ }
52
+ ],
53
+ "title": "Disclosure",
54
+ "version": "1.0.0"
55
+ },
56
+ "schema_version": 3
49
57
  }
@@ -1,46 +1,55 @@
1
1
  {
2
2
  "_generated": "GENERATED by @verndale/accessibility-standards; DO NOT EDIT",
3
3
  "_provenance": {
4
- "package": "@verndale/accessibility-standards@2.0.0",
4
+ "package": "@verndale/accessibility-standards@3.0.0",
5
5
  "profile": "conductor",
6
- "profile_version": "2.0.0",
7
- "profile_digest": "4840ac3a4910f8dc3a850df266a141e0e4df94ca3c8935ae4531c56f6be91e65",
8
- "schema_version": 2,
9
- "source_digest": "e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0"
6
+ "profile_digest": "beadcb5fe8151303b3e3241de4fee0ece3be9ff2f4dbdb3a6f93a363b0a2d491",
7
+ "profile_version": "3.0.0",
8
+ "schema_version": 3,
9
+ "source_digest": "708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af"
10
10
  },
11
- "schema_version": 2,
12
11
  "pattern": {
13
- "id": "pattern.dynamic-status",
14
- "version": "1.0.0",
15
- "title": "Dynamic status",
16
- "kind": "pattern",
17
- "requires": [
18
- "semantics.live-status"
19
- ],
20
12
  "activation": {
21
13
  "equals": {
22
14
  "fact": "component.has_dynamic_status",
23
15
  "value": true
24
16
  }
25
17
  },
26
- "scope": "Asynchronous status message",
27
18
  "behavior": [
28
19
  "Announce meaningful changes once"
29
20
  ],
30
- "product_decisions": [
31
- "announcement_copy"
21
+ "evidence_routes": [
22
+ "unit",
23
+ "e2e",
24
+ "human"
32
25
  ],
33
26
  "functional_spec_bindings": [
34
27
  "messaging",
35
28
  "states"
36
29
  ],
30
+ "id": "pattern.dynamic-status",
37
31
  "implementation_outcomes": [
38
32
  "status-live-region"
39
33
  ],
40
- "evidence_routes": [
41
- "unit",
42
- "e2e",
43
- "human"
44
- ]
45
- }
34
+ "kind": "pattern",
35
+ "product_decisions": [
36
+ "announcement_copy"
37
+ ],
38
+ "requires": [
39
+ "semantics.live-status"
40
+ ],
41
+ "scope": "Asynchronous status message",
42
+ "standards_refs": [
43
+ {
44
+ "authority": "wcag-2.2",
45
+ "identifier": "4.1.3",
46
+ "level": "AA",
47
+ "normative": true,
48
+ "url": "https://www.w3.org/TR/WCAG22/#status-messages"
49
+ }
50
+ ],
51
+ "title": "Dynamic status",
52
+ "version": "1.0.0"
53
+ },
54
+ "schema_version": 3
46
55
  }
@@ -1,24 +1,14 @@
1
1
  {
2
2
  "_generated": "GENERATED by @verndale/accessibility-standards; DO NOT EDIT",
3
3
  "_provenance": {
4
- "package": "@verndale/accessibility-standards@2.0.0",
4
+ "package": "@verndale/accessibility-standards@3.0.0",
5
5
  "profile": "conductor",
6
- "profile_version": "2.0.0",
7
- "profile_digest": "4840ac3a4910f8dc3a850df266a141e0e4df94ca3c8935ae4531c56f6be91e65",
8
- "schema_version": 2,
9
- "source_digest": "e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0"
6
+ "profile_digest": "beadcb5fe8151303b3e3241de4fee0ece3be9ff2f4dbdb3a6f93a363b0a2d491",
7
+ "profile_version": "3.0.0",
8
+ "schema_version": 3,
9
+ "source_digest": "708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af"
10
10
  },
11
- "schema_version": 2,
12
11
  "pattern": {
13
- "id": "pattern.field",
14
- "version": "1.0.0",
15
- "title": "Form field",
16
- "kind": "pattern",
17
- "requires": [
18
- "semantics.form-label",
19
- "semantics.form-required",
20
- "semantics.focus.visible"
21
- ],
22
12
  "activation": {
23
13
  "any": [
24
14
  {
@@ -35,25 +25,51 @@
35
25
  }
36
26
  ]
37
27
  },
38
- "scope": "Labeled form input",
39
28
  "behavior": [
40
29
  "Expose label, instructions, and requiredness before interaction"
41
30
  ],
42
- "product_decisions": [
43
- "required",
44
- "instructions"
31
+ "evidence_routes": [
32
+ "unit",
33
+ "axe",
34
+ "human"
45
35
  ],
46
36
  "functional_spec_bindings": [
47
37
  "fields",
48
38
  "requiredness"
49
39
  ],
40
+ "id": "pattern.field",
50
41
  "implementation_outcomes": [
51
42
  "field-associations"
52
43
  ],
53
- "evidence_routes": [
54
- "unit",
55
- "axe",
56
- "human"
57
- ]
58
- }
44
+ "kind": "pattern",
45
+ "product_decisions": [
46
+ "required",
47
+ "instructions"
48
+ ],
49
+ "requires": [
50
+ "semantics.form-label",
51
+ "semantics.form-required",
52
+ "semantics.focus.visible"
53
+ ],
54
+ "scope": "Labeled form input",
55
+ "standards_refs": [
56
+ {
57
+ "authority": "wcag-2.2",
58
+ "identifier": "3.3.2",
59
+ "level": "A",
60
+ "normative": true,
61
+ "url": "https://www.w3.org/TR/WCAG22/#labels-or-instructions"
62
+ },
63
+ {
64
+ "authority": "wcag-2.2",
65
+ "identifier": "4.1.2",
66
+ "level": "A",
67
+ "normative": true,
68
+ "url": "https://www.w3.org/TR/WCAG22/#name-role-value"
69
+ }
70
+ ],
71
+ "title": "Form field",
72
+ "version": "1.0.0"
73
+ },
74
+ "schema_version": 3
59
75
  }
@@ -1,22 +1,14 @@
1
1
  {
2
2
  "_generated": "GENERATED by @verndale/accessibility-standards; DO NOT EDIT",
3
3
  "_provenance": {
4
- "package": "@verndale/accessibility-standards@2.0.0",
4
+ "package": "@verndale/accessibility-standards@3.0.0",
5
5
  "profile": "conductor",
6
- "profile_version": "2.0.0",
7
- "profile_digest": "4840ac3a4910f8dc3a850df266a141e0e4df94ca3c8935ae4531c56f6be91e65",
8
- "schema_version": 2,
9
- "source_digest": "e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0"
6
+ "profile_digest": "beadcb5fe8151303b3e3241de4fee0ece3be9ff2f4dbdb3a6f93a363b0a2d491",
7
+ "profile_version": "3.0.0",
8
+ "schema_version": 3,
9
+ "source_digest": "708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af"
10
10
  },
11
- "schema_version": 2,
12
11
  "pattern": {
13
- "id": "pattern.image",
14
- "version": "1.0.0",
15
- "title": "Image",
16
- "kind": "pattern",
17
- "requires": [
18
- "semantics.non-text-alternative"
19
- ],
20
12
  "activation": {
21
13
  "any": [
22
14
  {
@@ -33,23 +25,40 @@
33
25
  }
34
26
  ]
35
27
  },
36
- "scope": "Informative, functional, complex, or decorative image",
37
28
  "behavior": [
38
29
  "Alternative follows image purpose"
39
30
  ],
40
- "product_decisions": [
41
- "purpose",
42
- "long_description"
31
+ "evidence_routes": [
32
+ "axe",
33
+ "human"
43
34
  ],
44
35
  "functional_spec_bindings": [
45
36
  "content"
46
37
  ],
38
+ "id": "pattern.image",
47
39
  "implementation_outcomes": [
48
40
  "image-alternative"
49
41
  ],
50
- "evidence_routes": [
51
- "axe",
52
- "human"
53
- ]
54
- }
42
+ "kind": "pattern",
43
+ "product_decisions": [
44
+ "purpose",
45
+ "long_description"
46
+ ],
47
+ "requires": [
48
+ "semantics.non-text-alternative"
49
+ ],
50
+ "scope": "Informative, functional, complex, or decorative image",
51
+ "standards_refs": [
52
+ {
53
+ "authority": "wcag-2.2",
54
+ "identifier": "1.1.1",
55
+ "level": "A",
56
+ "normative": true,
57
+ "url": "https://www.w3.org/TR/WCAG22/#non-text-content"
58
+ }
59
+ ],
60
+ "title": "Image",
61
+ "version": "1.0.0"
62
+ },
63
+ "schema_version": 3
55
64
  }
@@ -1,53 +1,61 @@
1
1
  {
2
2
  "_generated": "GENERATED by @verndale/accessibility-standards; DO NOT EDIT",
3
3
  "_provenance": {
4
- "package": "@verndale/accessibility-standards@2.0.0",
4
+ "package": "@verndale/accessibility-standards@3.0.0",
5
5
  "profile": "conductor",
6
- "profile_version": "2.0.0",
7
- "profile_digest": "4840ac3a4910f8dc3a850df266a141e0e4df94ca3c8935ae4531c56f6be91e65",
8
- "schema_version": 2,
9
- "source_digest": "e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0"
6
+ "profile_digest": "beadcb5fe8151303b3e3241de4fee0ece3be9ff2f4dbdb3a6f93a363b0a2d491",
7
+ "profile_version": "3.0.0",
8
+ "schema_version": 3,
9
+ "source_digest": "708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af"
10
10
  },
11
- "schema_version": 2,
12
11
  "pattern": {
13
- "id": "pattern.listbox",
14
- "version": "1.0.0",
15
- "title": "Listbox",
16
- "kind": "pattern",
17
- "requires": [
18
- "semantics.accessible-name",
19
- "semantics.selected-state",
20
- "semantics.keyboard",
21
- "semantics.focus.visible"
22
- ],
23
12
  "activation": {
24
13
  "contains": {
25
14
  "fact": "component.accessibility_pattern_ids",
26
15
  "value": "pattern.listbox"
27
16
  }
28
17
  },
29
- "scope": "Single or multi-select option list",
30
18
  "behavior": [
31
19
  "Arrow keys move active option",
32
20
  "Selection follows declared model"
33
21
  ],
34
- "product_decisions": [
35
- "single_or_multi",
36
- "selection_follows_focus"
22
+ "evidence_routes": [
23
+ "unit",
24
+ "axe",
25
+ "e2e",
26
+ "human"
37
27
  ],
38
28
  "functional_spec_bindings": [
39
29
  "behavior",
40
30
  "states",
41
31
  "keyboard"
42
32
  ],
33
+ "id": "pattern.listbox",
43
34
  "implementation_outcomes": [
44
35
  "listbox-keyboard-model"
45
36
  ],
46
- "evidence_routes": [
47
- "unit",
48
- "axe",
49
- "e2e",
50
- "human"
51
- ]
52
- }
37
+ "kind": "pattern",
38
+ "product_decisions": [
39
+ "single_or_multi",
40
+ "selection_follows_focus"
41
+ ],
42
+ "requires": [
43
+ "semantics.accessible-name",
44
+ "semantics.selected-state",
45
+ "semantics.keyboard",
46
+ "semantics.focus.visible"
47
+ ],
48
+ "scope": "Single or multi-select option list",
49
+ "standards_refs": [
50
+ {
51
+ "authority": "aria-apg",
52
+ "identifier": "listbox",
53
+ "normative": false,
54
+ "url": "https://www.w3.org/WAI/ARIA/apg/patterns/listbox/"
55
+ }
56
+ ],
57
+ "title": "Listbox",
58
+ "version": "1.0.0"
59
+ },
60
+ "schema_version": 3
53
61
  }
@@ -1,26 +1,14 @@
1
1
  {
2
2
  "_generated": "GENERATED by @verndale/accessibility-standards; DO NOT EDIT",
3
3
  "_provenance": {
4
- "package": "@verndale/accessibility-standards@2.0.0",
4
+ "package": "@verndale/accessibility-standards@3.0.0",
5
5
  "profile": "conductor",
6
- "profile_version": "2.0.0",
7
- "profile_digest": "4840ac3a4910f8dc3a850df266a141e0e4df94ca3c8935ae4531c56f6be91e65",
8
- "schema_version": 2,
9
- "source_digest": "e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0"
6
+ "profile_digest": "beadcb5fe8151303b3e3241de4fee0ece3be9ff2f4dbdb3a6f93a363b0a2d491",
7
+ "profile_version": "3.0.0",
8
+ "schema_version": 3,
9
+ "source_digest": "708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af"
10
10
  },
11
- "schema_version": 2,
12
11
  "pattern": {
13
- "id": "pattern.media-player",
14
- "version": "1.0.0",
15
- "title": "Media player",
16
- "kind": "pattern",
17
- "requires": [
18
- "semantics.media-alternatives",
19
- "semantics.accessible-name",
20
- "semantics.keyboard",
21
- "semantics.focus.visible",
22
- "semantics.motion-control"
23
- ],
24
12
  "activation": {
25
13
  "any": [
26
14
  {
@@ -37,29 +25,71 @@
37
25
  }
38
26
  ]
39
27
  },
40
- "scope": "Audio or video playback",
41
28
  "behavior": [
42
29
  "Provide keyboard-operable named controls and required alternatives"
43
30
  ],
44
- "product_decisions": [
45
- "captions",
46
- "transcript",
47
- "audio_description",
48
- "autoplay"
31
+ "evidence_routes": [
32
+ "axe",
33
+ "e2e",
34
+ "human"
49
35
  ],
50
36
  "functional_spec_bindings": [
51
37
  "content",
52
38
  "controls",
53
39
  "behavior"
54
40
  ],
41
+ "id": "pattern.media-player",
55
42
  "implementation_outcomes": [
56
43
  "media-alternatives",
57
44
  "media-controls"
58
45
  ],
59
- "evidence_routes": [
60
- "axe",
61
- "e2e",
62
- "human"
63
- ]
64
- }
46
+ "kind": "pattern",
47
+ "product_decisions": [
48
+ "captions",
49
+ "transcript",
50
+ "audio_description",
51
+ "autoplay"
52
+ ],
53
+ "requires": [
54
+ "semantics.media-alternatives",
55
+ "semantics.accessible-name",
56
+ "semantics.keyboard",
57
+ "semantics.focus.visible",
58
+ "semantics.motion-control"
59
+ ],
60
+ "scope": "Audio or video playback",
61
+ "standards_refs": [
62
+ {
63
+ "authority": "wcag-2.2",
64
+ "identifier": "1.2.1",
65
+ "level": "A",
66
+ "normative": true,
67
+ "url": "https://www.w3.org/TR/WCAG22/#audio-only-and-video-only-prerecorded"
68
+ },
69
+ {
70
+ "authority": "wcag-2.2",
71
+ "identifier": "1.2.2",
72
+ "level": "A",
73
+ "normative": true,
74
+ "url": "https://www.w3.org/TR/WCAG22/#captions-prerecorded"
75
+ },
76
+ {
77
+ "authority": "wcag-2.2",
78
+ "identifier": "1.2.3",
79
+ "level": "A",
80
+ "normative": true,
81
+ "url": "https://www.w3.org/TR/WCAG22/#audio-description-or-media-alternative-prerecorded"
82
+ },
83
+ {
84
+ "authority": "wcag-2.2",
85
+ "identifier": "1.2.5",
86
+ "level": "AA",
87
+ "normative": true,
88
+ "url": "https://www.w3.org/TR/WCAG22/#audio-description-prerecorded"
89
+ }
90
+ ],
91
+ "title": "Media player",
92
+ "version": "1.0.0"
93
+ },
94
+ "schema_version": 3
65
95
  }
@@ -1,51 +1,59 @@
1
1
  {
2
2
  "_generated": "GENERATED by @verndale/accessibility-standards; DO NOT EDIT",
3
3
  "_provenance": {
4
- "package": "@verndale/accessibility-standards@2.0.0",
4
+ "package": "@verndale/accessibility-standards@3.0.0",
5
5
  "profile": "conductor",
6
- "profile_version": "2.0.0",
7
- "profile_digest": "4840ac3a4910f8dc3a850df266a141e0e4df94ca3c8935ae4531c56f6be91e65",
8
- "schema_version": 2,
9
- "source_digest": "e4bf4272751c21e417ddd3e6c52308bf804fab097629ba843964532e7f97d9f0"
6
+ "profile_digest": "beadcb5fe8151303b3e3241de4fee0ece3be9ff2f4dbdb3a6f93a363b0a2d491",
7
+ "profile_version": "3.0.0",
8
+ "schema_version": 3,
9
+ "source_digest": "708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af"
10
10
  },
11
- "schema_version": 2,
12
11
  "pattern": {
13
- "id": "pattern.menu-button",
14
- "version": "1.0.0",
15
- "title": "Menu button",
16
- "kind": "pattern",
17
- "requires": [
18
- "semantics.accessible-name",
19
- "semantics.expanded-state",
20
- "semantics.keyboard",
21
- "semantics.focus.initial",
22
- "semantics.focus.return"
23
- ],
24
12
  "activation": {
25
13
  "contains": {
26
14
  "fact": "component.accessibility_pattern_ids",
27
15
  "value": "pattern.menu-button"
28
16
  }
29
17
  },
30
- "scope": "Button opening a command menu",
31
18
  "behavior": [
32
19
  "Open and navigate menu by keyboard"
33
20
  ],
34
- "product_decisions": [
35
- "focus_strategy"
21
+ "evidence_routes": [
22
+ "unit",
23
+ "e2e",
24
+ "human"
36
25
  ],
37
26
  "functional_spec_bindings": [
38
27
  "behavior",
39
28
  "keyboard",
40
29
  "focus"
41
30
  ],
31
+ "id": "pattern.menu-button",
42
32
  "implementation_outcomes": [
43
33
  "menu-button-keyboard"
44
34
  ],
45
- "evidence_routes": [
46
- "unit",
47
- "e2e",
48
- "human"
49
- ]
50
- }
35
+ "kind": "pattern",
36
+ "product_decisions": [
37
+ "focus_strategy"
38
+ ],
39
+ "requires": [
40
+ "semantics.accessible-name",
41
+ "semantics.expanded-state",
42
+ "semantics.keyboard",
43
+ "semantics.focus.initial",
44
+ "semantics.focus.return"
45
+ ],
46
+ "scope": "Button opening a command menu",
47
+ "standards_refs": [
48
+ {
49
+ "authority": "aria-apg",
50
+ "identifier": "menu-button",
51
+ "normative": false,
52
+ "url": "https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/"
53
+ }
54
+ ],
55
+ "title": "Menu button",
56
+ "version": "1.0.0"
57
+ },
58
+ "schema_version": 3
51
59
  }