@verndale/accessibility-standards 1.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 (148) hide show
  1. package/OPERATING.md +5 -0
  2. package/README.md +22 -0
  3. package/bin/accessibility-standards.mjs +32 -0
  4. package/dist/manifest.json +202 -0
  5. package/dist/profiles/ai-orchestration/coverage-manifest.json +202 -0
  6. package/dist/profiles/ai-orchestration/implementation/accessibility.md +329 -0
  7. package/dist/profiles/ai-orchestration/pattern-contracts.json +697 -0
  8. package/dist/profiles/ai-orchestration/patterns/accordion.md +12 -0
  9. package/dist/profiles/ai-orchestration/patterns/alert.md +11 -0
  10. package/dist/profiles/ai-orchestration/patterns/carousel.md +12 -0
  11. package/dist/profiles/ai-orchestration/patterns/combobox.md +11 -0
  12. package/dist/profiles/ai-orchestration/patterns/consequential-submission.md +11 -0
  13. package/dist/profiles/ai-orchestration/patterns/dialog.md +12 -0
  14. package/dist/profiles/ai-orchestration/patterns/disclosure.md +11 -0
  15. package/dist/profiles/ai-orchestration/patterns/dynamic-status.md +11 -0
  16. package/dist/profiles/ai-orchestration/patterns/field.md +11 -0
  17. package/dist/profiles/ai-orchestration/patterns/image.md +11 -0
  18. package/dist/profiles/ai-orchestration/patterns/listbox.md +12 -0
  19. package/dist/profiles/ai-orchestration/patterns/media-player.md +11 -0
  20. package/dist/profiles/ai-orchestration/patterns/menu-button.md +11 -0
  21. package/dist/profiles/ai-orchestration/patterns/pagination.md +11 -0
  22. package/dist/profiles/ai-orchestration/patterns/popover.md +11 -0
  23. package/dist/profiles/ai-orchestration/patterns/progress.md +11 -0
  24. package/dist/profiles/ai-orchestration/patterns/tabs.md +12 -0
  25. package/dist/profiles/ai-orchestration/patterns/tooltip.md +12 -0
  26. package/dist/profiles/ai-orchestration/patterns/validation.md +11 -0
  27. package/dist/profiles/ai-orchestration/review/accessibility.md +67 -0
  28. package/dist/profiles/ai-orchestration/semantics/accessible-name.md +8 -0
  29. package/dist/profiles/ai-orchestration/semantics/alert.md +8 -0
  30. package/dist/profiles/ai-orchestration/semantics/consequential-action.md +8 -0
  31. package/dist/profiles/ai-orchestration/semantics/data-table.md +8 -0
  32. package/dist/profiles/ai-orchestration/semantics/expanded-state.md +8 -0
  33. package/dist/profiles/ai-orchestration/semantics/focus.initial.md +8 -0
  34. package/dist/profiles/ai-orchestration/semantics/focus.return.md +8 -0
  35. package/dist/profiles/ai-orchestration/semantics/focus.visible.md +8 -0
  36. package/dist/profiles/ai-orchestration/semantics/form-error.md +8 -0
  37. package/dist/profiles/ai-orchestration/semantics/form-label.md +8 -0
  38. package/dist/profiles/ai-orchestration/semantics/form-required.md +8 -0
  39. package/dist/profiles/ai-orchestration/semantics/headings.md +8 -0
  40. package/dist/profiles/ai-orchestration/semantics/keyboard.escape.md +8 -0
  41. package/dist/profiles/ai-orchestration/semantics/keyboard.md +8 -0
  42. package/dist/profiles/ai-orchestration/semantics/landmarks.md +8 -0
  43. package/dist/profiles/ai-orchestration/semantics/live-status.md +8 -0
  44. package/dist/profiles/ai-orchestration/semantics/media-alternatives.md +8 -0
  45. package/dist/profiles/ai-orchestration/semantics/motion-control.md +8 -0
  46. package/dist/profiles/ai-orchestration/semantics/name-role-value.md +8 -0
  47. package/dist/profiles/ai-orchestration/semantics/native-dialog.md +8 -0
  48. package/dist/profiles/ai-orchestration/semantics/native-elements.md +8 -0
  49. package/dist/profiles/ai-orchestration/semantics/non-text-alternative.md +8 -0
  50. package/dist/profiles/ai-orchestration/semantics/roles-states-properties.md +8 -0
  51. package/dist/profiles/ai-orchestration/semantics/selected-state.md +8 -0
  52. package/dist/profiles/ai-orchestration/semantics/target-size.md +8 -0
  53. package/dist/profiles/ai-orchestration/semantics.json +289 -0
  54. package/dist/profiles/ai-orchestration/testing/accessibility.md +138 -0
  55. package/dist/profiles/conductor/a11y-semantics.md +152 -0
  56. package/dist/profiles/conductor/accessibility-quality.md +179 -0
  57. package/dist/profiles/conductor/applicability-matrix.json +428 -0
  58. package/dist/profiles/conductor/coverage-manifest.json +202 -0
  59. package/dist/profiles/conductor/pattern-contracts.json +697 -0
  60. package/dist/profiles/conductor/patterns/accordion.json +44 -0
  61. package/dist/profiles/conductor/patterns/alert.json +34 -0
  62. package/dist/profiles/conductor/patterns/carousel.json +45 -0
  63. package/dist/profiles/conductor/patterns/combobox.json +44 -0
  64. package/dist/profiles/conductor/patterns/consequential-submission.json +38 -0
  65. package/dist/profiles/conductor/patterns/dialog.json +47 -0
  66. package/dist/profiles/conductor/patterns/disclosure.json +39 -0
  67. package/dist/profiles/conductor/patterns/dynamic-status.json +36 -0
  68. package/dist/profiles/conductor/patterns/field.json +39 -0
  69. package/dist/profiles/conductor/patterns/image.json +35 -0
  70. package/dist/profiles/conductor/patterns/listbox.json +43 -0
  71. package/dist/profiles/conductor/patterns/media-player.json +45 -0
  72. package/dist/profiles/conductor/patterns/menu-button.json +41 -0
  73. package/dist/profiles/conductor/patterns/pagination.json +39 -0
  74. package/dist/profiles/conductor/patterns/popover.json +40 -0
  75. package/dist/profiles/conductor/patterns/progress.json +37 -0
  76. package/dist/profiles/conductor/patterns/tabs.json +42 -0
  77. package/dist/profiles/conductor/patterns/tooltip.json +37 -0
  78. package/dist/profiles/conductor/patterns/validation.json +42 -0
  79. package/dist/profiles/conductor/semantics.json +289 -0
  80. package/dist/projection-manifest.json +90 -0
  81. package/dist/requirements-to-implementation.md +21 -0
  82. package/lib/build-manifest.mjs +20 -0
  83. package/lib/build.mjs +31 -0
  84. package/lib/compile-applicability.mjs +56 -0
  85. package/lib/digest.mjs +11 -0
  86. package/lib/index.mjs +4 -0
  87. package/lib/load.mjs +40 -0
  88. package/lib/render.mjs +71 -0
  89. package/lib/sync.mjs +94 -0
  90. package/lib/validate.mjs +31 -0
  91. package/package.json +46 -0
  92. package/profiles/ai-orchestration/profile.json +1 -0
  93. package/profiles/ai-orchestration/templates/implementation/README.md +3 -0
  94. package/profiles/ai-orchestration/templates/patterns/README.md +3 -0
  95. package/profiles/ai-orchestration/templates/review/README.md +3 -0
  96. package/profiles/ai-orchestration/templates/semantics/README.md +3 -0
  97. package/profiles/ai-orchestration/templates/testing/README.md +3 -0
  98. package/profiles/conductor/profile.json +1 -0
  99. package/profiles/conductor/templates/applicability/README.md +3 -0
  100. package/profiles/conductor/templates/evidence/README.md +3 -0
  101. package/profiles/conductor/templates/patterns/README.md +3 -0
  102. package/profiles/conductor/templates/semantics/README.md +3 -0
  103. package/schemas/applicability-matrix.schema.json +1 -0
  104. package/schemas/consumer-config.schema.json +1 -0
  105. package/schemas/consumer-routes.schema.json +1 -0
  106. package/schemas/manifest.schema.json +1 -0
  107. package/schemas/pattern.schema.json +1 -0
  108. package/schemas/profile.schema.json +1 -0
  109. package/schemas/projection-manifest.schema.json +1 -0
  110. package/schemas/record.schema.json +1 -0
  111. package/schemas/semantic.schema.json +1 -0
  112. package/src/applicability/facts.yml +1 -0
  113. package/src/applicability/matrix.yml +20 -0
  114. package/src/evidence/proof-routing.yml +1 -0
  115. package/src/foundations/conformance-boundary.yml +1 -0
  116. package/src/foundations/standards-hierarchy.yml +1 -0
  117. package/src/foundations/wcag-2.2.yml +1 -0
  118. package/src/patterns/disclosure/accordion.yml +1 -0
  119. package/src/patterns/disclosure/disclosure.yml +1 -0
  120. package/src/patterns/feedback/alert.yml +1 -0
  121. package/src/patterns/feedback/dynamic-status.yml +1 -0
  122. package/src/patterns/feedback/progress.yml +1 -0
  123. package/src/patterns/forms/consequential-submission.yml +1 -0
  124. package/src/patterns/forms/field.yml +1 -0
  125. package/src/patterns/forms/validation.yml +1 -0
  126. package/src/patterns/media/carousel.yml +1 -0
  127. package/src/patterns/media/image.yml +1 -0
  128. package/src/patterns/media/media-player.yml +1 -0
  129. package/src/patterns/navigation/menu-button.yml +1 -0
  130. package/src/patterns/navigation/pagination.yml +1 -0
  131. package/src/patterns/navigation/tabs.yml +1 -0
  132. package/src/patterns/overlays/dialog.yml +1 -0
  133. package/src/patterns/overlays/popover.yml +1 -0
  134. package/src/patterns/overlays/tooltip.yml +1 -0
  135. package/src/patterns/selection/combobox.yml +1 -0
  136. package/src/patterns/selection/listbox.yml +1 -0
  137. package/src/policies/enhanced-quality.yml +1 -0
  138. package/src/policies/target-size.yml +1 -0
  139. package/src/semantics/accessible-names.yml +1 -0
  140. package/src/semantics/forms.yml +1 -0
  141. package/src/semantics/headings-landmarks.yml +1 -0
  142. package/src/semantics/keyboard-focus.yml +1 -0
  143. package/src/semantics/live-regions.yml +1 -0
  144. package/src/semantics/media.yml +1 -0
  145. package/src/semantics/native-elements.yml +1 -0
  146. package/src/semantics/roles-states-properties.yml +1 -0
  147. package/src/semantics/tables.yml +1 -0
  148. package/src/sources.yml +1 -0
package/OPERATING.md ADDED
@@ -0,0 +1,5 @@
1
+ # Operating contract
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.
4
+
5
+ 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 ADDED
@@ -0,0 +1,22 @@
1
+ # Accessibility Standards
2
+
3
+ `@verndale/accessibility-standards` is Verndale's canonical, versioned authority for accessibility semantics, interaction patterns, applicability decisions, and evidence routing.
4
+
5
+ The package projects the same source records into two purpose-specific profiles:
6
+
7
+ - `conductor` — Functional Specification and Acceptance Criteria contracts.
8
+ - `ai-orchestration` — implementation, testing, and review Build Pack contracts.
9
+
10
+ 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
+
12
+ ## Commands
13
+
14
+ ```sh
15
+ pnpm verify:ci
16
+ pnpm build
17
+ pnpm exec accessibility-standards sync --config accessibility-standards.config.json
18
+ pnpm exec accessibility-standards sync --if-needed --config accessibility-standards.config.json
19
+ pnpm exec accessibility-standards check --config accessibility-standards.config.json
20
+ ```
21
+
22
+ See [authoring](docs/authoring.md), the [projection contract](docs/projection-contract.md), and [versioning](docs/versioning.md).
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env node
2
+ import { buildDistribution } from '../lib/build.mjs';
3
+ import { loadStandards } from '../lib/load.mjs';
4
+ import { projection } from '../lib/sync.mjs';
5
+ import { validateStandards } from '../lib/validate.mjs';
6
+
7
+ const [command, ...args] = process.argv.slice(2);
8
+ const flag = (name) => args.includes(name);
9
+ const value = (name) => {
10
+ const index = args.indexOf(name);
11
+ return index >= 0 ? args[index + 1] : undefined;
12
+ };
13
+
14
+ try {
15
+ if (command === 'validate') {
16
+ const result = validateStandards(await loadStandards());
17
+ console.log(`PASS standards validation: ${result.semantics} semantics, ${result.patterns} patterns, ${result.applicability} applicability rows`);
18
+ } else if (command === 'build') {
19
+ const result = await buildDistribution();
20
+ console.log(`PASS distribution build: ${result.records} records, ${result.profiles} profiles`);
21
+ } else if (command === 'sync' || command === 'check') {
22
+ const configPath = value('--config');
23
+ if (!configPath) throw new Error(`${command} requires --config <path>`);
24
+ const result = await projection({ configPath, check: command === 'check', ifNeeded: flag('--if-needed') });
25
+ console.log(`PASS ${command}: ${result.files} outputs${result.changed ? ' updated' : ' current'}`);
26
+ } else {
27
+ throw new Error('Usage: accessibility-standards <build|validate|sync|check> [--if-needed] [--config path]');
28
+ }
29
+ } catch (error) {
30
+ console.error(`FAIL ${command ?? 'command'}: ${error.message}`);
31
+ process.exitCode = 1;
32
+ }
@@ -0,0 +1,202 @@
1
+ {
2
+ "package": "@verndale/accessibility-standards@1.0.0",
3
+ "schema_version": 1,
4
+ "records": [
5
+ {
6
+ "id": "foundation.conformance-boundary",
7
+ "digest": "ee9e98c41419692bb3ea850488c4432f4b11e7c21fc4eec1d971f84f1bdd7d38"
8
+ },
9
+ {
10
+ "id": "foundation.standards-hierarchy",
11
+ "digest": "d8321ed3672f9268a204c5f2acaf4af10a5a2a29f4ceca9bb87b89ad82d72db2"
12
+ },
13
+ {
14
+ "id": "foundation.wcag-2.2",
15
+ "digest": "fb9629434fd412f167b572cac52ece8bac12113108381c69b9351ebed29af4f8"
16
+ },
17
+ {
18
+ "id": "pattern.accordion",
19
+ "digest": "f723e05158f0cd7444ab64f30944ddb27eeeaf79b0cb98f559c080855991dddd"
20
+ },
21
+ {
22
+ "id": "pattern.alert",
23
+ "digest": "341ea6c32b412a435890c88db938aa1a74bbb5b5c1ef6c3ff56ce274c40896c9"
24
+ },
25
+ {
26
+ "id": "pattern.carousel",
27
+ "digest": "b3e227b40eaf9cac0c860723f9c6b0e82da91c0da4a66fdc027b4781c3246aed"
28
+ },
29
+ {
30
+ "id": "pattern.combobox",
31
+ "digest": "ef6509c2a34fb3f7acb0c6c286f00300c6712c10d363aa41864d6e430699c14c"
32
+ },
33
+ {
34
+ "id": "pattern.consequential-submission",
35
+ "digest": "b272f3689210fe291f04b2cd173a90284693191a2cb4425190a9f5f51d827bf9"
36
+ },
37
+ {
38
+ "id": "pattern.dialog",
39
+ "digest": "d15111ab6dcbca62fc48ca357cab29481f7bac387c36e23ecafdd3aef643bb55"
40
+ },
41
+ {
42
+ "id": "pattern.disclosure",
43
+ "digest": "2490e322684c827eafadb2de83aaf0a7a7834ca29c58ae321c3fdd9da7f8e6f0"
44
+ },
45
+ {
46
+ "id": "pattern.dynamic-status",
47
+ "digest": "1d5abfdd8e0ed4c33a4ac887185432a4606e57648e427c88d5dec49124a18b38"
48
+ },
49
+ {
50
+ "id": "pattern.field",
51
+ "digest": "b6af8f2eeba9c0c89031b498e2240054f346f3eb7b8ffb426027fc8a85d0fbde"
52
+ },
53
+ {
54
+ "id": "pattern.image",
55
+ "digest": "9681f6d1de7e1f5cf73894e060ba75c7c816b88cee1b67016868775f5a65ea92"
56
+ },
57
+ {
58
+ "id": "pattern.listbox",
59
+ "digest": "b1e02cd1282556d96b87ff3ff231f0476da76634d7de6d58e565e93f861d945c"
60
+ },
61
+ {
62
+ "id": "pattern.media-player",
63
+ "digest": "fbec9ca56d5122eae52a759ac23d7c67017b0cf9afdbb20c969e000701c376fc"
64
+ },
65
+ {
66
+ "id": "pattern.menu-button",
67
+ "digest": "30188cc0e698e37a7e091f5732461f5b9d770ca4b01b82f1c08909847b755f7b"
68
+ },
69
+ {
70
+ "id": "pattern.pagination",
71
+ "digest": "f2a170950724c9d61ad8d0d8cfd7e14d059d56bde491249242e44ebf2bf7cd7b"
72
+ },
73
+ {
74
+ "id": "pattern.popover",
75
+ "digest": "c7cb16b9aef61a6f9f70ad3435fd1b48a3b7720a8dcb7da93962d9413a4c90ea"
76
+ },
77
+ {
78
+ "id": "pattern.progress",
79
+ "digest": "4cb24645c360456652731d5ebb0035336128ffdc50dc735d7855d4bb4e09299a"
80
+ },
81
+ {
82
+ "id": "pattern.tabs",
83
+ "digest": "817ed1bc20ca4f1051b34d0bedcdf2e2a1e670820a8c5f762b626552623dad31"
84
+ },
85
+ {
86
+ "id": "pattern.tooltip",
87
+ "digest": "4000f4d9ec2cc0218062d4ce5892c167ce98cee2636c1e27550d0f1d691fd1cf"
88
+ },
89
+ {
90
+ "id": "pattern.validation",
91
+ "digest": "e947031b4d62dc097d7674d372d726d84220afb23d6889a55c3434ef7b592ecf"
92
+ },
93
+ {
94
+ "id": "policy.enhanced-quality",
95
+ "digest": "7e1c8c320ebdc36922964271d53cf48900e025489fda90b11c894036974727f9"
96
+ },
97
+ {
98
+ "id": "policy.target-size",
99
+ "digest": "52344723debd55678352eede8704327199e109835ffac8c1a360ffc3da669cc4"
100
+ },
101
+ {
102
+ "id": "semantics.accessible-name",
103
+ "digest": "72bbac127f708e788b2d1f48d9940d223a4421e2df596c485b233195a5f8e763"
104
+ },
105
+ {
106
+ "id": "semantics.alert",
107
+ "digest": "8dc09b4717dc44f725f604d466fe28da047bdd0a2a5b13348880424c54ab8f64"
108
+ },
109
+ {
110
+ "id": "semantics.consequential-action",
111
+ "digest": "012b797e483164adf03a2c9c8bc2ca0311c7ee3600714e0c32606eaad9382d86"
112
+ },
113
+ {
114
+ "id": "semantics.data-table",
115
+ "digest": "acc77013a69ae21aeab8853a9519da2ea6d76cf0659df77039fcfde55551880c"
116
+ },
117
+ {
118
+ "id": "semantics.expanded-state",
119
+ "digest": "8e06334efb2fc48bf3f07f44c8971d1b66290de89280d38328f6cbd81ae66e39"
120
+ },
121
+ {
122
+ "id": "semantics.focus.initial",
123
+ "digest": "b03db3ffdd13676c5875c3f9c6ffa1ad83be6bfd1af0b95bf24323b6560757c2"
124
+ },
125
+ {
126
+ "id": "semantics.focus.return",
127
+ "digest": "0651a18b711a52f775bd0ea5fec9332a42c9d84de2db7a897f84aebdd2b0af21"
128
+ },
129
+ {
130
+ "id": "semantics.focus.visible",
131
+ "digest": "4290cce3da8ab2e19187486296b2bd5c8812c5f85c8368b8c77459273864f52c"
132
+ },
133
+ {
134
+ "id": "semantics.form-error",
135
+ "digest": "0644be9b1fa04cd3da2691e71552b69ee53f0e1bdc949e1324a9e2eafcb21536"
136
+ },
137
+ {
138
+ "id": "semantics.form-label",
139
+ "digest": "5e0db51ea318aa15ebb20403a5a9a2e0e1930672cf94d776e547881b0bce8613"
140
+ },
141
+ {
142
+ "id": "semantics.form-required",
143
+ "digest": "99a811afdcf07724df641d60fbdc8debcf86f79b3deab92450e9dc1da06b3ae4"
144
+ },
145
+ {
146
+ "id": "semantics.headings",
147
+ "digest": "5e3744acdc7eb70d907e61441155f6e6141c99f360fa2edfec5048be5465bbad"
148
+ },
149
+ {
150
+ "id": "semantics.keyboard",
151
+ "digest": "ea339526abc5cae463ff56fcc302b131e621d1a81e8d67987b4fd95f2baef5a9"
152
+ },
153
+ {
154
+ "id": "semantics.keyboard.escape",
155
+ "digest": "49660048cd503c0800b731c93f4183c9d2b6600f417b723cf6b2fef851dfa04b"
156
+ },
157
+ {
158
+ "id": "semantics.landmarks",
159
+ "digest": "3c458e43d33148f3bc751122260478a8a6baadfd0a66d473653c118c590d596d"
160
+ },
161
+ {
162
+ "id": "semantics.live-status",
163
+ "digest": "38a8fd097aab3934acb70debd0db9590575eef1c9d6bd57aa737e0dd5022732d"
164
+ },
165
+ {
166
+ "id": "semantics.media-alternatives",
167
+ "digest": "c130ee8609807d7ae423596d425467be867567f45b270ae6a80aec4b5ae89fd8"
168
+ },
169
+ {
170
+ "id": "semantics.motion-control",
171
+ "digest": "3db27053a0240652d2d9e38d3d4639f92bac0d19788bfc77573e81c64f05e7e3"
172
+ },
173
+ {
174
+ "id": "semantics.name-role-value",
175
+ "digest": "aea65aeace7ee47e6ce447b5faac14a4fb62600fbe518eec4c4a6c2241f23b08"
176
+ },
177
+ {
178
+ "id": "semantics.native-dialog",
179
+ "digest": "aae312f7e9c72002a332184198836e445605b33a49ab19f20376cef95e39e043"
180
+ },
181
+ {
182
+ "id": "semantics.native-elements",
183
+ "digest": "9df6e8dbe7b34010d7ebc7615b2c40d5fa990c5c550be865138b680659604852"
184
+ },
185
+ {
186
+ "id": "semantics.non-text-alternative",
187
+ "digest": "eb46b0837130acd1a34e80ace5f2e8c90b11f5a6aead6cc17921d0e9c2c42a3a"
188
+ },
189
+ {
190
+ "id": "semantics.roles-states-properties",
191
+ "digest": "2f43c3cee11445abe5e783afb3a13ab32dd70b73371146f3b71b8b6511c7e6fc"
192
+ },
193
+ {
194
+ "id": "semantics.selected-state",
195
+ "digest": "43df69e9cfea1b9fa6fdb8fb672911e28e871d3072d31ff2291281a92d24c1db"
196
+ },
197
+ {
198
+ "id": "semantics.target-size",
199
+ "digest": "4fe5e9fde8e0276d252ab9b4381bfaaa1d4b899d0385a5c68ed049877636909d"
200
+ }
201
+ ]
202
+ }
@@ -0,0 +1,202 @@
1
+ {
2
+ "_generated": "GENERATED by @verndale/accessibility-standards; DO NOT EDIT",
3
+ "schema_version": 1,
4
+ "projected_ids": [
5
+ "applicability.authentication-captcha",
6
+ "applicability.character-shortcuts",
7
+ "applicability.complex-pointer",
8
+ "applicability.consequential-submission",
9
+ "applicability.consistent-help",
10
+ "applicability.data-table-grid",
11
+ "applicability.dynamic-status",
12
+ "applicability.focus-obstruction",
13
+ "applicability.forms",
14
+ "applicability.locale-bidi",
15
+ "applicability.media",
16
+ "applicability.motion-timing",
17
+ "applicability.non-text-content",
18
+ "applicability.orientation-sensory",
19
+ "applicability.overlays",
20
+ "applicability.page-context",
21
+ "applicability.redundant-entry",
22
+ "applicability.target-size",
23
+ "pattern.accordion",
24
+ "pattern.alert",
25
+ "pattern.carousel",
26
+ "pattern.combobox",
27
+ "pattern.consequential-submission",
28
+ "pattern.dialog",
29
+ "pattern.disclosure",
30
+ "pattern.dynamic-status",
31
+ "pattern.field",
32
+ "pattern.image",
33
+ "pattern.listbox",
34
+ "pattern.media-player",
35
+ "pattern.menu-button",
36
+ "pattern.pagination",
37
+ "pattern.popover",
38
+ "pattern.progress",
39
+ "pattern.tabs",
40
+ "pattern.tooltip",
41
+ "pattern.validation",
42
+ "semantics.accessible-name",
43
+ "semantics.alert",
44
+ "semantics.consequential-action",
45
+ "semantics.data-table",
46
+ "semantics.expanded-state",
47
+ "semantics.focus.initial",
48
+ "semantics.focus.return",
49
+ "semantics.focus.visible",
50
+ "semantics.form-error",
51
+ "semantics.form-label",
52
+ "semantics.form-required",
53
+ "semantics.headings",
54
+ "semantics.keyboard",
55
+ "semantics.keyboard.escape",
56
+ "semantics.landmarks",
57
+ "semantics.live-status",
58
+ "semantics.media-alternatives",
59
+ "semantics.motion-control",
60
+ "semantics.name-role-value",
61
+ "semantics.native-dialog",
62
+ "semantics.native-elements",
63
+ "semantics.non-text-alternative",
64
+ "semantics.roles-states-properties",
65
+ "semantics.selected-state",
66
+ "semantics.target-size"
67
+ ],
68
+ "lane_coverage": {
69
+ "axe": [
70
+ "pattern.accordion",
71
+ "pattern.carousel",
72
+ "pattern.combobox",
73
+ "pattern.dialog",
74
+ "pattern.disclosure",
75
+ "pattern.field",
76
+ "pattern.image",
77
+ "pattern.listbox",
78
+ "pattern.media-player",
79
+ "pattern.pagination",
80
+ "pattern.progress",
81
+ "pattern.tabs",
82
+ "pattern.validation",
83
+ "semantics.accessible-name",
84
+ "semantics.data-table",
85
+ "semantics.expanded-state",
86
+ "semantics.form-error",
87
+ "semantics.form-label",
88
+ "semantics.form-required",
89
+ "semantics.headings",
90
+ "semantics.landmarks",
91
+ "semantics.name-role-value",
92
+ "semantics.native-dialog",
93
+ "semantics.native-elements",
94
+ "semantics.non-text-alternative",
95
+ "semantics.roles-states-properties"
96
+ ],
97
+ "e2e": [
98
+ "pattern.accordion",
99
+ "pattern.carousel",
100
+ "pattern.combobox",
101
+ "pattern.consequential-submission",
102
+ "pattern.dialog",
103
+ "pattern.disclosure",
104
+ "pattern.dynamic-status",
105
+ "pattern.field",
106
+ "pattern.listbox",
107
+ "pattern.media-player",
108
+ "pattern.menu-button",
109
+ "pattern.popover",
110
+ "pattern.tabs",
111
+ "pattern.tooltip",
112
+ "pattern.validation",
113
+ "semantics.consequential-action",
114
+ "semantics.data-table",
115
+ "semantics.expanded-state",
116
+ "semantics.focus.initial",
117
+ "semantics.focus.return",
118
+ "semantics.focus.visible",
119
+ "semantics.form-error",
120
+ "semantics.form-label",
121
+ "semantics.keyboard",
122
+ "semantics.keyboard.escape",
123
+ "semantics.live-status",
124
+ "semantics.motion-control",
125
+ "semantics.native-dialog",
126
+ "semantics.roles-states-properties",
127
+ "semantics.selected-state",
128
+ "semantics.target-size"
129
+ ],
130
+ "human": [
131
+ "pattern.accordion",
132
+ "pattern.alert",
133
+ "pattern.carousel",
134
+ "pattern.combobox",
135
+ "pattern.consequential-submission",
136
+ "pattern.dialog",
137
+ "pattern.dynamic-status",
138
+ "pattern.field",
139
+ "pattern.image",
140
+ "pattern.listbox",
141
+ "pattern.media-player",
142
+ "pattern.menu-button",
143
+ "pattern.pagination",
144
+ "pattern.popover",
145
+ "pattern.progress",
146
+ "pattern.tabs",
147
+ "pattern.tooltip",
148
+ "pattern.validation",
149
+ "semantics.accessible-name",
150
+ "semantics.alert",
151
+ "semantics.consequential-action",
152
+ "semantics.data-table",
153
+ "semantics.focus.visible",
154
+ "semantics.form-error",
155
+ "semantics.form-label",
156
+ "semantics.headings",
157
+ "semantics.keyboard",
158
+ "semantics.landmarks",
159
+ "semantics.live-status",
160
+ "semantics.media-alternatives",
161
+ "semantics.motion-control",
162
+ "semantics.name-role-value",
163
+ "semantics.native-dialog",
164
+ "semantics.native-elements",
165
+ "semantics.non-text-alternative",
166
+ "semantics.target-size"
167
+ ],
168
+ "unit": [
169
+ "pattern.accordion",
170
+ "pattern.alert",
171
+ "pattern.carousel",
172
+ "pattern.combobox",
173
+ "pattern.dialog",
174
+ "pattern.disclosure",
175
+ "pattern.dynamic-status",
176
+ "pattern.field",
177
+ "pattern.listbox",
178
+ "pattern.menu-button",
179
+ "pattern.pagination",
180
+ "pattern.popover",
181
+ "pattern.progress",
182
+ "pattern.tabs",
183
+ "pattern.tooltip",
184
+ "pattern.validation",
185
+ "semantics.accessible-name",
186
+ "semantics.alert",
187
+ "semantics.expanded-state",
188
+ "semantics.focus.initial",
189
+ "semantics.focus.return",
190
+ "semantics.form-error",
191
+ "semantics.form-label",
192
+ "semantics.form-required",
193
+ "semantics.keyboard",
194
+ "semantics.keyboard.escape",
195
+ "semantics.live-status",
196
+ "semantics.name-role-value",
197
+ "semantics.native-elements",
198
+ "semantics.roles-states-properties",
199
+ "semantics.selected-state"
200
+ ]
201
+ }
202
+ }