@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.
- package/OPERATING.md +1 -1
- package/README.md +1 -1
- package/dist/manifest.json +156 -116
- package/dist/profiles/ai-orchestration/coverage-manifest.json +702 -153
- package/dist/profiles/ai-orchestration/implementation/accessibility.md +523 -42
- package/dist/profiles/ai-orchestration/pattern-contracts.json +892 -306
- package/dist/profiles/ai-orchestration/patterns/accordion.md +6 -1
- package/dist/profiles/ai-orchestration/patterns/alert.md +6 -1
- package/dist/profiles/ai-orchestration/patterns/carousel.md +6 -1
- package/dist/profiles/ai-orchestration/patterns/checkbox.md +27 -0
- package/dist/profiles/ai-orchestration/patterns/combobox.md +6 -1
- package/dist/profiles/ai-orchestration/patterns/consequential-submission.md +8 -3
- package/dist/profiles/ai-orchestration/patterns/dialog.md +6 -1
- package/dist/profiles/ai-orchestration/patterns/disclosure.md +6 -1
- package/dist/profiles/ai-orchestration/patterns/dynamic-status.md +6 -1
- package/dist/profiles/ai-orchestration/patterns/field.md +7 -1
- package/dist/profiles/ai-orchestration/patterns/image.md +6 -1
- package/dist/profiles/ai-orchestration/patterns/listbox.md +6 -1
- package/dist/profiles/ai-orchestration/patterns/media-player.md +9 -1
- package/dist/profiles/ai-orchestration/patterns/menu-button.md +6 -1
- package/dist/profiles/ai-orchestration/patterns/menu.md +30 -0
- package/dist/profiles/ai-orchestration/patterns/pagination.md +6 -1
- package/dist/profiles/ai-orchestration/patterns/popover.md +7 -1
- package/dist/profiles/ai-orchestration/patterns/progress.md +7 -1
- package/dist/profiles/ai-orchestration/patterns/radio-group.md +27 -0
- package/dist/profiles/ai-orchestration/patterns/slider.md +31 -0
- package/dist/profiles/ai-orchestration/patterns/spinbutton.md +28 -0
- package/dist/profiles/ai-orchestration/patterns/tabs.md +6 -1
- package/dist/profiles/ai-orchestration/patterns/tooltip.md +6 -1
- package/dist/profiles/ai-orchestration/patterns/tree-view.md +31 -0
- package/dist/profiles/ai-orchestration/patterns/validation.md +7 -1
- package/dist/profiles/ai-orchestration/review/accessibility.md +14 -6
- package/dist/profiles/ai-orchestration/semantics/accessible-authentication.md +13 -0
- package/dist/profiles/ai-orchestration/semantics/accessible-name.md +8 -2
- package/dist/profiles/ai-orchestration/semantics/alert.md +7 -1
- package/dist/profiles/ai-orchestration/semantics/consequential-action.md +6 -2
- package/dist/profiles/ai-orchestration/semantics/consistent-help.md +13 -0
- package/dist/profiles/ai-orchestration/semantics/data-table.md +7 -2
- package/dist/profiles/ai-orchestration/semantics/dragging-alternative.md +13 -0
- package/dist/profiles/ai-orchestration/semantics/expanded-state.md +6 -1
- package/dist/profiles/ai-orchestration/semantics/focus.initial.md +4 -1
- package/dist/profiles/ai-orchestration/semantics/focus.return.md +4 -1
- package/dist/profiles/ai-orchestration/semantics/focus.visible.md +8 -2
- package/dist/profiles/ai-orchestration/semantics/form-error.md +8 -2
- package/dist/profiles/ai-orchestration/semantics/form-label.md +7 -1
- package/dist/profiles/ai-orchestration/semantics/form-required.md +7 -1
- package/dist/profiles/ai-orchestration/semantics/headings.md +7 -1
- package/dist/profiles/ai-orchestration/semantics/keyboard.escape.md +4 -1
- package/dist/profiles/ai-orchestration/semantics/keyboard.md +7 -1
- package/dist/profiles/ai-orchestration/semantics/landmarks.md +6 -1
- package/dist/profiles/ai-orchestration/semantics/live-status.md +7 -2
- package/dist/profiles/ai-orchestration/semantics/media-alternatives.md +11 -1
- package/dist/profiles/ai-orchestration/semantics/motion-control.md +8 -2
- package/dist/profiles/ai-orchestration/semantics/name-role-value.md +6 -2
- package/dist/profiles/ai-orchestration/semantics/native-dialog.md +7 -1
- package/dist/profiles/ai-orchestration/semantics/native-elements.md +5 -1
- package/dist/profiles/ai-orchestration/semantics/non-text-alternative.md +5 -1
- package/dist/profiles/ai-orchestration/semantics/redundant-entry.md +13 -0
- package/dist/profiles/ai-orchestration/semantics/roles-states-properties.md +6 -1
- package/dist/profiles/ai-orchestration/semantics/selected-state.md +6 -1
- package/dist/profiles/ai-orchestration/semantics/target-size.md +6 -2
- package/dist/profiles/ai-orchestration/semantics.json +826 -130
- package/dist/profiles/ai-orchestration/testing/accessibility.md +33 -3
- package/dist/profiles/ai-orchestration/ui-design-brain-bindings.json +287 -307
- package/dist/profiles/conductor/a11y-semantics.md +249 -10
- package/dist/profiles/conductor/accessibility-quality.md +275 -33
- package/dist/profiles/conductor/applicability-matrix.json +226 -269
- package/dist/profiles/conductor/coverage-manifest.json +702 -153
- package/dist/profiles/conductor/pattern-contracts.json +892 -306
- package/dist/profiles/conductor/patterns/accordion.json +35 -27
- package/dist/profiles/conductor/patterns/alert.json +29 -21
- package/dist/profiles/conductor/patterns/carousel.json +36 -28
- package/dist/profiles/conductor/patterns/checkbox.json +67 -0
- package/dist/profiles/conductor/patterns/combobox.json +37 -29
- package/dist/profiles/conductor/patterns/consequential-submission.json +34 -25
- package/dist/profiles/conductor/patterns/dialog.json +37 -29
- package/dist/profiles/conductor/patterns/disclosure.json +33 -25
- package/dist/profiles/conductor/patterns/dynamic-status.json +31 -22
- package/dist/profiles/conductor/patterns/field.json +41 -25
- package/dist/profiles/conductor/patterns/image.json +31 -22
- package/dist/profiles/conductor/patterns/listbox.json +35 -27
- package/dist/profiles/conductor/patterns/media-player.json +59 -29
- package/dist/profiles/conductor/patterns/menu-button.json +34 -26
- package/dist/profiles/conductor/patterns/menu.json +78 -0
- package/dist/profiles/conductor/patterns/pagination.json +34 -25
- package/dist/profiles/conductor/patterns/popover.json +42 -26
- package/dist/profiles/conductor/patterns/progress.json +38 -23
- package/dist/profiles/conductor/patterns/radio-group.json +69 -0
- package/dist/profiles/conductor/patterns/slider.json +84 -0
- package/dist/profiles/conductor/patterns/spinbutton.json +74 -0
- package/dist/profiles/conductor/patterns/tabs.json +34 -26
- package/dist/profiles/conductor/patterns/tooltip.json +31 -23
- package/dist/profiles/conductor/patterns/tree-view.json +77 -0
- package/dist/profiles/conductor/patterns/validation.json +42 -26
- package/dist/profiles/conductor/semantics.json +826 -130
- package/dist/profiles/conductor/ui-design-brain-bindings.json +287 -307
- package/dist/projection-manifest.json +120 -104
- package/dist/requirements-to-implementation.md +7 -1
- package/lib/build.mjs +3 -3
- package/lib/digest.mjs +8 -0
- package/lib/load.mjs +13 -0
- package/lib/provenance.mjs +2 -0
- package/lib/render.mjs +51 -7
- package/lib/sync.mjs +2 -2
- package/lib/validate.mjs +335 -33
- package/package.json +6 -2
- package/profiles/ai-orchestration/profile.json +1 -1
- package/profiles/ai-orchestration/templates/patterns/README.md +1 -1
- package/profiles/ai-orchestration/templates/review/README.md +1 -1
- package/profiles/ai-orchestration/templates/semantics/README.md +1 -1
- package/profiles/ai-orchestration/templates/testing/README.md +1 -1
- package/profiles/conductor/profile.json +1 -1
- package/profiles/conductor/templates/evidence/README.md +1 -1
- package/profiles/conductor/templates/patterns/README.md +1 -1
- package/profiles/conductor/templates/semantics/README.md +1 -1
- package/schemas/consumer-config.schema.json +1 -1
- package/schemas/contract.schema.json +1 -1
- package/schemas/manifest.schema.json +1 -1
- package/schemas/pattern.schema.json +98 -1
- package/schemas/profile.schema.json +1 -1
- package/schemas/projection-manifest.schema.json +6 -6
- package/schemas/semantic.schema.json +26 -1
- package/schemas/standards-reference.schema.json +105 -0
- package/schemas/wcag-coverage.schema.json +93 -0
- package/src/applicability/facts.yml +3 -5
- package/src/applicability/matrix.yml +5 -7
- package/src/applicability/ui-design-brain-bindings.yml +8 -22
- package/src/contract.yml +1 -1
- package/src/coverage/wcag-2.2.yml +68 -0
- package/src/patterns/disclosure/accordion.yml +1 -1
- package/src/patterns/disclosure/disclosure.yml +1 -1
- package/src/patterns/feedback/alert.yml +1 -1
- package/src/patterns/feedback/dynamic-status.yml +1 -1
- package/src/patterns/feedback/progress.yml +1 -1
- package/src/patterns/forms/consequential-submission.yml +1 -1
- package/src/patterns/forms/field.yml +1 -1
- package/src/patterns/forms/spinbutton.yml +1 -0
- package/src/patterns/forms/validation.yml +1 -1
- package/src/patterns/media/carousel.yml +1 -1
- package/src/patterns/media/image.yml +1 -1
- package/src/patterns/media/media-player.yml +1 -1
- package/src/patterns/navigation/menu-button.yml +1 -1
- package/src/patterns/navigation/menu.yml +1 -0
- package/src/patterns/navigation/pagination.yml +1 -1
- package/src/patterns/navigation/tabs.yml +1 -1
- package/src/patterns/navigation/tree-view.yml +1 -0
- package/src/patterns/overlays/dialog.yml +1 -1
- package/src/patterns/overlays/popover.yml +1 -1
- package/src/patterns/overlays/tooltip.yml +1 -1
- package/src/patterns/selection/checkbox.yml +1 -0
- package/src/patterns/selection/combobox.yml +1 -1
- package/src/patterns/selection/listbox.yml +1 -1
- package/src/patterns/selection/radio-group.yml +1 -0
- package/src/patterns/selection/slider.yml +1 -0
- package/src/semantics/accessible-names.yml +1 -1
- package/src/semantics/forms.yml +1 -1
- package/src/semantics/headings-landmarks.yml +1 -1
- package/src/semantics/keyboard-focus.yml +1 -1
- package/src/semantics/live-regions.yml +1 -1
- package/src/semantics/media.yml +1 -1
- package/src/semantics/native-elements.yml +1 -1
- package/src/semantics/roles-states-properties.yml +1 -1
- package/src/semantics/tables.yml +1 -1
- package/src/semantics/wcag-2.2.yml +1 -0
- package/src/sources.yml +1 -1
|
@@ -1,29 +1,189 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_generated": "GENERATED by @verndale/accessibility-standards; DO NOT EDIT",
|
|
3
3
|
"_provenance": {
|
|
4
|
-
"package": "@verndale/accessibility-standards@
|
|
4
|
+
"package": "@verndale/accessibility-standards@3.0.0",
|
|
5
5
|
"profile": "conductor",
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"schema_version":
|
|
9
|
-
"source_digest": "
|
|
6
|
+
"profile_digest": "beadcb5fe8151303b3e3241de4fee0ece3be9ff2f4dbdb3a6f93a363b0a2d491",
|
|
7
|
+
"profile_version": "3.0.0",
|
|
8
|
+
"schema_version": 3,
|
|
9
|
+
"source_digest": "708ac82783bfb5ebcce31e4dada15d8580863f5e37b32d1807adf61e415ed5af"
|
|
10
|
+
},
|
|
11
|
+
"lane_coverage": {
|
|
12
|
+
"axe": [
|
|
13
|
+
"pattern.accordion",
|
|
14
|
+
"pattern.carousel",
|
|
15
|
+
"pattern.checkbox",
|
|
16
|
+
"pattern.combobox",
|
|
17
|
+
"pattern.dialog",
|
|
18
|
+
"pattern.disclosure",
|
|
19
|
+
"pattern.field",
|
|
20
|
+
"pattern.image",
|
|
21
|
+
"pattern.listbox",
|
|
22
|
+
"pattern.media-player",
|
|
23
|
+
"pattern.menu",
|
|
24
|
+
"pattern.pagination",
|
|
25
|
+
"pattern.progress",
|
|
26
|
+
"pattern.radio-group",
|
|
27
|
+
"pattern.slider",
|
|
28
|
+
"pattern.spinbutton",
|
|
29
|
+
"pattern.tabs",
|
|
30
|
+
"pattern.tree-view",
|
|
31
|
+
"pattern.validation",
|
|
32
|
+
"semantics.accessible-name",
|
|
33
|
+
"semantics.data-table",
|
|
34
|
+
"semantics.expanded-state",
|
|
35
|
+
"semantics.form-error",
|
|
36
|
+
"semantics.form-label",
|
|
37
|
+
"semantics.form-required",
|
|
38
|
+
"semantics.headings",
|
|
39
|
+
"semantics.landmarks",
|
|
40
|
+
"semantics.name-role-value",
|
|
41
|
+
"semantics.native-dialog",
|
|
42
|
+
"semantics.native-elements",
|
|
43
|
+
"semantics.non-text-alternative",
|
|
44
|
+
"semantics.roles-states-properties"
|
|
45
|
+
],
|
|
46
|
+
"e2e": [
|
|
47
|
+
"pattern.accordion",
|
|
48
|
+
"pattern.carousel",
|
|
49
|
+
"pattern.checkbox",
|
|
50
|
+
"pattern.combobox",
|
|
51
|
+
"pattern.consequential-submission",
|
|
52
|
+
"pattern.dialog",
|
|
53
|
+
"pattern.disclosure",
|
|
54
|
+
"pattern.dynamic-status",
|
|
55
|
+
"pattern.listbox",
|
|
56
|
+
"pattern.media-player",
|
|
57
|
+
"pattern.menu",
|
|
58
|
+
"pattern.menu-button",
|
|
59
|
+
"pattern.popover",
|
|
60
|
+
"pattern.radio-group",
|
|
61
|
+
"pattern.slider",
|
|
62
|
+
"pattern.spinbutton",
|
|
63
|
+
"pattern.tabs",
|
|
64
|
+
"pattern.tooltip",
|
|
65
|
+
"pattern.tree-view",
|
|
66
|
+
"pattern.validation",
|
|
67
|
+
"semantics.accessible-authentication",
|
|
68
|
+
"semantics.consequential-action",
|
|
69
|
+
"semantics.consistent-help",
|
|
70
|
+
"semantics.data-table",
|
|
71
|
+
"semantics.dragging-alternative",
|
|
72
|
+
"semantics.expanded-state",
|
|
73
|
+
"semantics.focus.initial",
|
|
74
|
+
"semantics.focus.return",
|
|
75
|
+
"semantics.focus.visible",
|
|
76
|
+
"semantics.form-error",
|
|
77
|
+
"semantics.form-label",
|
|
78
|
+
"semantics.keyboard",
|
|
79
|
+
"semantics.keyboard.escape",
|
|
80
|
+
"semantics.live-status",
|
|
81
|
+
"semantics.motion-control",
|
|
82
|
+
"semantics.native-dialog",
|
|
83
|
+
"semantics.redundant-entry",
|
|
84
|
+
"semantics.roles-states-properties",
|
|
85
|
+
"semantics.selected-state",
|
|
86
|
+
"semantics.target-size"
|
|
87
|
+
],
|
|
88
|
+
"human": [
|
|
89
|
+
"pattern.accordion",
|
|
90
|
+
"pattern.alert",
|
|
91
|
+
"pattern.carousel",
|
|
92
|
+
"pattern.checkbox",
|
|
93
|
+
"pattern.combobox",
|
|
94
|
+
"pattern.consequential-submission",
|
|
95
|
+
"pattern.dialog",
|
|
96
|
+
"pattern.dynamic-status",
|
|
97
|
+
"pattern.field",
|
|
98
|
+
"pattern.image",
|
|
99
|
+
"pattern.listbox",
|
|
100
|
+
"pattern.media-player",
|
|
101
|
+
"pattern.menu",
|
|
102
|
+
"pattern.menu-button",
|
|
103
|
+
"pattern.pagination",
|
|
104
|
+
"pattern.popover",
|
|
105
|
+
"pattern.progress",
|
|
106
|
+
"pattern.radio-group",
|
|
107
|
+
"pattern.slider",
|
|
108
|
+
"pattern.spinbutton",
|
|
109
|
+
"pattern.tabs",
|
|
110
|
+
"pattern.tooltip",
|
|
111
|
+
"pattern.tree-view",
|
|
112
|
+
"pattern.validation",
|
|
113
|
+
"semantics.accessible-authentication",
|
|
114
|
+
"semantics.accessible-name",
|
|
115
|
+
"semantics.alert",
|
|
116
|
+
"semantics.consequential-action",
|
|
117
|
+
"semantics.consistent-help",
|
|
118
|
+
"semantics.data-table",
|
|
119
|
+
"semantics.dragging-alternative",
|
|
120
|
+
"semantics.focus.visible",
|
|
121
|
+
"semantics.form-error",
|
|
122
|
+
"semantics.form-label",
|
|
123
|
+
"semantics.headings",
|
|
124
|
+
"semantics.keyboard",
|
|
125
|
+
"semantics.landmarks",
|
|
126
|
+
"semantics.live-status",
|
|
127
|
+
"semantics.media-alternatives",
|
|
128
|
+
"semantics.motion-control",
|
|
129
|
+
"semantics.name-role-value",
|
|
130
|
+
"semantics.native-dialog",
|
|
131
|
+
"semantics.native-elements",
|
|
132
|
+
"semantics.non-text-alternative",
|
|
133
|
+
"semantics.redundant-entry",
|
|
134
|
+
"semantics.target-size"
|
|
135
|
+
],
|
|
136
|
+
"unit": [
|
|
137
|
+
"pattern.accordion",
|
|
138
|
+
"pattern.alert",
|
|
139
|
+
"pattern.carousel",
|
|
140
|
+
"pattern.checkbox",
|
|
141
|
+
"pattern.combobox",
|
|
142
|
+
"pattern.dialog",
|
|
143
|
+
"pattern.disclosure",
|
|
144
|
+
"pattern.dynamic-status",
|
|
145
|
+
"pattern.field",
|
|
146
|
+
"pattern.listbox",
|
|
147
|
+
"pattern.menu",
|
|
148
|
+
"pattern.menu-button",
|
|
149
|
+
"pattern.pagination",
|
|
150
|
+
"pattern.popover",
|
|
151
|
+
"pattern.progress",
|
|
152
|
+
"pattern.radio-group",
|
|
153
|
+
"pattern.slider",
|
|
154
|
+
"pattern.spinbutton",
|
|
155
|
+
"pattern.tabs",
|
|
156
|
+
"pattern.tooltip",
|
|
157
|
+
"pattern.tree-view",
|
|
158
|
+
"pattern.validation",
|
|
159
|
+
"semantics.accessible-name",
|
|
160
|
+
"semantics.alert",
|
|
161
|
+
"semantics.expanded-state",
|
|
162
|
+
"semantics.focus.initial",
|
|
163
|
+
"semantics.focus.return",
|
|
164
|
+
"semantics.form-error",
|
|
165
|
+
"semantics.form-label",
|
|
166
|
+
"semantics.form-required",
|
|
167
|
+
"semantics.keyboard.escape",
|
|
168
|
+
"semantics.live-status",
|
|
169
|
+
"semantics.name-role-value",
|
|
170
|
+
"semantics.roles-states-properties",
|
|
171
|
+
"semantics.selected-state"
|
|
172
|
+
]
|
|
10
173
|
},
|
|
11
|
-
"schema_version": 2,
|
|
12
174
|
"projected_ids": [
|
|
13
|
-
"applicability.authentication
|
|
14
|
-
"applicability.character-shortcuts",
|
|
175
|
+
"applicability.accessible-authentication",
|
|
15
176
|
"applicability.complex-pointer",
|
|
16
177
|
"applicability.consequential-submission",
|
|
17
178
|
"applicability.consistent-help",
|
|
18
|
-
"applicability.data-table
|
|
179
|
+
"applicability.data-table",
|
|
180
|
+
"applicability.dragging-alternative",
|
|
19
181
|
"applicability.dynamic-status",
|
|
20
182
|
"applicability.focus-obstruction",
|
|
21
183
|
"applicability.forms",
|
|
22
|
-
"applicability.locale-bidi",
|
|
23
184
|
"applicability.media",
|
|
24
185
|
"applicability.motion-timing",
|
|
25
186
|
"applicability.non-text-content",
|
|
26
|
-
"applicability.orientation-sensory",
|
|
27
187
|
"applicability.overlays",
|
|
28
188
|
"applicability.page-context",
|
|
29
189
|
"applicability.redundant-entry",
|
|
@@ -35,6 +195,7 @@
|
|
|
35
195
|
"pattern.accordion",
|
|
36
196
|
"pattern.alert",
|
|
37
197
|
"pattern.carousel",
|
|
198
|
+
"pattern.checkbox",
|
|
38
199
|
"pattern.combobox",
|
|
39
200
|
"pattern.consequential-submission",
|
|
40
201
|
"pattern.dialog",
|
|
@@ -44,19 +205,27 @@
|
|
|
44
205
|
"pattern.image",
|
|
45
206
|
"pattern.listbox",
|
|
46
207
|
"pattern.media-player",
|
|
208
|
+
"pattern.menu",
|
|
47
209
|
"pattern.menu-button",
|
|
48
210
|
"pattern.pagination",
|
|
49
211
|
"pattern.popover",
|
|
50
212
|
"pattern.progress",
|
|
213
|
+
"pattern.radio-group",
|
|
214
|
+
"pattern.slider",
|
|
215
|
+
"pattern.spinbutton",
|
|
51
216
|
"pattern.tabs",
|
|
52
217
|
"pattern.tooltip",
|
|
218
|
+
"pattern.tree-view",
|
|
53
219
|
"pattern.validation",
|
|
54
220
|
"policy.enhanced-quality",
|
|
55
221
|
"policy.target-size",
|
|
222
|
+
"semantics.accessible-authentication",
|
|
56
223
|
"semantics.accessible-name",
|
|
57
224
|
"semantics.alert",
|
|
58
225
|
"semantics.consequential-action",
|
|
226
|
+
"semantics.consistent-help",
|
|
59
227
|
"semantics.data-table",
|
|
228
|
+
"semantics.dragging-alternative",
|
|
60
229
|
"semantics.expanded-state",
|
|
61
230
|
"semantics.focus.initial",
|
|
62
231
|
"semantics.focus.return",
|
|
@@ -75,10 +244,24 @@
|
|
|
75
244
|
"semantics.native-dialog",
|
|
76
245
|
"semantics.native-elements",
|
|
77
246
|
"semantics.non-text-alternative",
|
|
247
|
+
"semantics.redundant-entry",
|
|
78
248
|
"semantics.roles-states-properties",
|
|
79
249
|
"semantics.selected-state",
|
|
80
250
|
"semantics.target-size"
|
|
81
251
|
],
|
|
252
|
+
"schema_version": 3,
|
|
253
|
+
"ui_design_brain": {
|
|
254
|
+
"binding_digest": "9c2e5264b3706778d800e6c8f7fb77ebceb34a8bb00937431cd42f5c0b2e9d39",
|
|
255
|
+
"catalog_authority_version": "1.15.1",
|
|
256
|
+
"manifest_digest": "sha256:63a0bc8d9537d6d4c0aef8fd8a539bf4a9181a50d0761bd63eae6fe59b4eddc9",
|
|
257
|
+
"manifest_path": "skills/ui-design-brain/catalog-manifest.json",
|
|
258
|
+
"package": "@verndale/ui-design-brain",
|
|
259
|
+
"package_version": "1.16.0",
|
|
260
|
+
"pattern_count": 80,
|
|
261
|
+
"repository": "https://github.com/verndale/ui-design-brain",
|
|
262
|
+
"source_digest": "sha256:1eda596fe341786b5ada25742b6487bc06685fff17cbd582bc1b58302097e3ff",
|
|
263
|
+
"tracking_issue": "https://github.com/verndale/ui-design-brain/issues/47"
|
|
264
|
+
},
|
|
82
265
|
"ui_pattern_ids": [
|
|
83
266
|
"accordion",
|
|
84
267
|
"alert",
|
|
@@ -161,149 +344,515 @@
|
|
|
161
344
|
"visually-hidden",
|
|
162
345
|
"wizard"
|
|
163
346
|
],
|
|
164
|
-
"
|
|
165
|
-
"
|
|
166
|
-
"
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
347
|
+
"wcag_2_2": {
|
|
348
|
+
"authority": "wcag-2.2",
|
|
349
|
+
"criteria": [
|
|
350
|
+
{
|
|
351
|
+
"id": "1.1.1",
|
|
352
|
+
"level": "A",
|
|
353
|
+
"note": "Meaningful and decorative non-text content are covered, but dedicated obligations for controls and input, time-based media identification, tests, sensory experiences, and CAPTCHA alternatives are not all represented.",
|
|
354
|
+
"semantic_ids": [
|
|
355
|
+
"semantics.non-text-alternative"
|
|
356
|
+
],
|
|
357
|
+
"status": "partial",
|
|
358
|
+
"title": "Non-text Content"
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"id": "1.2.1",
|
|
362
|
+
"level": "A",
|
|
363
|
+
"note": "The shared media rule does not distinguish every audio-only and video-only alternative.",
|
|
364
|
+
"semantic_ids": [
|
|
365
|
+
"semantics.media-alternatives"
|
|
366
|
+
],
|
|
367
|
+
"status": "partial",
|
|
368
|
+
"title": "Audio-only and Video-only (Prerecorded)"
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"id": "1.2.2",
|
|
372
|
+
"level": "A",
|
|
373
|
+
"note": "Captions are required broadly, without a criterion-specific prerecorded contract.",
|
|
374
|
+
"semantic_ids": [
|
|
375
|
+
"semantics.media-alternatives"
|
|
376
|
+
],
|
|
377
|
+
"status": "partial",
|
|
378
|
+
"title": "Captions (Prerecorded)"
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"id": "1.2.3",
|
|
382
|
+
"level": "A",
|
|
383
|
+
"note": "The shared media rule covers both alternatives but does not encode the criterion's conditional choice.",
|
|
384
|
+
"semantic_ids": [
|
|
385
|
+
"semantics.media-alternatives"
|
|
386
|
+
],
|
|
387
|
+
"status": "partial",
|
|
388
|
+
"title": "Audio Description or Media Alternative (Prerecorded)"
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"id": "1.2.4",
|
|
392
|
+
"level": "AA",
|
|
393
|
+
"note": "No semantic rule requires live captions.",
|
|
394
|
+
"semantic_ids": [],
|
|
395
|
+
"status": "gap",
|
|
396
|
+
"title": "Captions (Live)"
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"id": "1.2.5",
|
|
400
|
+
"level": "AA",
|
|
401
|
+
"note": "Audio description is named, but prerecorded applicability is not represented independently.",
|
|
402
|
+
"semantic_ids": [
|
|
403
|
+
"semantics.media-alternatives"
|
|
404
|
+
],
|
|
405
|
+
"status": "partial",
|
|
406
|
+
"title": "Audio Description (Prerecorded)"
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
"id": "1.3.1",
|
|
410
|
+
"level": "A",
|
|
411
|
+
"note": "Several structural cases are covered, but the general criterion is broader than the current rules.",
|
|
412
|
+
"semantic_ids": [
|
|
413
|
+
"semantics.data-table",
|
|
414
|
+
"semantics.form-label",
|
|
415
|
+
"semantics.form-required",
|
|
416
|
+
"semantics.headings",
|
|
417
|
+
"semantics.landmarks"
|
|
418
|
+
],
|
|
419
|
+
"status": "partial",
|
|
420
|
+
"title": "Info and Relationships"
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
"id": "1.3.2",
|
|
424
|
+
"level": "A",
|
|
425
|
+
"note": "No semantic rule explicitly preserves meaningful reading sequence.",
|
|
426
|
+
"semantic_ids": [],
|
|
427
|
+
"status": "gap",
|
|
428
|
+
"title": "Meaningful Sequence"
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
"id": "1.3.3",
|
|
432
|
+
"level": "A",
|
|
433
|
+
"note": "No semantic rule prevents instructions from relying only on sensory characteristics.",
|
|
434
|
+
"semantic_ids": [],
|
|
435
|
+
"status": "gap",
|
|
436
|
+
"title": "Sensory Characteristics"
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
"id": "1.3.4",
|
|
440
|
+
"level": "AA",
|
|
441
|
+
"note": "No semantic rule prevents unnecessary orientation restrictions.",
|
|
442
|
+
"semantic_ids": [],
|
|
443
|
+
"status": "gap",
|
|
444
|
+
"title": "Orientation"
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"id": "1.3.5",
|
|
448
|
+
"level": "AA",
|
|
449
|
+
"note": "No semantic rule requires programmatic input-purpose tokens.",
|
|
450
|
+
"semantic_ids": [],
|
|
451
|
+
"status": "gap",
|
|
452
|
+
"title": "Identify Input Purpose"
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
"id": "1.4.1",
|
|
456
|
+
"level": "A",
|
|
457
|
+
"note": "No semantic rule prohibits color-only communication.",
|
|
458
|
+
"semantic_ids": [],
|
|
459
|
+
"status": "gap",
|
|
460
|
+
"title": "Use of Color"
|
|
461
|
+
},
|
|
462
|
+
{
|
|
463
|
+
"id": "1.4.2",
|
|
464
|
+
"level": "A",
|
|
465
|
+
"note": "No semantic rule requires independent control of automatically playing audio.",
|
|
466
|
+
"semantic_ids": [],
|
|
467
|
+
"status": "gap",
|
|
468
|
+
"title": "Audio Control"
|
|
469
|
+
},
|
|
470
|
+
{
|
|
471
|
+
"id": "1.4.3",
|
|
472
|
+
"level": "AA",
|
|
473
|
+
"note": "No semantic rule defines minimum text contrast.",
|
|
474
|
+
"semantic_ids": [],
|
|
475
|
+
"status": "gap",
|
|
476
|
+
"title": "Contrast (Minimum)"
|
|
477
|
+
},
|
|
478
|
+
{
|
|
479
|
+
"id": "1.4.4",
|
|
480
|
+
"level": "AA",
|
|
481
|
+
"note": "No semantic rule defines text resizing behavior.",
|
|
482
|
+
"semantic_ids": [],
|
|
483
|
+
"status": "gap",
|
|
484
|
+
"title": "Resize Text"
|
|
485
|
+
},
|
|
486
|
+
{
|
|
487
|
+
"id": "1.4.5",
|
|
488
|
+
"level": "AA",
|
|
489
|
+
"note": "Text alternatives do not replace a rule limiting images of text.",
|
|
490
|
+
"semantic_ids": [],
|
|
491
|
+
"status": "gap",
|
|
492
|
+
"title": "Images of Text"
|
|
493
|
+
},
|
|
494
|
+
{
|
|
495
|
+
"id": "1.4.10",
|
|
496
|
+
"level": "AA",
|
|
497
|
+
"note": "No semantic rule defines responsive reflow requirements.",
|
|
498
|
+
"semantic_ids": [],
|
|
499
|
+
"status": "gap",
|
|
500
|
+
"title": "Reflow"
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
"id": "1.4.11",
|
|
504
|
+
"level": "AA",
|
|
505
|
+
"note": "No semantic rule defines contrast for controls, states, or graphical objects.",
|
|
506
|
+
"semantic_ids": [],
|
|
507
|
+
"status": "gap",
|
|
508
|
+
"title": "Non-text Contrast"
|
|
509
|
+
},
|
|
510
|
+
{
|
|
511
|
+
"id": "1.4.12",
|
|
512
|
+
"level": "AA",
|
|
513
|
+
"note": "No semantic rule protects content under user-adjusted text spacing.",
|
|
514
|
+
"semantic_ids": [],
|
|
515
|
+
"status": "gap",
|
|
516
|
+
"title": "Text Spacing"
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
"id": "1.4.13",
|
|
520
|
+
"level": "AA",
|
|
521
|
+
"note": "Pattern behavior exists for tooltips, but no semantic rule covers dismissibility, hoverability, and persistence together.",
|
|
522
|
+
"semantic_ids": [],
|
|
523
|
+
"status": "gap",
|
|
524
|
+
"title": "Content on Hover or Focus"
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
"id": "2.1.1",
|
|
528
|
+
"level": "A",
|
|
529
|
+
"semantic_ids": [
|
|
530
|
+
"semantics.keyboard"
|
|
531
|
+
],
|
|
532
|
+
"status": "covered",
|
|
533
|
+
"title": "Keyboard"
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
"id": "2.1.2",
|
|
537
|
+
"level": "A",
|
|
538
|
+
"semantic_ids": [
|
|
539
|
+
"semantics.keyboard"
|
|
540
|
+
],
|
|
541
|
+
"status": "covered",
|
|
542
|
+
"title": "No Keyboard Trap"
|
|
543
|
+
},
|
|
544
|
+
{
|
|
545
|
+
"id": "2.1.4",
|
|
546
|
+
"level": "A",
|
|
547
|
+
"note": "Keyboard operability does not define shortcut remapping or deactivation.",
|
|
548
|
+
"semantic_ids": [],
|
|
549
|
+
"status": "gap",
|
|
550
|
+
"title": "Character Key Shortcuts"
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
"id": "2.2.1",
|
|
554
|
+
"level": "A",
|
|
555
|
+
"note": "No semantic rule encodes timing adjustment and its exceptions.",
|
|
556
|
+
"semantic_ids": [],
|
|
557
|
+
"status": "gap",
|
|
558
|
+
"title": "Timing Adjustable"
|
|
559
|
+
},
|
|
560
|
+
{
|
|
561
|
+
"id": "2.2.2",
|
|
562
|
+
"level": "A",
|
|
563
|
+
"semantic_ids": [
|
|
564
|
+
"semantics.motion-control"
|
|
565
|
+
],
|
|
566
|
+
"status": "covered",
|
|
567
|
+
"title": "Pause, Stop, Hide"
|
|
568
|
+
},
|
|
569
|
+
{
|
|
570
|
+
"id": "2.3.1",
|
|
571
|
+
"level": "A",
|
|
572
|
+
"note": "No semantic rule limits flashing content.",
|
|
573
|
+
"semantic_ids": [],
|
|
574
|
+
"status": "gap",
|
|
575
|
+
"title": "Three Flashes or Below Threshold"
|
|
576
|
+
},
|
|
577
|
+
{
|
|
578
|
+
"id": "2.4.1",
|
|
579
|
+
"level": "A",
|
|
580
|
+
"note": "Landmarks alone do not establish a required bypass mechanism.",
|
|
581
|
+
"semantic_ids": [],
|
|
582
|
+
"status": "gap",
|
|
583
|
+
"title": "Bypass Blocks"
|
|
584
|
+
},
|
|
585
|
+
{
|
|
586
|
+
"id": "2.4.2",
|
|
587
|
+
"level": "A",
|
|
588
|
+
"note": "No semantic rule requires descriptive page titles.",
|
|
589
|
+
"semantic_ids": [],
|
|
590
|
+
"status": "gap",
|
|
591
|
+
"title": "Page Titled"
|
|
592
|
+
},
|
|
593
|
+
{
|
|
594
|
+
"id": "2.4.3",
|
|
595
|
+
"level": "A",
|
|
596
|
+
"note": "Pattern focus lifecycles do not establish document-wide focus order.",
|
|
597
|
+
"semantic_ids": [],
|
|
598
|
+
"status": "gap",
|
|
599
|
+
"title": "Focus Order"
|
|
600
|
+
},
|
|
601
|
+
{
|
|
602
|
+
"id": "2.4.4",
|
|
603
|
+
"level": "A",
|
|
604
|
+
"note": "No semantic rule explicitly defines contextual link purpose.",
|
|
605
|
+
"semantic_ids": [],
|
|
606
|
+
"status": "gap",
|
|
607
|
+
"title": "Link Purpose (In Context)"
|
|
608
|
+
},
|
|
609
|
+
{
|
|
610
|
+
"id": "2.4.5",
|
|
611
|
+
"level": "AA",
|
|
612
|
+
"note": "No semantic rule requires multiple ways to locate pages.",
|
|
613
|
+
"semantic_ids": [],
|
|
614
|
+
"status": "gap",
|
|
615
|
+
"title": "Multiple Ways"
|
|
616
|
+
},
|
|
617
|
+
{
|
|
618
|
+
"id": "2.4.6",
|
|
619
|
+
"level": "AA",
|
|
620
|
+
"note": "Heading structure is covered, but a unified descriptive-purpose rule for all headings and labels is absent.",
|
|
621
|
+
"semantic_ids": [
|
|
622
|
+
"semantics.headings"
|
|
623
|
+
],
|
|
624
|
+
"status": "partial",
|
|
625
|
+
"title": "Headings and Labels"
|
|
626
|
+
},
|
|
627
|
+
{
|
|
628
|
+
"id": "2.4.7",
|
|
629
|
+
"level": "AA",
|
|
630
|
+
"semantic_ids": [
|
|
631
|
+
"semantics.focus.visible"
|
|
632
|
+
],
|
|
633
|
+
"status": "covered",
|
|
634
|
+
"title": "Focus Visible"
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
"id": "2.4.11",
|
|
638
|
+
"level": "AA",
|
|
639
|
+
"semantic_ids": [
|
|
640
|
+
"semantics.focus.visible"
|
|
641
|
+
],
|
|
642
|
+
"status": "covered",
|
|
643
|
+
"title": "Focus Not Obscured (Minimum)"
|
|
644
|
+
},
|
|
645
|
+
{
|
|
646
|
+
"id": "2.5.1",
|
|
647
|
+
"level": "A",
|
|
648
|
+
"note": "Keyboard operation does not guarantee a single-pointer alternative to multipoint or path-based gestures.",
|
|
649
|
+
"semantic_ids": [],
|
|
650
|
+
"status": "gap",
|
|
651
|
+
"title": "Pointer Gestures"
|
|
652
|
+
},
|
|
653
|
+
{
|
|
654
|
+
"id": "2.5.2",
|
|
655
|
+
"level": "A",
|
|
656
|
+
"note": "No semantic rule defines down-event cancellation behavior.",
|
|
657
|
+
"semantic_ids": [],
|
|
658
|
+
"status": "gap",
|
|
659
|
+
"title": "Pointer Cancellation"
|
|
660
|
+
},
|
|
661
|
+
{
|
|
662
|
+
"id": "2.5.3",
|
|
663
|
+
"level": "A",
|
|
664
|
+
"semantic_ids": [
|
|
665
|
+
"semantics.accessible-name"
|
|
666
|
+
],
|
|
667
|
+
"status": "covered",
|
|
668
|
+
"title": "Label in Name"
|
|
669
|
+
},
|
|
670
|
+
{
|
|
671
|
+
"id": "2.5.4",
|
|
672
|
+
"level": "A",
|
|
673
|
+
"note": "No semantic rule addresses device or user motion actuation.",
|
|
674
|
+
"semantic_ids": [],
|
|
675
|
+
"status": "gap",
|
|
676
|
+
"title": "Motion Actuation"
|
|
677
|
+
},
|
|
678
|
+
{
|
|
679
|
+
"id": "2.5.7",
|
|
680
|
+
"level": "AA",
|
|
681
|
+
"semantic_ids": [
|
|
682
|
+
"semantics.dragging-alternative"
|
|
683
|
+
],
|
|
684
|
+
"status": "covered",
|
|
685
|
+
"title": "Dragging Movements"
|
|
686
|
+
},
|
|
687
|
+
{
|
|
688
|
+
"id": "2.5.8",
|
|
689
|
+
"level": "AA",
|
|
690
|
+
"semantic_ids": [
|
|
691
|
+
"semantics.target-size"
|
|
692
|
+
],
|
|
693
|
+
"status": "covered",
|
|
694
|
+
"title": "Target Size (Minimum)"
|
|
695
|
+
},
|
|
696
|
+
{
|
|
697
|
+
"id": "3.1.1",
|
|
698
|
+
"level": "A",
|
|
699
|
+
"note": "No semantic rule explicitly requires the default page language.",
|
|
700
|
+
"semantic_ids": [],
|
|
701
|
+
"status": "gap",
|
|
702
|
+
"title": "Language of Page"
|
|
703
|
+
},
|
|
704
|
+
{
|
|
705
|
+
"id": "3.1.2",
|
|
706
|
+
"level": "AA",
|
|
707
|
+
"note": "No semantic rule explicitly identifies changes in human language.",
|
|
708
|
+
"semantic_ids": [],
|
|
709
|
+
"status": "gap",
|
|
710
|
+
"title": "Language of Parts"
|
|
711
|
+
},
|
|
712
|
+
{
|
|
713
|
+
"id": "3.2.1",
|
|
714
|
+
"level": "A",
|
|
715
|
+
"note": "No semantic rule prohibits unexpected context changes on focus.",
|
|
716
|
+
"semantic_ids": [],
|
|
717
|
+
"status": "gap",
|
|
718
|
+
"title": "On Focus"
|
|
719
|
+
},
|
|
720
|
+
{
|
|
721
|
+
"id": "3.2.2",
|
|
722
|
+
"level": "A",
|
|
723
|
+
"note": "No semantic rule prohibits unexpected context changes on input.",
|
|
724
|
+
"semantic_ids": [],
|
|
725
|
+
"status": "gap",
|
|
726
|
+
"title": "On Input"
|
|
727
|
+
},
|
|
728
|
+
{
|
|
729
|
+
"id": "3.2.3",
|
|
730
|
+
"level": "AA",
|
|
731
|
+
"note": "Landmarks do not establish consistent repeated navigation order.",
|
|
732
|
+
"semantic_ids": [],
|
|
733
|
+
"status": "gap",
|
|
734
|
+
"title": "Consistent Navigation"
|
|
735
|
+
},
|
|
736
|
+
{
|
|
737
|
+
"id": "3.2.4",
|
|
738
|
+
"level": "AA",
|
|
739
|
+
"note": "No semantic rule requires consistent identification of repeated components.",
|
|
740
|
+
"semantic_ids": [],
|
|
741
|
+
"status": "gap",
|
|
742
|
+
"title": "Consistent Identification"
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
"id": "3.2.6",
|
|
746
|
+
"level": "A",
|
|
747
|
+
"semantic_ids": [
|
|
748
|
+
"semantics.consistent-help"
|
|
749
|
+
],
|
|
750
|
+
"status": "covered",
|
|
751
|
+
"title": "Consistent Help"
|
|
752
|
+
},
|
|
753
|
+
{
|
|
754
|
+
"id": "3.3.1",
|
|
755
|
+
"level": "A",
|
|
756
|
+
"semantic_ids": [
|
|
757
|
+
"semantics.form-error"
|
|
758
|
+
],
|
|
759
|
+
"status": "covered",
|
|
760
|
+
"title": "Error Identification"
|
|
761
|
+
},
|
|
762
|
+
{
|
|
763
|
+
"id": "3.3.2",
|
|
764
|
+
"level": "A",
|
|
765
|
+
"note": "Labels and requiredness are covered, but a dedicated rule for format and task-specific input instructions is absent.",
|
|
766
|
+
"semantic_ids": [
|
|
767
|
+
"semantics.form-label",
|
|
768
|
+
"semantics.form-required"
|
|
769
|
+
],
|
|
770
|
+
"status": "partial",
|
|
771
|
+
"title": "Labels or Instructions"
|
|
772
|
+
},
|
|
773
|
+
{
|
|
774
|
+
"id": "3.3.3",
|
|
775
|
+
"level": "AA",
|
|
776
|
+
"semantic_ids": [
|
|
777
|
+
"semantics.form-error"
|
|
778
|
+
],
|
|
779
|
+
"status": "covered",
|
|
780
|
+
"title": "Error Suggestion"
|
|
781
|
+
},
|
|
782
|
+
{
|
|
783
|
+
"id": "3.3.4",
|
|
784
|
+
"level": "AA",
|
|
785
|
+
"semantic_ids": [
|
|
786
|
+
"semantics.consequential-action"
|
|
787
|
+
],
|
|
788
|
+
"status": "covered",
|
|
789
|
+
"title": "Error Prevention (Legal, Financial, Data)"
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
"id": "3.3.7",
|
|
793
|
+
"level": "A",
|
|
794
|
+
"semantic_ids": [
|
|
795
|
+
"semantics.redundant-entry"
|
|
796
|
+
],
|
|
797
|
+
"status": "covered",
|
|
798
|
+
"title": "Redundant Entry"
|
|
799
|
+
},
|
|
800
|
+
{
|
|
801
|
+
"id": "3.3.8",
|
|
802
|
+
"level": "AA",
|
|
803
|
+
"semantic_ids": [
|
|
804
|
+
"semantics.accessible-authentication"
|
|
805
|
+
],
|
|
806
|
+
"status": "covered",
|
|
807
|
+
"title": "Accessible Authentication (Minimum)"
|
|
808
|
+
},
|
|
809
|
+
{
|
|
810
|
+
"id": "4.1.2",
|
|
811
|
+
"level": "A",
|
|
812
|
+
"semantic_ids": [
|
|
813
|
+
"semantics.accessible-name",
|
|
814
|
+
"semantics.expanded-state",
|
|
815
|
+
"semantics.name-role-value",
|
|
816
|
+
"semantics.native-dialog",
|
|
817
|
+
"semantics.roles-states-properties",
|
|
818
|
+
"semantics.selected-state"
|
|
819
|
+
],
|
|
820
|
+
"status": "covered",
|
|
821
|
+
"title": "Name, Role, Value"
|
|
822
|
+
},
|
|
823
|
+
{
|
|
824
|
+
"id": "4.1.3",
|
|
825
|
+
"level": "AA",
|
|
826
|
+
"semantic_ids": [
|
|
827
|
+
"semantics.alert",
|
|
828
|
+
"semantics.live-status"
|
|
829
|
+
],
|
|
830
|
+
"status": "covered",
|
|
831
|
+
"title": "Status Messages"
|
|
832
|
+
}
|
|
236
833
|
],
|
|
237
|
-
"
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
"semantics.consequential-action",
|
|
259
|
-
"semantics.data-table",
|
|
260
|
-
"semantics.focus.visible",
|
|
261
|
-
"semantics.form-error",
|
|
262
|
-
"semantics.form-label",
|
|
263
|
-
"semantics.headings",
|
|
264
|
-
"semantics.keyboard",
|
|
265
|
-
"semantics.landmarks",
|
|
266
|
-
"semantics.live-status",
|
|
267
|
-
"semantics.media-alternatives",
|
|
268
|
-
"semantics.motion-control",
|
|
269
|
-
"semantics.name-role-value",
|
|
270
|
-
"semantics.native-dialog",
|
|
271
|
-
"semantics.native-elements",
|
|
272
|
-
"semantics.non-text-alternative",
|
|
273
|
-
"semantics.target-size"
|
|
834
|
+
"deferred_patterns": [
|
|
835
|
+
{
|
|
836
|
+
"id": "alert-dialog",
|
|
837
|
+
"reason": "Deferred until dialog purpose distinguishes urgent confirmation or attention from a general modal dialog."
|
|
838
|
+
},
|
|
839
|
+
{
|
|
840
|
+
"id": "grid",
|
|
841
|
+
"reason": "Deferred until a static-versus-interactive grid discriminator and keyboard interaction model are defined."
|
|
842
|
+
},
|
|
843
|
+
{
|
|
844
|
+
"id": "switch",
|
|
845
|
+
"reason": "Deferred until a binary toggle model distinguishes switch behavior from a generic form field."
|
|
846
|
+
},
|
|
847
|
+
{
|
|
848
|
+
"id": "toolbar",
|
|
849
|
+
"reason": "Deferred until control-group behavior and its focus-management model are defined."
|
|
850
|
+
},
|
|
851
|
+
{
|
|
852
|
+
"id": "treegrid",
|
|
853
|
+
"reason": "Deferred until static-versus-interactive grid selection and the hierarchical tree interaction model are defined."
|
|
854
|
+
}
|
|
274
855
|
],
|
|
275
|
-
"
|
|
276
|
-
"pattern.accordion",
|
|
277
|
-
"pattern.alert",
|
|
278
|
-
"pattern.carousel",
|
|
279
|
-
"pattern.combobox",
|
|
280
|
-
"pattern.dialog",
|
|
281
|
-
"pattern.disclosure",
|
|
282
|
-
"pattern.dynamic-status",
|
|
283
|
-
"pattern.field",
|
|
284
|
-
"pattern.listbox",
|
|
285
|
-
"pattern.menu-button",
|
|
286
|
-
"pattern.pagination",
|
|
287
|
-
"pattern.popover",
|
|
288
|
-
"pattern.progress",
|
|
289
|
-
"pattern.tabs",
|
|
290
|
-
"pattern.tooltip",
|
|
291
|
-
"pattern.validation",
|
|
292
|
-
"semantics.accessible-name",
|
|
293
|
-
"semantics.alert",
|
|
294
|
-
"semantics.expanded-state",
|
|
295
|
-
"semantics.focus.initial",
|
|
296
|
-
"semantics.focus.return",
|
|
297
|
-
"semantics.form-error",
|
|
298
|
-
"semantics.form-label",
|
|
299
|
-
"semantics.form-required",
|
|
300
|
-
"semantics.keyboard",
|
|
301
|
-
"semantics.keyboard.escape",
|
|
302
|
-
"semantics.live-status",
|
|
303
|
-
"semantics.name-role-value",
|
|
304
|
-
"semantics.native-elements",
|
|
305
|
-
"semantics.roles-states-properties",
|
|
306
|
-
"semantics.selected-state"
|
|
307
|
-
]
|
|
856
|
+
"version": 1
|
|
308
857
|
}
|
|
309
858
|
}
|