@verndale/accessibility-standards 1.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 (171) hide show
  1. package/OPERATING.md +3 -1
  2. package/README.md +4 -0
  3. package/bin/accessibility-standards.mjs +1 -1
  4. package/dist/manifest.json +159 -101
  5. package/dist/profiles/ai-orchestration/coverage-manifest.json +724 -68
  6. package/dist/profiles/ai-orchestration/implementation/accessibility.md +825 -10
  7. package/dist/profiles/ai-orchestration/pattern-contracts.json +1015 -343
  8. package/dist/profiles/ai-orchestration/patterns/accordion.md +14 -0
  9. package/dist/profiles/ai-orchestration/patterns/alert.md +14 -0
  10. package/dist/profiles/ai-orchestration/patterns/carousel.md +14 -0
  11. package/dist/profiles/ai-orchestration/patterns/checkbox.md +27 -0
  12. package/dist/profiles/ai-orchestration/patterns/combobox.md +14 -0
  13. package/dist/profiles/ai-orchestration/patterns/consequential-submission.md +15 -1
  14. package/dist/profiles/ai-orchestration/patterns/dialog.md +14 -0
  15. package/dist/profiles/ai-orchestration/patterns/disclosure.md +14 -0
  16. package/dist/profiles/ai-orchestration/patterns/dynamic-status.md +14 -0
  17. package/dist/profiles/ai-orchestration/patterns/field.md +15 -0
  18. package/dist/profiles/ai-orchestration/patterns/image.md +14 -0
  19. package/dist/profiles/ai-orchestration/patterns/listbox.md +14 -0
  20. package/dist/profiles/ai-orchestration/patterns/media-player.md +17 -0
  21. package/dist/profiles/ai-orchestration/patterns/menu-button.md +14 -0
  22. package/dist/profiles/ai-orchestration/patterns/menu.md +30 -0
  23. package/dist/profiles/ai-orchestration/patterns/pagination.md +14 -0
  24. package/dist/profiles/ai-orchestration/patterns/popover.md +15 -0
  25. package/dist/profiles/ai-orchestration/patterns/progress.md +15 -0
  26. package/dist/profiles/ai-orchestration/patterns/radio-group.md +27 -0
  27. package/dist/profiles/ai-orchestration/patterns/slider.md +31 -0
  28. package/dist/profiles/ai-orchestration/patterns/spinbutton.md +28 -0
  29. package/dist/profiles/ai-orchestration/patterns/tabs.md +14 -0
  30. package/dist/profiles/ai-orchestration/patterns/tooltip.md +14 -0
  31. package/dist/profiles/ai-orchestration/patterns/tree-view.md +31 -0
  32. package/dist/profiles/ai-orchestration/patterns/validation.md +15 -0
  33. package/dist/profiles/ai-orchestration/review/accessibility.md +21 -6
  34. package/dist/profiles/ai-orchestration/semantics/accessible-authentication.md +13 -0
  35. package/dist/profiles/ai-orchestration/semantics/accessible-name.md +8 -1
  36. package/dist/profiles/ai-orchestration/semantics/alert.md +7 -0
  37. package/dist/profiles/ai-orchestration/semantics/consequential-action.md +6 -1
  38. package/dist/profiles/ai-orchestration/semantics/consistent-help.md +13 -0
  39. package/dist/profiles/ai-orchestration/semantics/data-table.md +7 -1
  40. package/dist/profiles/ai-orchestration/semantics/dragging-alternative.md +13 -0
  41. package/dist/profiles/ai-orchestration/semantics/expanded-state.md +6 -0
  42. package/dist/profiles/ai-orchestration/semantics/focus.initial.md +4 -0
  43. package/dist/profiles/ai-orchestration/semantics/focus.return.md +4 -0
  44. package/dist/profiles/ai-orchestration/semantics/focus.visible.md +8 -1
  45. package/dist/profiles/ai-orchestration/semantics/form-error.md +8 -1
  46. package/dist/profiles/ai-orchestration/semantics/form-label.md +7 -0
  47. package/dist/profiles/ai-orchestration/semantics/form-required.md +7 -0
  48. package/dist/profiles/ai-orchestration/semantics/headings.md +7 -0
  49. package/dist/profiles/ai-orchestration/semantics/keyboard.escape.md +4 -0
  50. package/dist/profiles/ai-orchestration/semantics/keyboard.md +7 -0
  51. package/dist/profiles/ai-orchestration/semantics/landmarks.md +6 -0
  52. package/dist/profiles/ai-orchestration/semantics/live-status.md +7 -1
  53. package/dist/profiles/ai-orchestration/semantics/media-alternatives.md +11 -0
  54. package/dist/profiles/ai-orchestration/semantics/motion-control.md +8 -1
  55. package/dist/profiles/ai-orchestration/semantics/name-role-value.md +6 -1
  56. package/dist/profiles/ai-orchestration/semantics/native-dialog.md +7 -0
  57. package/dist/profiles/ai-orchestration/semantics/native-elements.md +5 -0
  58. package/dist/profiles/ai-orchestration/semantics/non-text-alternative.md +5 -0
  59. package/dist/profiles/ai-orchestration/semantics/redundant-entry.md +13 -0
  60. package/dist/profiles/ai-orchestration/semantics/roles-states-properties.md +6 -0
  61. package/dist/profiles/ai-orchestration/semantics/selected-state.md +6 -0
  62. package/dist/profiles/ai-orchestration/semantics/target-size.md +6 -1
  63. package/dist/profiles/ai-orchestration/semantics.json +843 -100
  64. package/dist/profiles/ai-orchestration/testing/accessibility.md +33 -3
  65. package/dist/profiles/ai-orchestration/ui-design-brain-bindings.json +836 -0
  66. package/dist/profiles/conductor/a11y-semantics.md +270 -10
  67. package/dist/profiles/conductor/accessibility-quality.md +557 -1
  68. package/dist/profiles/conductor/applicability-matrix.json +270 -230
  69. package/dist/profiles/conductor/coverage-manifest.json +724 -68
  70. package/dist/profiles/conductor/pattern-contracts.json +1015 -343
  71. package/dist/profiles/conductor/patterns/accordion.json +42 -24
  72. package/dist/profiles/conductor/patterns/alert.json +36 -18
  73. package/dist/profiles/conductor/patterns/carousel.json +43 -25
  74. package/dist/profiles/conductor/patterns/checkbox.json +67 -0
  75. package/dist/profiles/conductor/patterns/combobox.json +44 -26
  76. package/dist/profiles/conductor/patterns/consequential-submission.json +41 -22
  77. package/dist/profiles/conductor/patterns/dialog.json +44 -26
  78. package/dist/profiles/conductor/patterns/disclosure.json +40 -22
  79. package/dist/profiles/conductor/patterns/dynamic-status.json +38 -19
  80. package/dist/profiles/conductor/patterns/field.json +58 -22
  81. package/dist/profiles/conductor/patterns/image.json +48 -19
  82. package/dist/profiles/conductor/patterns/listbox.json +42 -24
  83. package/dist/profiles/conductor/patterns/media-player.json +76 -26
  84. package/dist/profiles/conductor/patterns/menu-button.json +41 -23
  85. package/dist/profiles/conductor/patterns/menu.json +78 -0
  86. package/dist/profiles/conductor/patterns/pagination.json +41 -22
  87. package/dist/profiles/conductor/patterns/popover.json +49 -23
  88. package/dist/profiles/conductor/patterns/progress.json +45 -20
  89. package/dist/profiles/conductor/patterns/radio-group.json +69 -0
  90. package/dist/profiles/conductor/patterns/slider.json +84 -0
  91. package/dist/profiles/conductor/patterns/spinbutton.json +74 -0
  92. package/dist/profiles/conductor/patterns/tabs.json +41 -23
  93. package/dist/profiles/conductor/patterns/tooltip.json +38 -20
  94. package/dist/profiles/conductor/patterns/tree-view.json +77 -0
  95. package/dist/profiles/conductor/patterns/validation.json +59 -23
  96. package/dist/profiles/conductor/semantics.json +843 -100
  97. package/dist/profiles/conductor/ui-design-brain-bindings.json +836 -0
  98. package/dist/projection-manifest.json +123 -82
  99. package/dist/requirements-to-implementation.md +8 -0
  100. package/lib/build-manifest.mjs +12 -6
  101. package/lib/build.mjs +21 -7
  102. package/lib/compile-applicability.mjs +131 -10
  103. package/lib/coverage.mjs +20 -0
  104. package/lib/digest.mjs +8 -0
  105. package/lib/index.mjs +1 -1
  106. package/lib/load.mjs +44 -1
  107. package/lib/provenance.mjs +51 -0
  108. package/lib/render.mjs +115 -31
  109. package/lib/sync.mjs +242 -28
  110. package/lib/validate.mjs +557 -24
  111. package/package.json +27 -10
  112. package/profiles/ai-orchestration/profile.json +1 -1
  113. package/profiles/ai-orchestration/templates/patterns/README.md +1 -1
  114. package/profiles/ai-orchestration/templates/review/README.md +1 -1
  115. package/profiles/ai-orchestration/templates/semantics/README.md +1 -1
  116. package/profiles/ai-orchestration/templates/testing/README.md +1 -1
  117. package/profiles/conductor/profile.json +1 -1
  118. package/profiles/conductor/templates/evidence/README.md +1 -1
  119. package/profiles/conductor/templates/patterns/README.md +1 -1
  120. package/profiles/conductor/templates/semantics/README.md +1 -1
  121. package/schemas/consumer-config.schema.json +1 -1
  122. package/schemas/contract.schema.json +1 -0
  123. package/schemas/manifest.schema.json +1 -1
  124. package/schemas/pattern.schema.json +98 -1
  125. package/schemas/profile.schema.json +1 -1
  126. package/schemas/projection-manifest.schema.json +84 -1
  127. package/schemas/semantic.schema.json +26 -1
  128. package/schemas/standards-reference.schema.json +105 -0
  129. package/schemas/ui-design-brain-bindings.schema.json +86 -0
  130. package/schemas/wcag-coverage.schema.json +93 -0
  131. package/src/applicability/facts.yml +27 -1
  132. package/src/applicability/matrix.yml +8 -9
  133. package/src/applicability/ui-design-brain-bindings.yml +196 -0
  134. package/src/contract.yml +1 -0
  135. package/src/coverage/wcag-2.2.yml +68 -0
  136. package/src/patterns/disclosure/accordion.yml +1 -1
  137. package/src/patterns/disclosure/disclosure.yml +1 -1
  138. package/src/patterns/feedback/alert.yml +1 -1
  139. package/src/patterns/feedback/dynamic-status.yml +1 -1
  140. package/src/patterns/feedback/progress.yml +1 -1
  141. package/src/patterns/forms/consequential-submission.yml +1 -1
  142. package/src/patterns/forms/field.yml +1 -1
  143. package/src/patterns/forms/spinbutton.yml +1 -0
  144. package/src/patterns/forms/validation.yml +1 -1
  145. package/src/patterns/media/carousel.yml +1 -1
  146. package/src/patterns/media/image.yml +1 -1
  147. package/src/patterns/media/media-player.yml +1 -1
  148. package/src/patterns/navigation/menu-button.yml +1 -1
  149. package/src/patterns/navigation/menu.yml +1 -0
  150. package/src/patterns/navigation/pagination.yml +1 -1
  151. package/src/patterns/navigation/tabs.yml +1 -1
  152. package/src/patterns/navigation/tree-view.yml +1 -0
  153. package/src/patterns/overlays/dialog.yml +1 -1
  154. package/src/patterns/overlays/popover.yml +1 -1
  155. package/src/patterns/overlays/tooltip.yml +1 -1
  156. package/src/patterns/selection/checkbox.yml +1 -0
  157. package/src/patterns/selection/combobox.yml +1 -1
  158. package/src/patterns/selection/listbox.yml +1 -1
  159. package/src/patterns/selection/radio-group.yml +1 -0
  160. package/src/patterns/selection/slider.yml +1 -0
  161. package/src/semantics/accessible-names.yml +1 -1
  162. package/src/semantics/forms.yml +1 -1
  163. package/src/semantics/headings-landmarks.yml +1 -1
  164. package/src/semantics/keyboard-focus.yml +1 -1
  165. package/src/semantics/live-regions.yml +1 -1
  166. package/src/semantics/media.yml +1 -1
  167. package/src/semantics/native-elements.yml +1 -1
  168. package/src/semantics/roles-states-properties.yml +1 -1
  169. package/src/semantics/tables.yml +1 -1
  170. package/src/semantics/wcag-2.2.yml +1 -0
  171. package/src/sources.yml +1 -1
package/OPERATING.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Operating contract
2
2
 
3
- Source records under `src/` are normative. Patterns reference semantic IDs; they do not restate semantic rules. `dist/` and consumer projections are generated and are never edited manually.
3
+ Source records under `src/` are canonical package inputs. Each standards reference declares whether its authority is normative; WCAG Understanding and APG guidance remain informative. Patterns reference semantic IDs rather than restating conformance rules, and the WCAG coverage inventory makes partial coverage and gaps explicit. `dist/` and consumer projections are generated and are never edited manually.
4
+
5
+ UI Design Brain owns canonical UI names and aliases, not accessibility obligations. `src/applicability/ui-design-brain-bindings.yml` is the accessibility-owned, exact-version bridge. Only canonical `component.ui_pattern_ids` enter the resolver; aliases are resolved by the UI catalog first, unknown IDs fail closed, and candidate mappings ask only for their declared typed discriminator facts.
4
6
 
5
7
  Changes must pass schema, dependency, applicability, projection, deterministic rendering, and wiki checks. A package upgrade is explicit; sync hooks only use the exact installed lockfile version and never contact a registry.
package/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  `@verndale/accessibility-standards` is Verndale's canonical, versioned authority for accessibility semantics, interaction patterns, applicability decisions, and evidence routing.
4
4
 
5
+ UI Design Brain remains the separate authority for canonical UI pattern names and aliases. This package pins its catalog manifest and projects a validated binding from canonical UI slugs to accessibility pattern and capability-filtered baseline semantic IDs. The binding classifies every catalog slug as `direct`, `candidate`, or `baseline-only`; aliases and free-form Markdown never enter applicability evaluation.
6
+
5
7
  The package projects the same source records into two purpose-specific profiles:
6
8
 
7
9
  - `conductor` — Functional Specification and Acceptance Criteria contracts.
@@ -9,6 +11,8 @@ The package projects the same source records into two purpose-specific profiles:
9
11
 
10
12
  Consumers pin an exact package version and commit a config, route map, and generated provenance. Generated outputs are deterministic and carry a do-not-edit marker plus source/config/route digests.
11
13
 
14
+ The schema-3 projection is targeted for `@verndale/accessibility-standards@3.0.0`. It adds criterion-level standards references and a complete WCAG 2.2 Level A/AA coverage inventory to the existing deterministic UI-binding, evidence, and provenance outputs.
15
+
12
16
  ## Commands
13
17
 
14
18
  ```sh
@@ -14,7 +14,7 @@ const value = (name) => {
14
14
  try {
15
15
  if (command === 'validate') {
16
16
  const result = validateStandards(await loadStandards());
17
- console.log(`PASS standards validation: ${result.semantics} semantics, ${result.patterns} patterns, ${result.applicability} applicability rows`);
17
+ console.log(`PASS standards validation: ${result.semantics} semantics, ${result.patterns} patterns, ${result.applicability} applicability rows, ${result.uiPatternBindings} UI pattern bindings`);
18
18
  } else if (command === 'build') {
19
19
  const result = await buildDistribution();
20
20
  console.log(`PASS distribution build: ${result.records} records, ${result.profiles} profiles`);
@@ -1,202 +1,260 @@
1
1
  {
2
- "package": "@verndale/accessibility-standards@1.0.0",
3
- "schema_version": 1,
2
+ "_generated": "GENERATED by @verndale/accessibility-standards; DO NOT EDIT",
3
+ "package": "@verndale/accessibility-standards@3.0.0",
4
+ "profile_digests": {
5
+ "ai-orchestration": "de396e9a23010dff2e8abf3ae7e8500153599583ffa31a595b3a94fbe9df3da4",
6
+ "conductor": "beadcb5fe8151303b3e3241de4fee0ece3be9ff2f4dbdb3a6f93a363b0a2d491"
7
+ },
4
8
  "records": [
5
9
  {
6
- "id": "foundation.conformance-boundary",
7
- "digest": "ee9e98c41419692bb3ea850488c4432f4b11e7c21fc4eec1d971f84f1bdd7d38"
10
+ "digest": "ee9e98c41419692bb3ea850488c4432f4b11e7c21fc4eec1d971f84f1bdd7d38",
11
+ "id": "foundation.conformance-boundary"
8
12
  },
9
13
  {
10
- "id": "foundation.standards-hierarchy",
11
- "digest": "d8321ed3672f9268a204c5f2acaf4af10a5a2a29f4ceca9bb87b89ad82d72db2"
14
+ "digest": "d8321ed3672f9268a204c5f2acaf4af10a5a2a29f4ceca9bb87b89ad82d72db2",
15
+ "id": "foundation.standards-hierarchy"
12
16
  },
13
17
  {
14
- "id": "foundation.wcag-2.2",
15
- "digest": "fb9629434fd412f167b572cac52ece8bac12113108381c69b9351ebed29af4f8"
18
+ "digest": "fb9629434fd412f167b572cac52ece8bac12113108381c69b9351ebed29af4f8",
19
+ "id": "foundation.wcag-2.2"
16
20
  },
17
21
  {
18
- "id": "pattern.accordion",
19
- "digest": "f723e05158f0cd7444ab64f30944ddb27eeeaf79b0cb98f559c080855991dddd"
22
+ "digest": "0b58f8a10bdf9752af50bc45b2835c8c6fd1799a260cf79b4a725d19adeec4f1",
23
+ "id": "pattern.accordion"
20
24
  },
21
25
  {
22
- "id": "pattern.alert",
23
- "digest": "341ea6c32b412a435890c88db938aa1a74bbb5b5c1ef6c3ff56ce274c40896c9"
26
+ "digest": "5b1181a720f62fb325b6b7e28e6bf968909879a340e805375172c3682bd2fca1",
27
+ "id": "pattern.alert"
24
28
  },
25
29
  {
26
- "id": "pattern.carousel",
27
- "digest": "b3e227b40eaf9cac0c860723f9c6b0e82da91c0da4a66fdc027b4781c3246aed"
30
+ "digest": "7fd2817a617e50f3a2cd05bb5fa56ce1f73b7dfad2266912e5952f1959e88b65",
31
+ "id": "pattern.carousel"
28
32
  },
29
33
  {
30
- "id": "pattern.combobox",
31
- "digest": "ef6509c2a34fb3f7acb0c6c286f00300c6712c10d363aa41864d6e430699c14c"
34
+ "digest": "8d6b13911d072c67d2d33950645d595e04e2506f6dc5a483af26192bbca18a88",
35
+ "id": "pattern.checkbox"
32
36
  },
33
37
  {
34
- "id": "pattern.consequential-submission",
35
- "digest": "b272f3689210fe291f04b2cd173a90284693191a2cb4425190a9f5f51d827bf9"
38
+ "digest": "b35cd0da3192f9a3a59ae3ca4a48ad3010285e3cd84410ba52a06698b69d7334",
39
+ "id": "pattern.combobox"
36
40
  },
37
41
  {
38
- "id": "pattern.dialog",
39
- "digest": "d15111ab6dcbca62fc48ca357cab29481f7bac387c36e23ecafdd3aef643bb55"
42
+ "digest": "eadb3d70f4f48152e03454bb119144c0b42bbff64f016212e1f452b308df8a8e",
43
+ "id": "pattern.consequential-submission"
40
44
  },
41
45
  {
42
- "id": "pattern.disclosure",
43
- "digest": "2490e322684c827eafadb2de83aaf0a7a7834ca29c58ae321c3fdd9da7f8e6f0"
46
+ "digest": "2d8cdc768880c0899e08428ec292aec4de7bafdee8c8bdf918736ec9cad269bf",
47
+ "id": "pattern.dialog"
44
48
  },
45
49
  {
46
- "id": "pattern.dynamic-status",
47
- "digest": "1d5abfdd8e0ed4c33a4ac887185432a4606e57648e427c88d5dec49124a18b38"
50
+ "digest": "22587be2bf3e67d846d6806e1f0c27ec7ee1a506ff326f102d439842a9e9655e",
51
+ "id": "pattern.disclosure"
48
52
  },
49
53
  {
50
- "id": "pattern.field",
51
- "digest": "b6af8f2eeba9c0c89031b498e2240054f346f3eb7b8ffb426027fc8a85d0fbde"
54
+ "digest": "e2a8df5cf80105dfc23f9a1cc5f6d05a04cecc9423d0f6fdd8f875310ac4287c",
55
+ "id": "pattern.dynamic-status"
52
56
  },
53
57
  {
54
- "id": "pattern.image",
55
- "digest": "9681f6d1de7e1f5cf73894e060ba75c7c816b88cee1b67016868775f5a65ea92"
58
+ "digest": "3bc14b64d8709cab78a449de120b81e15bec341aaa2630c3c37bfea57f243d82",
59
+ "id": "pattern.field"
56
60
  },
57
61
  {
58
- "id": "pattern.listbox",
59
- "digest": "b1e02cd1282556d96b87ff3ff231f0476da76634d7de6d58e565e93f861d945c"
62
+ "digest": "3eb122014d00ba4c7a690a484133fe245088e5562238bf91770fbb004d90d75c",
63
+ "id": "pattern.image"
60
64
  },
61
65
  {
62
- "id": "pattern.media-player",
63
- "digest": "fbec9ca56d5122eae52a759ac23d7c67017b0cf9afdbb20c969e000701c376fc"
66
+ "digest": "c1c470f89c043c9b3aaec60d966c29202fc8154ddfcf4e9955c4e232955c5cb3",
67
+ "id": "pattern.listbox"
64
68
  },
65
69
  {
66
- "id": "pattern.menu-button",
67
- "digest": "30188cc0e698e37a7e091f5732461f5b9d770ca4b01b82f1c08909847b755f7b"
70
+ "digest": "8a1ffd78b09a90ef64f819b5f263afd86a4d811f3d692fc77750a69bf7b1747c",
71
+ "id": "pattern.media-player"
68
72
  },
69
73
  {
70
- "id": "pattern.pagination",
71
- "digest": "f2a170950724c9d61ad8d0d8cfd7e14d059d56bde491249242e44ebf2bf7cd7b"
74
+ "digest": "f84b7217b281ec92ea70c81bf82ac08995c94c20c7d81362caa8dcb62e18ba5e",
75
+ "id": "pattern.menu"
72
76
  },
73
77
  {
74
- "id": "pattern.popover",
75
- "digest": "c7cb16b9aef61a6f9f70ad3435fd1b48a3b7720a8dcb7da93962d9413a4c90ea"
78
+ "digest": "1cd5d0295126d0b403acc5643ba35f96a0cdf95c6b9e3b1b6e70a82bb0ed5857",
79
+ "id": "pattern.menu-button"
76
80
  },
77
81
  {
78
- "id": "pattern.progress",
79
- "digest": "4cb24645c360456652731d5ebb0035336128ffdc50dc735d7855d4bb4e09299a"
82
+ "digest": "41a135cc85ceb58ae81cb95cee5aabdcdd364f296612a9fccf97e514704124c2",
83
+ "id": "pattern.pagination"
80
84
  },
81
85
  {
82
- "id": "pattern.tabs",
83
- "digest": "817ed1bc20ca4f1051b34d0bedcdf2e2a1e670820a8c5f762b626552623dad31"
86
+ "digest": "782500cbe2ba2e1541ed75a65e53625ee7acc40e48d9455447ec7e2de9eda86c",
87
+ "id": "pattern.popover"
84
88
  },
85
89
  {
86
- "id": "pattern.tooltip",
87
- "digest": "4000f4d9ec2cc0218062d4ce5892c167ce98cee2636c1e27550d0f1d691fd1cf"
90
+ "digest": "8f8d05ccf5044cd05320eccbe685b6c46dde34af5509f6f6ac3e5c6238798562",
91
+ "id": "pattern.progress"
88
92
  },
89
93
  {
90
- "id": "pattern.validation",
91
- "digest": "e947031b4d62dc097d7674d372d726d84220afb23d6889a55c3434ef7b592ecf"
94
+ "digest": "7974f666436c6a417d3390dfcfcc079ba5f0d2c30a43333104ae22aa53f3e343",
95
+ "id": "pattern.radio-group"
92
96
  },
93
97
  {
94
- "id": "policy.enhanced-quality",
95
- "digest": "7e1c8c320ebdc36922964271d53cf48900e025489fda90b11c894036974727f9"
98
+ "digest": "a800ab3505a007cf1718405c254ba8721f77491d1552843d0ebb56c236655bfc",
99
+ "id": "pattern.slider"
96
100
  },
97
101
  {
98
- "id": "policy.target-size",
99
- "digest": "52344723debd55678352eede8704327199e109835ffac8c1a360ffc3da669cc4"
102
+ "digest": "10aeb9922320f9c64c50b780aaa0eb0d2236ce8c6beca16aadc5cd7477ac4566",
103
+ "id": "pattern.spinbutton"
100
104
  },
101
105
  {
102
- "id": "semantics.accessible-name",
103
- "digest": "72bbac127f708e788b2d1f48d9940d223a4421e2df596c485b233195a5f8e763"
106
+ "digest": "a9f18a8eeef17b23b6c08f42d6d5f7260440e84a99a15b119137bfe295f32229",
107
+ "id": "pattern.tabs"
104
108
  },
105
109
  {
106
- "id": "semantics.alert",
107
- "digest": "8dc09b4717dc44f725f604d466fe28da047bdd0a2a5b13348880424c54ab8f64"
110
+ "digest": "79c72fd09e2d56d8841a60cdc916b09754ddd47d8e793626e0cda1ce5a0bc0b5",
111
+ "id": "pattern.tooltip"
108
112
  },
109
113
  {
110
- "id": "semantics.consequential-action",
111
- "digest": "012b797e483164adf03a2c9c8bc2ca0311c7ee3600714e0c32606eaad9382d86"
114
+ "digest": "5962cead926adf82d4e0f0e07be674f513327e1b8cb2a13fea12877cad12f471",
115
+ "id": "pattern.tree-view"
112
116
  },
113
117
  {
114
- "id": "semantics.data-table",
115
- "digest": "acc77013a69ae21aeab8853a9519da2ea6d76cf0659df77039fcfde55551880c"
118
+ "digest": "0aab905f519c691333786c6e00466f49ed6b29980556d236eb4ad31b9b44acd6",
119
+ "id": "pattern.validation"
116
120
  },
117
121
  {
118
- "id": "semantics.expanded-state",
119
- "digest": "8e06334efb2fc48bf3f07f44c8971d1b66290de89280d38328f6cbd81ae66e39"
122
+ "digest": "7e1c8c320ebdc36922964271d53cf48900e025489fda90b11c894036974727f9",
123
+ "id": "policy.enhanced-quality"
120
124
  },
121
125
  {
122
- "id": "semantics.focus.initial",
123
- "digest": "b03db3ffdd13676c5875c3f9c6ffa1ad83be6bfd1af0b95bf24323b6560757c2"
126
+ "digest": "52344723debd55678352eede8704327199e109835ffac8c1a360ffc3da669cc4",
127
+ "id": "policy.target-size"
124
128
  },
125
129
  {
126
- "id": "semantics.focus.return",
127
- "digest": "0651a18b711a52f775bd0ea5fec9332a42c9d84de2db7a897f84aebdd2b0af21"
130
+ "digest": "8bc0e881d2bd44dc44ba24d0fdc5718a363a558e7361e862640a7e6c55e55846",
131
+ "id": "semantics.accessible-authentication"
128
132
  },
129
133
  {
130
- "id": "semantics.focus.visible",
131
- "digest": "4290cce3da8ab2e19187486296b2bd5c8812c5f85c8368b8c77459273864f52c"
134
+ "digest": "be4302ca75b1562a3e0973ce505645101ffaf2f52814df8fc4acc989b7362eff",
135
+ "id": "semantics.accessible-name"
132
136
  },
133
137
  {
134
- "id": "semantics.form-error",
135
- "digest": "0644be9b1fa04cd3da2691e71552b69ee53f0e1bdc949e1324a9e2eafcb21536"
138
+ "digest": "2bff47587afc63d5d9481bc7fb0af055050601e52521feb2a0fe33cfad490dcf",
139
+ "id": "semantics.alert"
136
140
  },
137
141
  {
138
- "id": "semantics.form-label",
139
- "digest": "5e0db51ea318aa15ebb20403a5a9a2e0e1930672cf94d776e547881b0bce8613"
142
+ "digest": "55b1d2882c4af8fe86b0e1c871afafc832ce0cdbaff6684d3aa260d315910d68",
143
+ "id": "semantics.consequential-action"
140
144
  },
141
145
  {
142
- "id": "semantics.form-required",
143
- "digest": "99a811afdcf07724df641d60fbdc8debcf86f79b3deab92450e9dc1da06b3ae4"
146
+ "digest": "202449ebe3d412addabcfa29ac3a00854471be2d794c249aaec1fbf54b18b8e5",
147
+ "id": "semantics.consistent-help"
144
148
  },
145
149
  {
146
- "id": "semantics.headings",
147
- "digest": "5e3744acdc7eb70d907e61441155f6e6141c99f360fa2edfec5048be5465bbad"
150
+ "digest": "2f50cbab8a3886193a491860bbef06e539dcfd12f66698f83b6b04d749eef3b9",
151
+ "id": "semantics.data-table"
148
152
  },
149
153
  {
150
- "id": "semantics.keyboard",
151
- "digest": "ea339526abc5cae463ff56fcc302b131e621d1a81e8d67987b4fd95f2baef5a9"
154
+ "digest": "2a8e895f61d7fe37ba6c909da2cbcebbd3ba2384d1f306d7a33a38a62e1ffe4d",
155
+ "id": "semantics.dragging-alternative"
152
156
  },
153
157
  {
154
- "id": "semantics.keyboard.escape",
155
- "digest": "49660048cd503c0800b731c93f4183c9d2b6600f417b723cf6b2fef851dfa04b"
158
+ "digest": "7e25eb39fa2a42e7ec3ec4e70df3899475b4c9d17e87e261d3aa5bcc275bfb27",
159
+ "id": "semantics.expanded-state"
156
160
  },
157
161
  {
158
- "id": "semantics.landmarks",
159
- "digest": "3c458e43d33148f3bc751122260478a8a6baadfd0a66d473653c118c590d596d"
162
+ "digest": "c45c582b579d996c9dc1a90b1bca64908ea437a2c52a801d2f4638501de8a620",
163
+ "id": "semantics.focus.initial"
160
164
  },
161
165
  {
162
- "id": "semantics.live-status",
163
- "digest": "38a8fd097aab3934acb70debd0db9590575eef1c9d6bd57aa737e0dd5022732d"
166
+ "digest": "244c77259a630992f821ccd35f8a9d99b2ae9a8048b1dcce6ebaf78a53d20227",
167
+ "id": "semantics.focus.return"
164
168
  },
165
169
  {
166
- "id": "semantics.media-alternatives",
167
- "digest": "c130ee8609807d7ae423596d425467be867567f45b270ae6a80aec4b5ae89fd8"
170
+ "digest": "115693f353bbe74ec92b7268e8064df5451b978e24fb4f147f95249accb00515",
171
+ "id": "semantics.focus.visible"
168
172
  },
169
173
  {
170
- "id": "semantics.motion-control",
171
- "digest": "3db27053a0240652d2d9e38d3d4639f92bac0d19788bfc77573e81c64f05e7e3"
174
+ "digest": "5d630e577947fa5703ae05b666b8ed8300390f141bda0e9f4ed2bb11dc13a5e7",
175
+ "id": "semantics.form-error"
172
176
  },
173
177
  {
174
- "id": "semantics.name-role-value",
175
- "digest": "aea65aeace7ee47e6ce447b5faac14a4fb62600fbe518eec4c4a6c2241f23b08"
178
+ "digest": "b3e69817c33510e50ef5985f59448d5234b92740355afdd8cdea1576ea815b5a",
179
+ "id": "semantics.form-label"
176
180
  },
177
181
  {
178
- "id": "semantics.native-dialog",
179
- "digest": "aae312f7e9c72002a332184198836e445605b33a49ab19f20376cef95e39e043"
182
+ "digest": "c878c1047205943ac7649f14e36f01d3b9a7b9be523f66cdbd92c5f568adeb4c",
183
+ "id": "semantics.form-required"
180
184
  },
181
185
  {
182
- "id": "semantics.native-elements",
183
- "digest": "9df6e8dbe7b34010d7ebc7615b2c40d5fa990c5c550be865138b680659604852"
186
+ "digest": "9ba09e78741ecfd38d6750b897f1cbbce19fa593331ef22207f8ee1be1990a0d",
187
+ "id": "semantics.headings"
184
188
  },
185
189
  {
186
- "id": "semantics.non-text-alternative",
187
- "digest": "eb46b0837130acd1a34e80ace5f2e8c90b11f5a6aead6cc17921d0e9c2c42a3a"
190
+ "digest": "275c0fa68b36c2ef826bd2e67796fdd64f9e9063087e636a9ed67b2b50f38724",
191
+ "id": "semantics.keyboard"
188
192
  },
189
193
  {
190
- "id": "semantics.roles-states-properties",
191
- "digest": "2f43c3cee11445abe5e783afb3a13ab32dd70b73371146f3b71b8b6511c7e6fc"
194
+ "digest": "beee6ed9631d04233f78cc2251eac04fb9ddbfe5c3be905ae266a1b905f92a85",
195
+ "id": "semantics.keyboard.escape"
192
196
  },
193
197
  {
194
- "id": "semantics.selected-state",
195
- "digest": "43df69e9cfea1b9fa6fdb8fb672911e28e871d3072d31ff2291281a92d24c1db"
198
+ "digest": "ab5e662fb318a9d2870d692c3d2472b5b90bd26df19ca127465cf9312a6a227b",
199
+ "id": "semantics.landmarks"
196
200
  },
197
201
  {
198
- "id": "semantics.target-size",
199
- "digest": "4fe5e9fde8e0276d252ab9b4381bfaaa1d4b899d0385a5c68ed049877636909d"
202
+ "digest": "2cd71d2268cfeccd6500579751ef8cd27eba422ffb10b95c2fc5a7737951404f",
203
+ "id": "semantics.live-status"
204
+ },
205
+ {
206
+ "digest": "a136b24dc51591e4f18b582839c86b5a26c1bc31b1a7e5574a25ec15d203725d",
207
+ "id": "semantics.media-alternatives"
208
+ },
209
+ {
210
+ "digest": "3d8052a2fe9c50d99f4d7ce5250e975e37b6d335d523e6299b1463e3776030af",
211
+ "id": "semantics.motion-control"
212
+ },
213
+ {
214
+ "digest": "f1e1b86c4e83b73152c393a8cffa5f22cccbe288abe74dbde29919a6d7846301",
215
+ "id": "semantics.name-role-value"
216
+ },
217
+ {
218
+ "digest": "0c93be6903196ce1d272044ac2cc1d6148555aa1c8da11f213747794438689ed",
219
+ "id": "semantics.native-dialog"
220
+ },
221
+ {
222
+ "digest": "8d2b2006b238970065e0702e333e9b7ff150a7284e9fba01730d7010b99c2ca4",
223
+ "id": "semantics.native-elements"
224
+ },
225
+ {
226
+ "digest": "312d9d5fc0b0c1ef3fed5fa8fd322a810b889bca30b428a4b86f15ecb2e2e49b",
227
+ "id": "semantics.non-text-alternative"
228
+ },
229
+ {
230
+ "digest": "538e0f4eef9cdeac04dda1fa451a2248c8d0f28e45c499367e724084d767494c",
231
+ "id": "semantics.redundant-entry"
232
+ },
233
+ {
234
+ "digest": "2920be42636e7e840fb47c742ede44345116f11349d5cd0157058c6fa68f3a0b",
235
+ "id": "semantics.roles-states-properties"
236
+ },
237
+ {
238
+ "digest": "76bf967d08cd7bee7dc8f417c6232c500d35b091d096f4db74cd9bef586ee108",
239
+ "id": "semantics.selected-state"
240
+ },
241
+ {
242
+ "digest": "e146d15bbe5718c496c0c9e1b0d8c6d054e064bff553e88b5854394b66ff42bf",
243
+ "id": "semantics.target-size"
200
244
  }
201
- ]
245
+ ],
246
+ "schema_version": 3,
247
+ "source_digest": "708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af",
248
+ "ui_design_brain": {
249
+ "binding_digest": "9c2e5264b3706778d800e6c8f7fb77ebceb34a8bb00937431cd42f5c0b2e9d39",
250
+ "catalog_authority_version": "1.15.1",
251
+ "manifest_digest": "sha256:63a0bc8d9537d6d4c0aef8fd8a539bf4a9181a50d0761bd63eae6fe59b4eddc9",
252
+ "manifest_path": "skills/ui-design-brain/catalog-manifest.json",
253
+ "package": "@verndale/ui-design-brain",
254
+ "package_version": "1.16.0",
255
+ "pattern_count": 80,
256
+ "repository": "https://github.com/verndale/ui-design-brain",
257
+ "source_digest": "sha256:1eda596fe341786b5ada25742b6487bc06685fff17cbd582bc1b58302097e3ff",
258
+ "tracking_issue": "https://github.com/verndale/ui-design-brain/issues/47"
259
+ }
202
260
  }