stimeo-ui 0.2.1 → 0.4.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 (219) hide show
  1. package/CHANGELOG.md +160 -0
  2. package/dist/cable/index.d.ts +16 -16
  3. package/dist/cable/index.js.map +1 -1
  4. package/dist/controllers/accordion_controller.js +10 -0
  5. package/dist/controllers/accordion_controller.js.map +1 -1
  6. package/dist/controllers/alert_dialog_controller.js +32 -5
  7. package/dist/controllers/alert_dialog_controller.js.map +1 -1
  8. package/dist/controllers/announcer_controller.d.ts +32 -6
  9. package/dist/controllers/announcer_controller.js +255 -20
  10. package/dist/controllers/announcer_controller.js.map +1 -1
  11. package/dist/controllers/breadcrumb_controller.d.ts +97 -10
  12. package/dist/controllers/breadcrumb_controller.js +225 -13
  13. package/dist/controllers/breadcrumb_controller.js.map +1 -1
  14. package/dist/controllers/calendar_controller.d.ts +11 -1
  15. package/dist/controllers/calendar_controller.js +89 -22
  16. package/dist/controllers/calendar_controller.js.map +1 -1
  17. package/dist/controllers/carousel_controller.d.ts +16 -1
  18. package/dist/controllers/carousel_controller.js +47 -6
  19. package/dist/controllers/carousel_controller.js.map +1 -1
  20. package/dist/controllers/collapsible_controller.js +2 -2
  21. package/dist/controllers/collapsible_controller.js.map +1 -1
  22. package/dist/controllers/color_picker_controller.d.ts +14 -2
  23. package/dist/controllers/color_picker_controller.js +92 -7
  24. package/dist/controllers/color_picker_controller.js.map +1 -1
  25. package/dist/controllers/combobox_controller.d.ts +14 -1
  26. package/dist/controllers/combobox_controller.js +162 -23
  27. package/dist/controllers/combobox_controller.js.map +1 -1
  28. package/dist/controllers/command_palette_controller.d.ts +2 -0
  29. package/dist/controllers/command_palette_controller.js +226 -22
  30. package/dist/controllers/command_palette_controller.js.map +1 -1
  31. package/dist/controllers/confirm_controller.js +32 -5
  32. package/dist/controllers/confirm_controller.js.map +1 -1
  33. package/dist/controllers/context_menu_controller.d.ts +7 -6
  34. package/dist/controllers/context_menu_controller.js +32 -10
  35. package/dist/controllers/context_menu_controller.js.map +1 -1
  36. package/dist/controllers/count_up_controller.js.map +1 -1
  37. package/dist/controllers/countdown_controller.d.ts +19 -5
  38. package/dist/controllers/countdown_controller.js +112 -12
  39. package/dist/controllers/countdown_controller.js.map +1 -1
  40. package/dist/controllers/data_grid_controller.d.ts +19 -1
  41. package/dist/controllers/data_grid_controller.js +82 -4
  42. package/dist/controllers/data_grid_controller.js.map +1 -1
  43. package/dist/controllers/date_range_picker_controller.d.ts +5 -1
  44. package/dist/controllers/date_range_picker_controller.js +77 -3
  45. package/dist/controllers/date_range_picker_controller.js.map +1 -1
  46. package/dist/controllers/dialog_controller.js +32 -5
  47. package/dist/controllers/dialog_controller.js.map +1 -1
  48. package/dist/controllers/dismissible_controller.js.map +1 -1
  49. package/dist/controllers/drawer_controller.js +32 -5
  50. package/dist/controllers/drawer_controller.js.map +1 -1
  51. package/dist/controllers/dropdown_controller.d.ts +1 -2
  52. package/dist/controllers/dropdown_controller.js.map +1 -1
  53. package/dist/controllers/editable_controller.js +1 -0
  54. package/dist/controllers/editable_controller.js.map +1 -1
  55. package/dist/controllers/empty_state_controller.d.ts +9 -4
  56. package/dist/controllers/empty_state_controller.js +24 -10
  57. package/dist/controllers/empty_state_controller.js.map +1 -1
  58. package/dist/controllers/focus_controller.d.ts +1 -1
  59. package/dist/controllers/focus_controller.js +32 -5
  60. package/dist/controllers/focus_controller.js.map +1 -1
  61. package/dist/controllers/form_field_controller.js.map +1 -1
  62. package/dist/controllers/form_validation_controller.js +1 -1
  63. package/dist/controllers/form_validation_controller.js.map +1 -1
  64. package/dist/controllers/frame_loading_controller.d.ts +14 -3
  65. package/dist/controllers/frame_loading_controller.js +177 -15
  66. package/dist/controllers/frame_loading_controller.js.map +1 -1
  67. package/dist/controllers/highlight_controller.js.map +1 -1
  68. package/dist/controllers/hover_card_controller.d.ts +1 -1
  69. package/dist/controllers/hover_card_controller.js.map +1 -1
  70. package/dist/controllers/intersection_controller.js +36 -11
  71. package/dist/controllers/intersection_controller.js.map +1 -1
  72. package/dist/controllers/lazy_frame_controller.js +31 -10
  73. package/dist/controllers/lazy_frame_controller.js.map +1 -1
  74. package/dist/controllers/listbox_controller.d.ts +9 -2
  75. package/dist/controllers/listbox_controller.js +257 -53
  76. package/dist/controllers/listbox_controller.js.map +1 -1
  77. package/dist/controllers/local_time_controller.d.ts +19 -3
  78. package/dist/controllers/local_time_controller.js +102 -8
  79. package/dist/controllers/local_time_controller.js.map +1 -1
  80. package/dist/controllers/menu_controller.d.ts +29 -11
  81. package/dist/controllers/menu_controller.js +104 -17
  82. package/dist/controllers/menu_controller.js.map +1 -1
  83. package/dist/controllers/menubar_controller.d.ts +91 -11
  84. package/dist/controllers/menubar_controller.js +415 -63
  85. package/dist/controllers/menubar_controller.js.map +1 -1
  86. package/dist/controllers/meter_controller.d.ts +22 -2
  87. package/dist/controllers/meter_controller.js +145 -26
  88. package/dist/controllers/meter_controller.js.map +1 -1
  89. package/dist/controllers/multi_select_controller.d.ts +31 -5
  90. package/dist/controllers/multi_select_controller.js +312 -29
  91. package/dist/controllers/multi_select_controller.js.map +1 -1
  92. package/dist/controllers/navigation_menu_controller.d.ts +65 -18
  93. package/dist/controllers/navigation_menu_controller.js +154 -27
  94. package/dist/controllers/navigation_menu_controller.js.map +1 -1
  95. package/dist/controllers/nested_form_controller.d.ts +4 -5
  96. package/dist/controllers/nested_form_controller.js.map +1 -1
  97. package/dist/controllers/network_status_controller.d.ts +13 -1
  98. package/dist/controllers/network_status_controller.js +28 -8
  99. package/dist/controllers/network_status_controller.js.map +1 -1
  100. package/dist/controllers/number_input_controller.d.ts +1 -1
  101. package/dist/controllers/number_input_controller.js +7 -0
  102. package/dist/controllers/number_input_controller.js.map +1 -1
  103. package/dist/controllers/otp_controller.js +18 -1
  104. package/dist/controllers/otp_controller.js.map +1 -1
  105. package/dist/controllers/overflow_indicator_controller.d.ts +3 -2
  106. package/dist/controllers/overflow_indicator_controller.js +81 -13
  107. package/dist/controllers/overflow_indicator_controller.js.map +1 -1
  108. package/dist/controllers/overflow_menu_controller.d.ts +78 -19
  109. package/dist/controllers/overflow_menu_controller.js +408 -57
  110. package/dist/controllers/overflow_menu_controller.js.map +1 -1
  111. package/dist/controllers/pagination_controller.d.ts +36 -5
  112. package/dist/controllers/pagination_controller.js +163 -32
  113. package/dist/controllers/pagination_controller.js.map +1 -1
  114. package/dist/controllers/persist_controller.js +6 -6
  115. package/dist/controllers/persist_controller.js.map +1 -1
  116. package/dist/controllers/pointer_drag_controller.d.ts +2 -3
  117. package/dist/controllers/pointer_drag_controller.js +9 -1
  118. package/dist/controllers/pointer_drag_controller.js.map +1 -1
  119. package/dist/controllers/popover_controller.d.ts +1 -2
  120. package/dist/controllers/popover_controller.js +2 -2
  121. package/dist/controllers/popover_controller.js.map +1 -1
  122. package/dist/controllers/portal_controller.d.ts +4 -4
  123. package/dist/controllers/portal_controller.js.map +1 -1
  124. package/dist/controllers/progress_controller.d.ts +16 -1
  125. package/dist/controllers/progress_controller.js +116 -9
  126. package/dist/controllers/progress_controller.js.map +1 -1
  127. package/dist/controllers/radio_group_controller.js +22 -3
  128. package/dist/controllers/radio_group_controller.js.map +1 -1
  129. package/dist/controllers/range_slider_controller.d.ts +18 -5
  130. package/dist/controllers/range_slider_controller.js +100 -9
  131. package/dist/controllers/range_slider_controller.js.map +1 -1
  132. package/dist/controllers/rating_controller.d.ts +4 -1
  133. package/dist/controllers/rating_controller.js +69 -2
  134. package/dist/controllers/rating_controller.js.map +1 -1
  135. package/dist/controllers/read_more_controller.js +63 -19
  136. package/dist/controllers/read_more_controller.js.map +1 -1
  137. package/dist/controllers/reading_progress_controller.js.map +1 -1
  138. package/dist/controllers/relative_time_controller.d.ts +13 -0
  139. package/dist/controllers/relative_time_controller.js +133 -12
  140. package/dist/controllers/relative_time_controller.js.map +1 -1
  141. package/dist/controllers/resizable_controller.d.ts +3 -1
  142. package/dist/controllers/resizable_controller.js +65 -1
  143. package/dist/controllers/resizable_controller.js.map +1 -1
  144. package/dist/controllers/roving_controller.js +17 -2
  145. package/dist/controllers/roving_controller.js.map +1 -1
  146. package/dist/controllers/scroll_area_controller.js +86 -12
  147. package/dist/controllers/scroll_area_controller.js.map +1 -1
  148. package/dist/controllers/scroll_restore_controller.js +1 -1
  149. package/dist/controllers/scroll_restore_controller.js.map +1 -1
  150. package/dist/controllers/scroll_visibility_controller.d.ts +6 -3
  151. package/dist/controllers/scroll_visibility_controller.js +33 -3
  152. package/dist/controllers/scroll_visibility_controller.js.map +1 -1
  153. package/dist/controllers/scrollspy_controller.d.ts +64 -15
  154. package/dist/controllers/scrollspy_controller.js +346 -73
  155. package/dist/controllers/scrollspy_controller.js.map +1 -1
  156. package/dist/controllers/separator_controller.d.ts +20 -5
  157. package/dist/controllers/separator_controller.js +9 -0
  158. package/dist/controllers/separator_controller.js.map +1 -1
  159. package/dist/controllers/sidebar_controller.d.ts +2 -12
  160. package/dist/controllers/sidebar_controller.js +37 -8
  161. package/dist/controllers/sidebar_controller.js.map +1 -1
  162. package/dist/controllers/skeleton_controller.d.ts +7 -2
  163. package/dist/controllers/skeleton_controller.js +73 -20
  164. package/dist/controllers/skeleton_controller.js.map +1 -1
  165. package/dist/controllers/slider_controller.d.ts +11 -1
  166. package/dist/controllers/slider_controller.js +49 -8
  167. package/dist/controllers/slider_controller.js.map +1 -1
  168. package/dist/controllers/sortable_controller.d.ts +3 -1
  169. package/dist/controllers/sortable_controller.js +34 -3
  170. package/dist/controllers/sortable_controller.js.map +1 -1
  171. package/dist/controllers/spinner_controller.d.ts +37 -4
  172. package/dist/controllers/spinner_controller.js +228 -27
  173. package/dist/controllers/spinner_controller.js.map +1 -1
  174. package/dist/controllers/step_indicator_controller.d.ts +12 -1
  175. package/dist/controllers/step_indicator_controller.js +82 -5
  176. package/dist/controllers/step_indicator_controller.js.map +1 -1
  177. package/dist/controllers/stick_to_bottom_controller.d.ts +31 -8
  178. package/dist/controllers/stick_to_bottom_controller.js +61 -10
  179. package/dist/controllers/stick_to_bottom_controller.js.map +1 -1
  180. package/dist/controllers/sticky_observer_controller.js +32 -11
  181. package/dist/controllers/sticky_observer_controller.js.map +1 -1
  182. package/dist/controllers/submit_once_controller.d.ts +2 -2
  183. package/dist/controllers/submit_once_controller.js.map +1 -1
  184. package/dist/controllers/switch_controller.js +1 -0
  185. package/dist/controllers/switch_controller.js.map +1 -1
  186. package/dist/controllers/tabs_controller.d.ts +11 -3
  187. package/dist/controllers/tabs_controller.js +26 -3
  188. package/dist/controllers/tabs_controller.js.map +1 -1
  189. package/dist/controllers/tags_input_controller.js +22 -2
  190. package/dist/controllers/tags_input_controller.js.map +1 -1
  191. package/dist/controllers/theme_controller.d.ts +1 -1
  192. package/dist/controllers/theme_controller.js +22 -3
  193. package/dist/controllers/theme_controller.js.map +1 -1
  194. package/dist/controllers/time_picker_controller.js +20 -1
  195. package/dist/controllers/time_picker_controller.js.map +1 -1
  196. package/dist/controllers/toast_controller.d.ts +4 -5
  197. package/dist/controllers/toast_controller.js +4 -5
  198. package/dist/controllers/toast_controller.js.map +1 -1
  199. package/dist/controllers/toggle_group_controller.js +23 -2
  200. package/dist/controllers/toggle_group_controller.js.map +1 -1
  201. package/dist/controllers/toolbar_controller.d.ts +53 -13
  202. package/dist/controllers/toolbar_controller.js +230 -31
  203. package/dist/controllers/toolbar_controller.js.map +1 -1
  204. package/dist/controllers/tooltip_controller.d.ts +1 -1
  205. package/dist/controllers/tooltip_controller.js.map +1 -1
  206. package/dist/controllers/transition_controller.js.map +1 -1
  207. package/dist/controllers/tree_view_controller.d.ts +87 -6
  208. package/dist/controllers/tree_view_controller.js +467 -51
  209. package/dist/controllers/tree_view_controller.js.map +1 -1
  210. package/dist/index.js +4507 -907
  211. package/dist/index.js.map +1 -1
  212. package/dist/inspector/cli.d.ts +375 -39
  213. package/dist/inspector/cli.js +1009 -86
  214. package/dist/inspector/cli.js.map +1 -1
  215. package/dist/inspector/cli_bin.js +1200 -120
  216. package/dist/inspector/cli_bin.js.map +1 -1
  217. package/dist/inspector/examples.json +28 -28
  218. package/dist/inspector/manifest.json +1060 -132
  219. package/package.json +5 -6
@@ -1,6 +1,6 @@
1
1
  {
2
- "schemaVersion": 5,
3
- "packageVersion": "0.2.1",
2
+ "schemaVersion": 8,
3
+ "packageVersion": "0.4.0",
4
4
  "controllers": {
5
5
  "stimeo--accordion": {
6
6
  "targets": [
@@ -19,10 +19,15 @@
19
19
  "trigger",
20
20
  "panel"
21
21
  ],
22
+ "conditionalTargets": [],
22
23
  "a11y": [],
23
24
  "keyboard": [],
24
25
  "managedAria": [],
25
- "compositions": []
26
+ "compositions": [],
27
+ "companions": [],
28
+ "targetDeclarations": [],
29
+ "cardinality": [],
30
+ "forbiddenAria": []
26
31
  },
27
32
  "stimeo--alert-dialog": {
28
33
  "targets": [
@@ -44,6 +49,7 @@
44
49
  "trigger",
45
50
  "dialog"
46
51
  ],
52
+ "conditionalTargets": [],
47
53
  "a11y": [
48
54
  {
49
55
  "target": "dialog",
@@ -76,7 +82,11 @@
76
82
  ],
77
83
  "keyboard": [],
78
84
  "managedAria": [],
79
- "compositions": []
85
+ "compositions": [],
86
+ "companions": [],
87
+ "targetDeclarations": [],
88
+ "cardinality": [],
89
+ "forbiddenAria": []
80
90
  },
81
91
  "stimeo--announcer": {
82
92
  "targets": [
@@ -92,10 +102,15 @@
92
102
  ],
93
103
  "events": [],
94
104
  "requiredTargets": [],
105
+ "conditionalTargets": [],
95
106
  "a11y": [],
96
107
  "keyboard": [],
97
108
  "managedAria": [],
98
- "compositions": []
109
+ "compositions": [],
110
+ "companions": [],
111
+ "targetDeclarations": [],
112
+ "cardinality": [],
113
+ "forbiddenAria": []
99
114
  },
100
115
  "stimeo--aspect-ratio": {
101
116
  "targets": [
@@ -107,10 +122,15 @@
107
122
  "actions": [],
108
123
  "events": [],
109
124
  "requiredTargets": [],
125
+ "conditionalTargets": [],
110
126
  "a11y": [],
111
127
  "keyboard": [],
112
128
  "managedAria": [],
113
- "compositions": []
129
+ "compositions": [],
130
+ "companions": [],
131
+ "targetDeclarations": [],
132
+ "cardinality": [],
133
+ "forbiddenAria": []
114
134
  },
115
135
  "stimeo--auto-submit": {
116
136
  "targets": [
@@ -130,10 +150,15 @@
130
150
  "done"
131
151
  ],
132
152
  "requiredTargets": [],
153
+ "conditionalTargets": [],
133
154
  "a11y": [],
134
155
  "keyboard": [],
135
156
  "managedAria": [],
136
- "compositions": []
157
+ "compositions": [],
158
+ "companions": [],
159
+ "targetDeclarations": [],
160
+ "cardinality": [],
161
+ "forbiddenAria": []
137
162
  },
138
163
  "stimeo--avatar": {
139
164
  "targets": [
@@ -153,10 +178,15 @@
153
178
  "requiredTargets": [
154
179
  "image"
155
180
  ],
181
+ "conditionalTargets": [],
156
182
  "a11y": [],
157
183
  "keyboard": [],
158
184
  "managedAria": [],
159
- "compositions": []
185
+ "compositions": [],
186
+ "companions": [],
187
+ "targetDeclarations": [],
188
+ "cardinality": [],
189
+ "forbiddenAria": []
160
190
  },
161
191
  "stimeo--breadcrumb": {
162
192
  "targets": [
@@ -167,7 +197,8 @@
167
197
  ],
168
198
  "values": [],
169
199
  "actions": [
170
- "toggle"
200
+ "toggle",
201
+ "update"
171
202
  ],
172
203
  "events": [
173
204
  "toggle"
@@ -175,10 +206,24 @@
175
206
  "requiredTargets": [
176
207
  "list"
177
208
  ],
209
+ "conditionalTargets": [
210
+ {
211
+ "whenPresent": "collapsible",
212
+ "require": [
213
+ "ellipsis",
214
+ "trigger"
215
+ ],
216
+ "suggestion": "Add the disclosure an author-marked \"collapsible\" needs: an \"ellipsis\" item and a \"trigger\" button inside it. Without both, the trail never collapses."
217
+ }
218
+ ],
178
219
  "a11y": [],
179
220
  "keyboard": [],
180
221
  "managedAria": [],
181
- "compositions": []
222
+ "compositions": [],
223
+ "companions": [],
224
+ "targetDeclarations": [],
225
+ "cardinality": [],
226
+ "forbiddenAria": []
182
227
  },
183
228
  "stimeo--bulk-select": {
184
229
  "targets": [
@@ -203,10 +248,15 @@
203
248
  "item",
204
249
  "bar"
205
250
  ],
251
+ "conditionalTargets": [],
206
252
  "a11y": [],
207
253
  "keyboard": [],
208
254
  "managedAria": [],
209
- "compositions": []
255
+ "compositions": [],
256
+ "companions": [],
257
+ "targetDeclarations": [],
258
+ "cardinality": [],
259
+ "forbiddenAria": []
210
260
  },
211
261
  "stimeo--calendar": {
212
262
  "targets": [
@@ -234,10 +284,15 @@
234
284
  "requiredTargets": [
235
285
  "grid"
236
286
  ],
287
+ "conditionalTargets": [],
237
288
  "a11y": [],
238
289
  "keyboard": [],
239
290
  "managedAria": [],
240
- "compositions": []
291
+ "compositions": [],
292
+ "companions": [],
293
+ "targetDeclarations": [],
294
+ "cardinality": [],
295
+ "forbiddenAria": []
241
296
  },
242
297
  "stimeo--carousel": {
243
298
  "targets": [
@@ -271,6 +326,7 @@
271
326
  "slide",
272
327
  "picker"
273
328
  ],
329
+ "conditionalTargets": [],
274
330
  "a11y": [
275
331
  {
276
332
  "target": "",
@@ -310,6 +366,14 @@
310
366
  ],
311
367
  "suggestion": "Add aria-roledescription=\"slide\" to each slide target."
312
368
  },
369
+ {
370
+ "target": "slide",
371
+ "attrs": [
372
+ "aria-labelledby",
373
+ "aria-label"
374
+ ],
375
+ "suggestion": "Name each slide via aria-labelledby (its picker's id) or aria-label."
376
+ },
313
377
  {
314
378
  "target": "picker",
315
379
  "attrs": [
@@ -323,7 +387,22 @@
323
387
  ],
324
388
  "keyboard": [],
325
389
  "managedAria": [],
326
- "compositions": []
390
+ "compositions": [],
391
+ "companions": [],
392
+ "targetDeclarations": [],
393
+ "cardinality": [
394
+ {
395
+ "within": "",
396
+ "target": "picker",
397
+ "attr": "aria-selected",
398
+ "values": [
399
+ "true"
400
+ ],
401
+ "max": 1,
402
+ "suggestion": "Leave aria-selected=\"true\" on exactly one picker and set the others to \"false\" — the carousel shows one slide, and connect keeps the first."
403
+ }
404
+ ],
405
+ "forbiddenAria": []
327
406
  },
328
407
  "stimeo--character-counter": {
329
408
  "targets": [
@@ -340,10 +419,15 @@
340
419
  "change"
341
420
  ],
342
421
  "requiredTargets": [],
422
+ "conditionalTargets": [],
343
423
  "a11y": [],
344
424
  "keyboard": [],
345
425
  "managedAria": [],
346
- "compositions": []
426
+ "compositions": [],
427
+ "companions": [],
428
+ "targetDeclarations": [],
429
+ "cardinality": [],
430
+ "forbiddenAria": []
347
431
  },
348
432
  "stimeo--checkbox": {
349
433
  "targets": [
@@ -361,10 +445,15 @@
361
445
  "requiredTargets": [
362
446
  "parent"
363
447
  ],
448
+ "conditionalTargets": [],
364
449
  "a11y": [],
365
450
  "keyboard": [],
366
451
  "managedAria": [],
367
- "compositions": []
452
+ "compositions": [],
453
+ "companions": [],
454
+ "targetDeclarations": [],
455
+ "cardinality": [],
456
+ "forbiddenAria": []
368
457
  },
369
458
  "stimeo--clipboard": {
370
459
  "targets": [
@@ -388,10 +477,15 @@
388
477
  "button",
389
478
  "feedback"
390
479
  ],
480
+ "conditionalTargets": [],
391
481
  "a11y": [],
392
482
  "keyboard": [],
393
483
  "managedAria": [],
394
- "compositions": []
484
+ "compositions": [],
485
+ "companions": [],
486
+ "targetDeclarations": [],
487
+ "cardinality": [],
488
+ "forbiddenAria": []
395
489
  },
396
490
  "stimeo--collapsible": {
397
491
  "targets": [
@@ -409,10 +503,15 @@
409
503
  "trigger",
410
504
  "content"
411
505
  ],
506
+ "conditionalTargets": [],
412
507
  "a11y": [],
413
508
  "keyboard": [],
414
509
  "managedAria": [],
415
- "compositions": []
510
+ "compositions": [],
511
+ "companions": [],
512
+ "targetDeclarations": [],
513
+ "cardinality": [],
514
+ "forbiddenAria": []
416
515
  },
417
516
  "stimeo--color-picker": {
418
517
  "targets": [
@@ -423,7 +522,8 @@
423
522
  ],
424
523
  "values": [
425
524
  "value",
426
- "alpha"
525
+ "alpha",
526
+ "logicalTrack"
427
527
  ],
428
528
  "actions": [
429
529
  "onHexInput",
@@ -436,6 +536,7 @@
436
536
  "requiredTargets": [
437
537
  "slider"
438
538
  ],
539
+ "conditionalTargets": [],
439
540
  "a11y": [
440
541
  {
441
542
  "target": "slider",
@@ -464,7 +565,11 @@
464
565
  }
465
566
  ],
466
567
  "managedAria": [],
467
- "compositions": []
568
+ "compositions": [],
569
+ "companions": [],
570
+ "targetDeclarations": [],
571
+ "cardinality": [],
572
+ "forbiddenAria": []
468
573
  },
469
574
  "stimeo--combobox": {
470
575
  "targets": [
@@ -487,6 +592,7 @@
487
592
  "input",
488
593
  "list"
489
594
  ],
595
+ "conditionalTargets": [],
490
596
  "a11y": [
491
597
  {
492
598
  "target": "input",
@@ -508,6 +614,21 @@
508
614
  ],
509
615
  "suggestion": "Add aria-autocomplete=\"list\" to the input target."
510
616
  },
617
+ {
618
+ "target": "input",
619
+ "attrs": [
620
+ "aria-labelledby",
621
+ "aria-label"
622
+ ],
623
+ "whenElement": {
624
+ "exceptTags": [
625
+ "input",
626
+ "select",
627
+ "textarea"
628
+ ]
629
+ },
630
+ "suggestion": "Name the combobox via aria-labelledby, aria-label, or a native <label for>."
631
+ },
511
632
  {
512
633
  "target": "list",
513
634
  "attrs": [
@@ -518,6 +639,14 @@
518
639
  ],
519
640
  "suggestion": "Add role=\"listbox\" to the list target."
520
641
  },
642
+ {
643
+ "target": "list",
644
+ "attrs": [
645
+ "aria-labelledby",
646
+ "aria-label"
647
+ ],
648
+ "suggestion": "Name the listbox via aria-labelledby (the input's label) or aria-label."
649
+ },
521
650
  {
522
651
  "target": "option",
523
652
  "attrs": [
@@ -537,9 +666,20 @@
537
666
  "aria-activedescendant"
538
667
  ],
539
668
  "suggestion": "Remove aria-activedescendant from the input target — the controller sets it while the listbox is open."
669
+ },
670
+ {
671
+ "target": "option",
672
+ "attrs": [
673
+ "aria-selected"
674
+ ],
675
+ "suggestion": "Remove aria-selected from the option target — here it marks the active candidate, which the controller overwrites on connect. The committed value lives in the input."
540
676
  }
541
677
  ],
542
- "compositions": []
678
+ "compositions": [],
679
+ "companions": [],
680
+ "targetDeclarations": [],
681
+ "cardinality": [],
682
+ "forbiddenAria": []
543
683
  },
544
684
  "stimeo--command-palette": {
545
685
  "targets": [
@@ -570,6 +710,7 @@
570
710
  "input",
571
711
  "list"
572
712
  ],
713
+ "conditionalTargets": [],
573
714
  "a11y": [
574
715
  {
575
716
  "target": "dialog",
@@ -619,6 +760,21 @@
619
760
  ],
620
761
  "suggestion": "Add aria-autocomplete=\"list\" to the input target."
621
762
  },
763
+ {
764
+ "target": "input",
765
+ "attrs": [
766
+ "aria-labelledby",
767
+ "aria-label"
768
+ ],
769
+ "whenElement": {
770
+ "exceptTags": [
771
+ "input",
772
+ "select",
773
+ "textarea"
774
+ ]
775
+ },
776
+ "suggestion": "Name the combobox via aria-labelledby, aria-label, or a native <label for>."
777
+ },
622
778
  {
623
779
  "target": "list",
624
780
  "attrs": [
@@ -629,6 +785,14 @@
629
785
  ],
630
786
  "suggestion": "Add role=\"listbox\" to the list target."
631
787
  },
788
+ {
789
+ "target": "list",
790
+ "attrs": [
791
+ "aria-labelledby",
792
+ "aria-label"
793
+ ],
794
+ "suggestion": "Name the listbox via aria-labelledby (the input's label) or aria-label."
795
+ },
632
796
  {
633
797
  "target": "option",
634
798
  "attrs": [
@@ -655,9 +819,20 @@
655
819
  "aria-activedescendant"
656
820
  ],
657
821
  "suggestion": "Remove aria-activedescendant from the input target — the controller sets it while the palette is open."
822
+ },
823
+ {
824
+ "target": "option",
825
+ "attrs": [
826
+ "aria-selected"
827
+ ],
828
+ "suggestion": "Remove aria-selected from the option target — here it marks the active candidate, which the controller overwrites on connect. A palette runs a command and keeps nothing selected."
658
829
  }
659
830
  ],
660
- "compositions": []
831
+ "compositions": [],
832
+ "companions": [],
833
+ "targetDeclarations": [],
834
+ "cardinality": [],
835
+ "forbiddenAria": []
661
836
  },
662
837
  "stimeo--conditional-fields": {
663
838
  "targets": [
@@ -678,10 +853,15 @@
678
853
  "trigger",
679
854
  "region"
680
855
  ],
856
+ "conditionalTargets": [],
681
857
  "a11y": [],
682
858
  "keyboard": [],
683
859
  "managedAria": [],
684
- "compositions": []
860
+ "compositions": [],
861
+ "companions": [],
862
+ "targetDeclarations": [],
863
+ "cardinality": [],
864
+ "forbiddenAria": []
685
865
  },
686
866
  "stimeo--confirm": {
687
867
  "targets": [
@@ -708,6 +888,7 @@
708
888
  "requiredTargets": [
709
889
  "dialog"
710
890
  ],
891
+ "conditionalTargets": [],
711
892
  "a11y": [
712
893
  {
713
894
  "target": "dialog",
@@ -740,7 +921,11 @@
740
921
  ],
741
922
  "keyboard": [],
742
923
  "managedAria": [],
743
- "compositions": []
924
+ "compositions": [],
925
+ "companions": [],
926
+ "targetDeclarations": [],
927
+ "cardinality": [],
928
+ "forbiddenAria": []
744
929
  },
745
930
  "stimeo--context-menu": {
746
931
  "targets": [
@@ -761,6 +946,7 @@
761
946
  "menu",
762
947
  "item"
763
948
  ],
949
+ "conditionalTargets": [],
764
950
  "a11y": [
765
951
  {
766
952
  "target": "menu",
@@ -783,6 +969,15 @@
783
969
  "menuitemradio"
784
970
  ],
785
971
  "suggestion": "Add role=\"menuitem\" (or \"menuitemcheckbox\" / \"menuitemradio\") to each item target."
972
+ },
973
+ {
974
+ "target": "menu",
975
+ "attrs": [
976
+ "aria-labelledby",
977
+ "aria-label"
978
+ ],
979
+ "severity": "warning",
980
+ "suggestion": "Name the menu via aria-label (a context menu has no visible trigger)."
786
981
  }
787
982
  ],
788
983
  "keyboard": [
@@ -798,7 +993,11 @@
798
993
  }
799
994
  ],
800
995
  "managedAria": [],
801
- "compositions": []
996
+ "compositions": [],
997
+ "companions": [],
998
+ "targetDeclarations": [],
999
+ "cardinality": [],
1000
+ "forbiddenAria": []
802
1001
  },
803
1002
  "stimeo--count-up": {
804
1003
  "targets": [],
@@ -814,10 +1013,15 @@
814
1013
  "end"
815
1014
  ],
816
1015
  "requiredTargets": [],
1016
+ "conditionalTargets": [],
817
1017
  "a11y": [],
818
1018
  "keyboard": [],
819
1019
  "managedAria": [],
820
- "compositions": []
1020
+ "compositions": [],
1021
+ "companions": [],
1022
+ "targetDeclarations": [],
1023
+ "cardinality": [],
1024
+ "forbiddenAria": []
821
1025
  },
822
1026
  "stimeo--countdown": {
823
1027
  "targets": [
@@ -832,7 +1036,8 @@
832
1036
  "interval",
833
1037
  "direction",
834
1038
  "autostart",
835
- "completeLabel"
1039
+ "completeLabel",
1040
+ "announceText"
836
1041
  ],
837
1042
  "actions": [
838
1043
  "pause",
@@ -845,10 +1050,15 @@
845
1050
  "tick"
846
1051
  ],
847
1052
  "requiredTargets": [],
1053
+ "conditionalTargets": [],
848
1054
  "a11y": [],
849
1055
  "keyboard": [],
850
1056
  "managedAria": [],
851
- "compositions": []
1057
+ "compositions": [],
1058
+ "companions": [],
1059
+ "targetDeclarations": [],
1060
+ "cardinality": [],
1061
+ "forbiddenAria": []
852
1062
  },
853
1063
  "stimeo--currency-input": {
854
1064
  "targets": [
@@ -872,10 +1082,15 @@
872
1082
  "display",
873
1083
  "field"
874
1084
  ],
1085
+ "conditionalTargets": [],
875
1086
  "a11y": [],
876
1087
  "keyboard": [],
877
1088
  "managedAria": [],
878
- "compositions": []
1089
+ "compositions": [],
1090
+ "companions": [],
1091
+ "targetDeclarations": [],
1092
+ "cardinality": [],
1093
+ "forbiddenAria": []
879
1094
  },
880
1095
  "stimeo--data-grid": {
881
1096
  "targets": [
@@ -900,6 +1115,7 @@
900
1115
  "row",
901
1116
  "cell"
902
1117
  ],
1118
+ "conditionalTargets": [],
903
1119
  "a11y": [
904
1120
  {
905
1121
  "target": "",
@@ -910,11 +1126,46 @@
910
1126
  "grid"
911
1127
  ],
912
1128
  "suggestion": "Add role=\"grid\" to the controller element."
1129
+ },
1130
+ {
1131
+ "target": "",
1132
+ "attrs": [
1133
+ "aria-labelledby",
1134
+ "aria-label"
1135
+ ],
1136
+ "whenElement": {
1137
+ "exceptTags": [
1138
+ "table"
1139
+ ]
1140
+ },
1141
+ "suggestion": "Name the grid via aria-labelledby or aria-label."
913
1142
  }
914
1143
  ],
915
1144
  "keyboard": [],
916
1145
  "managedAria": [],
917
- "compositions": []
1146
+ "compositions": [],
1147
+ "companions": [],
1148
+ "targetDeclarations": [],
1149
+ "cardinality": [
1150
+ {
1151
+ "within": "",
1152
+ "target": "row",
1153
+ "attr": "aria-selected",
1154
+ "values": [
1155
+ "true"
1156
+ ],
1157
+ "max": 1,
1158
+ "when": {
1159
+ "value": "selection",
1160
+ "equals": [
1161
+ "single"
1162
+ ],
1163
+ "default": "none"
1164
+ },
1165
+ "suggestion": "Leave aria-selected=\"true\" on exactly one row, or switch the grid to data-stimeo--data-grid-selection-value=\"multiple\" if several were meant."
1166
+ }
1167
+ ],
1168
+ "forbiddenAria": []
918
1169
  },
919
1170
  "stimeo--date-range-picker": {
920
1171
  "targets": [
@@ -944,6 +1195,7 @@
944
1195
  "grid",
945
1196
  "cell"
946
1197
  ],
1198
+ "conditionalTargets": [],
947
1199
  "a11y": [
948
1200
  {
949
1201
  "target": "grid",
@@ -955,6 +1207,19 @@
955
1207
  ],
956
1208
  "suggestion": "Add role=\"grid\" to the grid target."
957
1209
  },
1210
+ {
1211
+ "target": "grid",
1212
+ "attrs": [
1213
+ "aria-labelledby",
1214
+ "aria-label"
1215
+ ],
1216
+ "whenElement": {
1217
+ "exceptTags": [
1218
+ "table"
1219
+ ]
1220
+ },
1221
+ "suggestion": "Name the grid via aria-labelledby (the month heading) or aria-label."
1222
+ },
958
1223
  {
959
1224
  "target": "cell",
960
1225
  "attrs": [
@@ -968,7 +1233,11 @@
968
1233
  ],
969
1234
  "keyboard": [],
970
1235
  "managedAria": [],
971
- "compositions": []
1236
+ "compositions": [],
1237
+ "companions": [],
1238
+ "targetDeclarations": [],
1239
+ "cardinality": [],
1240
+ "forbiddenAria": []
972
1241
  },
973
1242
  "stimeo--dialog": {
974
1243
  "targets": [
@@ -986,6 +1255,7 @@
986
1255
  "trigger",
987
1256
  "dialog"
988
1257
  ],
1258
+ "conditionalTargets": [],
989
1259
  "a11y": [
990
1260
  {
991
1261
  "target": "dialog",
@@ -1018,7 +1288,11 @@
1018
1288
  ],
1019
1289
  "keyboard": [],
1020
1290
  "managedAria": [],
1021
- "compositions": []
1291
+ "compositions": [],
1292
+ "companions": [],
1293
+ "targetDeclarations": [],
1294
+ "cardinality": [],
1295
+ "forbiddenAria": []
1022
1296
  },
1023
1297
  "stimeo--direct-upload": {
1024
1298
  "targets": [
@@ -1043,10 +1317,15 @@
1043
1317
  "list",
1044
1318
  "row"
1045
1319
  ],
1320
+ "conditionalTargets": [],
1046
1321
  "a11y": [],
1047
1322
  "keyboard": [],
1048
1323
  "managedAria": [],
1049
- "compositions": []
1324
+ "compositions": [],
1325
+ "companions": [],
1326
+ "targetDeclarations": [],
1327
+ "cardinality": [],
1328
+ "forbiddenAria": []
1050
1329
  },
1051
1330
  "stimeo--dirty-form": {
1052
1331
  "targets": [],
@@ -1062,10 +1341,15 @@
1062
1341
  "guard"
1063
1342
  ],
1064
1343
  "requiredTargets": [],
1344
+ "conditionalTargets": [],
1065
1345
  "a11y": [],
1066
1346
  "keyboard": [],
1067
1347
  "managedAria": [],
1068
- "compositions": []
1348
+ "compositions": [],
1349
+ "companions": [],
1350
+ "targetDeclarations": [],
1351
+ "cardinality": [],
1352
+ "forbiddenAria": []
1069
1353
  },
1070
1354
  "stimeo--dismissible": {
1071
1355
  "targets": [
@@ -1083,10 +1367,15 @@
1083
1367
  "dismiss"
1084
1368
  ],
1085
1369
  "requiredTargets": [],
1370
+ "conditionalTargets": [],
1086
1371
  "a11y": [],
1087
1372
  "keyboard": [],
1088
1373
  "managedAria": [],
1089
- "compositions": []
1374
+ "compositions": [],
1375
+ "companions": [],
1376
+ "targetDeclarations": [],
1377
+ "cardinality": [],
1378
+ "forbiddenAria": []
1090
1379
  },
1091
1380
  "stimeo--drawer": {
1092
1381
  "targets": [
@@ -1107,6 +1396,7 @@
1107
1396
  "requiredTargets": [
1108
1397
  "panel"
1109
1398
  ],
1399
+ "conditionalTargets": [],
1110
1400
  "a11y": [
1111
1401
  {
1112
1402
  "target": "panel",
@@ -1139,7 +1429,11 @@
1139
1429
  ],
1140
1430
  "keyboard": [],
1141
1431
  "managedAria": [],
1142
- "compositions": []
1432
+ "compositions": [],
1433
+ "companions": [],
1434
+ "targetDeclarations": [],
1435
+ "cardinality": [],
1436
+ "forbiddenAria": []
1143
1437
  },
1144
1438
  "stimeo--dropdown": {
1145
1439
  "targets": [
@@ -1157,10 +1451,15 @@
1157
1451
  "trigger",
1158
1452
  "menu"
1159
1453
  ],
1454
+ "conditionalTargets": [],
1160
1455
  "a11y": [],
1161
1456
  "keyboard": [],
1162
1457
  "managedAria": [],
1163
- "compositions": []
1458
+ "compositions": [],
1459
+ "companions": [],
1460
+ "targetDeclarations": [],
1461
+ "cardinality": [],
1462
+ "forbiddenAria": []
1164
1463
  },
1165
1464
  "stimeo--editable": {
1166
1465
  "targets": [
@@ -1184,10 +1483,15 @@
1184
1483
  "display",
1185
1484
  "input"
1186
1485
  ],
1486
+ "conditionalTargets": [],
1187
1487
  "a11y": [],
1188
1488
  "keyboard": [],
1189
1489
  "managedAria": [],
1190
- "compositions": []
1490
+ "compositions": [],
1491
+ "companions": [],
1492
+ "targetDeclarations": [],
1493
+ "cardinality": [],
1494
+ "forbiddenAria": []
1191
1495
  },
1192
1496
  "stimeo--empty-state": {
1193
1497
  "targets": [
@@ -1196,7 +1500,8 @@
1196
1500
  ],
1197
1501
  "values": [
1198
1502
  "itemSelector",
1199
- "announce"
1503
+ "announceText",
1504
+ "announceFilledText"
1200
1505
  ],
1201
1506
  "actions": [],
1202
1507
  "events": [
@@ -1205,10 +1510,15 @@
1205
1510
  "requiredTargets": [
1206
1511
  "list"
1207
1512
  ],
1513
+ "conditionalTargets": [],
1208
1514
  "a11y": [],
1209
1515
  "keyboard": [],
1210
1516
  "managedAria": [],
1211
- "compositions": []
1517
+ "compositions": [],
1518
+ "companions": [],
1519
+ "targetDeclarations": [],
1520
+ "cardinality": [],
1521
+ "forbiddenAria": []
1212
1522
  },
1213
1523
  "stimeo--file-dropzone": {
1214
1524
  "targets": [
@@ -1240,10 +1550,30 @@
1240
1550
  "input",
1241
1551
  "trigger"
1242
1552
  ],
1553
+ "conditionalTargets": [
1554
+ {
1555
+ "whenPresent": "itemTemplate",
1556
+ "require": [
1557
+ "list"
1558
+ ],
1559
+ "suggestion": "Add a \"list\" target for the rendered items — an \"itemTemplate\" with nowhere to append to renders nothing."
1560
+ },
1561
+ {
1562
+ "whenPresent": "list",
1563
+ "require": [
1564
+ "itemTemplate"
1565
+ ],
1566
+ "suggestion": "Add an \"itemTemplate\" target — a \"list\" has no item markup to clone without it."
1567
+ }
1568
+ ],
1243
1569
  "a11y": [],
1244
1570
  "keyboard": [],
1245
1571
  "managedAria": [],
1246
- "compositions": []
1572
+ "compositions": [],
1573
+ "companions": [],
1574
+ "targetDeclarations": [],
1575
+ "cardinality": [],
1576
+ "forbiddenAria": []
1247
1577
  },
1248
1578
  "stimeo--filter": {
1249
1579
  "targets": [
@@ -1265,10 +1595,15 @@
1265
1595
  "requiredTargets": [
1266
1596
  "item"
1267
1597
  ],
1598
+ "conditionalTargets": [],
1268
1599
  "a11y": [],
1269
1600
  "keyboard": [],
1270
1601
  "managedAria": [],
1271
- "compositions": []
1602
+ "compositions": [],
1603
+ "companions": [],
1604
+ "targetDeclarations": [],
1605
+ "cardinality": [],
1606
+ "forbiddenAria": []
1272
1607
  },
1273
1608
  "stimeo--flash": {
1274
1609
  "targets": [
@@ -1290,10 +1625,15 @@
1290
1625
  "requiredTargets": [
1291
1626
  "region"
1292
1627
  ],
1628
+ "conditionalTargets": [],
1293
1629
  "a11y": [],
1294
1630
  "keyboard": [],
1295
1631
  "managedAria": [],
1296
- "compositions": []
1632
+ "compositions": [],
1633
+ "companions": [],
1634
+ "targetDeclarations": [],
1635
+ "cardinality": [],
1636
+ "forbiddenAria": []
1297
1637
  },
1298
1638
  "stimeo--focus": {
1299
1639
  "targets": [
@@ -1314,10 +1654,15 @@
1314
1654
  "deactivate"
1315
1655
  ],
1316
1656
  "requiredTargets": [],
1657
+ "conditionalTargets": [],
1317
1658
  "a11y": [],
1318
1659
  "keyboard": [],
1319
1660
  "managedAria": [],
1320
- "compositions": []
1661
+ "compositions": [],
1662
+ "companions": [],
1663
+ "targetDeclarations": [],
1664
+ "cardinality": [],
1665
+ "forbiddenAria": []
1321
1666
  },
1322
1667
  "stimeo--form-field": {
1323
1668
  "targets": [
@@ -1338,6 +1683,7 @@
1338
1683
  "requiredTargets": [
1339
1684
  "control"
1340
1685
  ],
1686
+ "conditionalTargets": [],
1341
1687
  "a11y": [
1342
1688
  {
1343
1689
  "target": "error",
@@ -1364,7 +1710,11 @@
1364
1710
  ],
1365
1711
  "keyboard": [],
1366
1712
  "managedAria": [],
1367
- "compositions": []
1713
+ "compositions": [],
1714
+ "companions": [],
1715
+ "targetDeclarations": [],
1716
+ "cardinality": [],
1717
+ "forbiddenAria": []
1368
1718
  },
1369
1719
  "stimeo--form-validation": {
1370
1720
  "targets": [],
@@ -1382,10 +1732,15 @@
1382
1732
  "invalid"
1383
1733
  ],
1384
1734
  "requiredTargets": [],
1735
+ "conditionalTargets": [],
1385
1736
  "a11y": [],
1386
1737
  "keyboard": [],
1387
1738
  "managedAria": [],
1388
- "compositions": []
1739
+ "compositions": [],
1740
+ "companions": [],
1741
+ "targetDeclarations": [],
1742
+ "cardinality": [],
1743
+ "forbiddenAria": []
1389
1744
  },
1390
1745
  "stimeo--frame-loading": {
1391
1746
  "targets": [
@@ -1394,6 +1749,8 @@
1394
1749
  "overlay"
1395
1750
  ],
1396
1751
  "values": [
1752
+ "announceText",
1753
+ "announceReadyText",
1397
1754
  "minDuration",
1398
1755
  "restoreFocus"
1399
1756
  ],
@@ -1403,10 +1760,15 @@
1403
1760
  "end"
1404
1761
  ],
1405
1762
  "requiredTargets": [],
1763
+ "conditionalTargets": [],
1406
1764
  "a11y": [],
1407
1765
  "keyboard": [],
1408
1766
  "managedAria": [],
1409
- "compositions": []
1767
+ "compositions": [],
1768
+ "companions": [],
1769
+ "targetDeclarations": [],
1770
+ "cardinality": [],
1771
+ "forbiddenAria": []
1410
1772
  },
1411
1773
  "stimeo--highlight": {
1412
1774
  "targets": [],
@@ -1420,10 +1782,15 @@
1420
1782
  "end"
1421
1783
  ],
1422
1784
  "requiredTargets": [],
1785
+ "conditionalTargets": [],
1423
1786
  "a11y": [],
1424
1787
  "keyboard": [],
1425
1788
  "managedAria": [],
1426
- "compositions": []
1789
+ "compositions": [],
1790
+ "companions": [],
1791
+ "targetDeclarations": [],
1792
+ "cardinality": [],
1793
+ "forbiddenAria": []
1427
1794
  },
1428
1795
  "stimeo--hover-card": {
1429
1796
  "targets": [
@@ -1444,10 +1811,15 @@
1444
1811
  "trigger",
1445
1812
  "card"
1446
1813
  ],
1814
+ "conditionalTargets": [],
1447
1815
  "a11y": [],
1448
1816
  "keyboard": [],
1449
1817
  "managedAria": [],
1450
- "compositions": []
1818
+ "compositions": [],
1819
+ "companions": [],
1820
+ "targetDeclarations": [],
1821
+ "cardinality": [],
1822
+ "forbiddenAria": []
1451
1823
  },
1452
1824
  "stimeo--idle": {
1453
1825
  "targets": [],
@@ -1463,10 +1835,15 @@
1463
1835
  "active"
1464
1836
  ],
1465
1837
  "requiredTargets": [],
1838
+ "conditionalTargets": [],
1466
1839
  "a11y": [],
1467
1840
  "keyboard": [],
1468
1841
  "managedAria": [],
1469
- "compositions": []
1842
+ "compositions": [],
1843
+ "companions": [],
1844
+ "targetDeclarations": [],
1845
+ "cardinality": [],
1846
+ "forbiddenAria": []
1470
1847
  },
1471
1848
  "stimeo--input-mask": {
1472
1849
  "targets": [],
@@ -1482,10 +1859,15 @@
1482
1859
  "change"
1483
1860
  ],
1484
1861
  "requiredTargets": [],
1862
+ "conditionalTargets": [],
1485
1863
  "a11y": [],
1486
1864
  "keyboard": [],
1487
1865
  "managedAria": [],
1488
- "compositions": []
1866
+ "compositions": [],
1867
+ "companions": [],
1868
+ "targetDeclarations": [],
1869
+ "cardinality": [],
1870
+ "forbiddenAria": []
1489
1871
  },
1490
1872
  "stimeo--intersection": {
1491
1873
  "targets": [],
@@ -1506,10 +1888,15 @@
1506
1888
  "passed"
1507
1889
  ],
1508
1890
  "requiredTargets": [],
1891
+ "conditionalTargets": [],
1509
1892
  "a11y": [],
1510
1893
  "keyboard": [],
1511
1894
  "managedAria": [],
1512
- "compositions": []
1895
+ "compositions": [],
1896
+ "companions": [],
1897
+ "targetDeclarations": [],
1898
+ "cardinality": [],
1899
+ "forbiddenAria": []
1513
1900
  },
1514
1901
  "stimeo--lazy-frame": {
1515
1902
  "targets": [],
@@ -1523,10 +1910,15 @@
1523
1910
  "load"
1524
1911
  ],
1525
1912
  "requiredTargets": [],
1913
+ "conditionalTargets": [],
1526
1914
  "a11y": [],
1527
1915
  "keyboard": [],
1528
1916
  "managedAria": [],
1529
- "compositions": []
1917
+ "compositions": [],
1918
+ "companions": [],
1919
+ "targetDeclarations": [],
1920
+ "cardinality": [],
1921
+ "forbiddenAria": []
1530
1922
  },
1531
1923
  "stimeo--listbox": {
1532
1924
  "targets": [
@@ -1552,6 +1944,7 @@
1552
1944
  "list",
1553
1945
  "option"
1554
1946
  ],
1947
+ "conditionalTargets": [],
1555
1948
  "a11y": [
1556
1949
  {
1557
1950
  "target": "trigger",
@@ -1581,6 +1974,14 @@
1581
1974
  ],
1582
1975
  "suggestion": "Add role=\"listbox\" to the list target."
1583
1976
  },
1977
+ {
1978
+ "target": "list",
1979
+ "attrs": [
1980
+ "aria-labelledby",
1981
+ "aria-label"
1982
+ ],
1983
+ "suggestion": "Name the listbox via aria-labelledby (the trigger's label) or aria-label."
1984
+ },
1584
1985
  {
1585
1986
  "target": "option",
1586
1987
  "attrs": [
@@ -1602,7 +2003,22 @@
1602
2003
  "suggestion": "Remove aria-activedescendant from the trigger target — the controller sets it while the listbox is open."
1603
2004
  }
1604
2005
  ],
1605
- "compositions": []
2006
+ "compositions": [],
2007
+ "companions": [],
2008
+ "targetDeclarations": [],
2009
+ "cardinality": [
2010
+ {
2011
+ "within": "",
2012
+ "target": "option",
2013
+ "attr": "aria-selected",
2014
+ "values": [
2015
+ "true"
2016
+ ],
2017
+ "max": 1,
2018
+ "suggestion": "Leave aria-selected=\"true\" on exactly one option and set the others to \"false\" — the listbox commits a single value, and connect keeps the first."
2019
+ }
2020
+ ],
2021
+ "forbiddenAria": []
1606
2022
  },
1607
2023
  "stimeo--local-time": {
1608
2024
  "targets": [],
@@ -1618,10 +2034,15 @@
1618
2034
  "format"
1619
2035
  ],
1620
2036
  "requiredTargets": [],
2037
+ "conditionalTargets": [],
1621
2038
  "a11y": [],
1622
2039
  "keyboard": [],
1623
2040
  "managedAria": [],
1624
- "compositions": []
2041
+ "compositions": [],
2042
+ "companions": [],
2043
+ "targetDeclarations": [],
2044
+ "cardinality": [],
2045
+ "forbiddenAria": []
1625
2046
  },
1626
2047
  "stimeo--masonry": {
1627
2048
  "targets": [
@@ -1638,10 +2059,15 @@
1638
2059
  "requiredTargets": [
1639
2060
  "item"
1640
2061
  ],
2062
+ "conditionalTargets": [],
1641
2063
  "a11y": [],
1642
2064
  "keyboard": [],
1643
2065
  "managedAria": [],
1644
- "compositions": []
2066
+ "compositions": [],
2067
+ "companions": [],
2068
+ "targetDeclarations": [],
2069
+ "cardinality": [],
2070
+ "forbiddenAria": []
1645
2071
  },
1646
2072
  "stimeo--menu": {
1647
2073
  "targets": [
@@ -1663,6 +2089,7 @@
1663
2089
  "trigger",
1664
2090
  "menu"
1665
2091
  ],
2092
+ "conditionalTargets": [],
1666
2093
  "a11y": [
1667
2094
  {
1668
2095
  "target": "trigger",
@@ -1691,6 +2118,7 @@
1691
2118
  "aria-labelledby",
1692
2119
  "aria-label"
1693
2120
  ],
2121
+ "severity": "warning",
1694
2122
  "suggestion": "Name the menu via aria-labelledby (the trigger's id) or aria-label."
1695
2123
  },
1696
2124
  {
@@ -1714,7 +2142,11 @@
1714
2142
  }
1715
2143
  ],
1716
2144
  "managedAria": [],
1717
- "compositions": []
2145
+ "compositions": [],
2146
+ "companions": [],
2147
+ "targetDeclarations": [],
2148
+ "cardinality": [],
2149
+ "forbiddenAria": []
1718
2150
  },
1719
2151
  "stimeo--menubar": {
1720
2152
  "targets": [
@@ -1732,9 +2164,9 @@
1732
2164
  "events": [],
1733
2165
  "requiredTargets": [
1734
2166
  "top",
1735
- "menu",
1736
- "item"
2167
+ "menu"
1737
2168
  ],
2169
+ "conditionalTargets": [],
1738
2170
  "a11y": [
1739
2171
  {
1740
2172
  "target": "",
@@ -1766,6 +2198,38 @@
1766
2198
  ],
1767
2199
  "suggestion": "Add role=\"menu\" to each menu target."
1768
2200
  },
2201
+ {
2202
+ "target": "",
2203
+ "attrs": [
2204
+ "aria-labelledby",
2205
+ "aria-label"
2206
+ ],
2207
+ "severity": "warning",
2208
+ "suggestion": "Name the menubar via aria-labelledby or aria-label."
2209
+ },
2210
+ {
2211
+ "target": "menu",
2212
+ "attrs": [
2213
+ "aria-labelledby",
2214
+ "aria-label"
2215
+ ],
2216
+ "severity": "warning",
2217
+ "suggestion": "Name each menu via aria-labelledby (its top item's id) or aria-label."
2218
+ },
2219
+ {
2220
+ "target": "menu",
2221
+ "whenContains": {
2222
+ "target": "item",
2223
+ "max": 0
2224
+ },
2225
+ "attrs": [
2226
+ "aria-busy"
2227
+ ],
2228
+ "values": [
2229
+ "true"
2230
+ ],
2231
+ "suggestion": "Add aria-busy=\"true\" to the empty menu and drop it once the items land — role=\"menu\" requires owned menuitems, and the controller never infers the state."
2232
+ },
1769
2233
  {
1770
2234
  "target": "item",
1771
2235
  "attrs": [
@@ -1781,13 +2245,33 @@
1781
2245
  ],
1782
2246
  "keyboard": [],
1783
2247
  "managedAria": [],
1784
- "compositions": []
2248
+ "compositions": [],
2249
+ "companions": [],
2250
+ "targetDeclarations": [],
2251
+ "cardinality": [],
2252
+ "forbiddenAria": [
2253
+ {
2254
+ "target": "menu",
2255
+ "attrs": [
2256
+ "aria-busy"
2257
+ ],
2258
+ "values": [
2259
+ "true"
2260
+ ],
2261
+ "whenContains": {
2262
+ "target": "item",
2263
+ "min": 1
2264
+ },
2265
+ "suggestion": "Drop aria-busy from the menu now that its items are in the markup — it only declares the temporary absence of the menuitems the role requires."
2266
+ }
2267
+ ]
1785
2268
  },
1786
2269
  "stimeo--meter": {
1787
2270
  "targets": [
1788
2271
  "bar"
1789
2272
  ],
1790
2273
  "values": [
2274
+ "announceText",
1791
2275
  "value",
1792
2276
  "min",
1793
2277
  "max",
@@ -1803,6 +2287,7 @@
1803
2287
  "change"
1804
2288
  ],
1805
2289
  "requiredTargets": [],
2290
+ "conditionalTargets": [],
1806
2291
  "a11y": [
1807
2292
  {
1808
2293
  "target": "",
@@ -1825,7 +2310,11 @@
1825
2310
  ],
1826
2311
  "keyboard": [],
1827
2312
  "managedAria": [],
1828
- "compositions": []
2313
+ "compositions": [],
2314
+ "companions": [],
2315
+ "targetDeclarations": [],
2316
+ "cardinality": [],
2317
+ "forbiddenAria": []
1829
2318
  },
1830
2319
  "stimeo--multi-select": {
1831
2320
  "targets": [
@@ -1859,6 +2348,7 @@
1859
2348
  "list",
1860
2349
  "tags"
1861
2350
  ],
2351
+ "conditionalTargets": [],
1862
2352
  "a11y": [
1863
2353
  {
1864
2354
  "target": "input",
@@ -1880,6 +2370,21 @@
1880
2370
  ],
1881
2371
  "suggestion": "Add aria-autocomplete=\"list\" to the input target."
1882
2372
  },
2373
+ {
2374
+ "target": "input",
2375
+ "attrs": [
2376
+ "aria-labelledby",
2377
+ "aria-label"
2378
+ ],
2379
+ "whenElement": {
2380
+ "exceptTags": [
2381
+ "input",
2382
+ "select",
2383
+ "textarea"
2384
+ ]
2385
+ },
2386
+ "suggestion": "Name the combobox via aria-labelledby, aria-label, or a native <label for>."
2387
+ },
1883
2388
  {
1884
2389
  "target": "list",
1885
2390
  "attrs": [
@@ -1890,6 +2395,14 @@
1890
2395
  ],
1891
2396
  "suggestion": "Add role=\"listbox\" to the list target."
1892
2397
  },
2398
+ {
2399
+ "target": "list",
2400
+ "attrs": [
2401
+ "aria-labelledby",
2402
+ "aria-label"
2403
+ ],
2404
+ "suggestion": "Name the listbox via aria-labelledby (the input's label) or aria-label."
2405
+ },
1893
2406
  {
1894
2407
  "target": "list",
1895
2408
  "attrs": [
@@ -1921,7 +2434,11 @@
1921
2434
  "suggestion": "Remove aria-activedescendant from the input target — the controller sets it while the listbox is open."
1922
2435
  }
1923
2436
  ],
1924
- "compositions": []
2437
+ "compositions": [],
2438
+ "companions": [],
2439
+ "targetDeclarations": [],
2440
+ "cardinality": [],
2441
+ "forbiddenAria": []
1925
2442
  },
1926
2443
  "stimeo--navigation-menu": {
1927
2444
  "targets": [
@@ -1942,10 +2459,23 @@
1942
2459
  "trigger",
1943
2460
  "panel"
1944
2461
  ],
2462
+ "conditionalTargets": [],
1945
2463
  "a11y": [],
1946
2464
  "keyboard": [],
1947
2465
  "managedAria": [],
1948
- "compositions": []
2466
+ "compositions": [],
2467
+ "companions": [],
2468
+ "targetDeclarations": [],
2469
+ "cardinality": [
2470
+ {
2471
+ "within": "hoverArea",
2472
+ "target": "trigger",
2473
+ "min": 1,
2474
+ "max": 1,
2475
+ "suggestion": "Wrap exactly one trigger per hoverArea — hovering an area that holds several always opens the first trigger's panel."
2476
+ }
2477
+ ],
2478
+ "forbiddenAria": []
1949
2479
  },
1950
2480
  "stimeo--nested-form": {
1951
2481
  "targets": [
@@ -1973,10 +2503,15 @@
1973
2503
  "list",
1974
2504
  "template"
1975
2505
  ],
2506
+ "conditionalTargets": [],
1976
2507
  "a11y": [],
1977
2508
  "keyboard": [],
1978
2509
  "managedAria": [],
1979
- "compositions": []
2510
+ "compositions": [],
2511
+ "companions": [],
2512
+ "targetDeclarations": [],
2513
+ "cardinality": [],
2514
+ "forbiddenAria": []
1980
2515
  },
1981
2516
  "stimeo--network-status": {
1982
2517
  "targets": [
@@ -1984,6 +2519,8 @@
1984
2519
  "online"
1985
2520
  ],
1986
2521
  "values": [
2522
+ "announceText",
2523
+ "announceOnlineText",
1987
2524
  "onlineAutoHide"
1988
2525
  ],
1989
2526
  "actions": [],
@@ -1991,10 +2528,15 @@
1991
2528
  "change"
1992
2529
  ],
1993
2530
  "requiredTargets": [],
2531
+ "conditionalTargets": [],
1994
2532
  "a11y": [],
1995
2533
  "keyboard": [],
1996
2534
  "managedAria": [],
1997
- "compositions": []
2535
+ "compositions": [],
2536
+ "companions": [],
2537
+ "targetDeclarations": [],
2538
+ "cardinality": [],
2539
+ "forbiddenAria": []
1998
2540
  },
1999
2541
  "stimeo--number-input": {
2000
2542
  "targets": [
@@ -2020,10 +2562,15 @@
2020
2562
  "requiredTargets": [
2021
2563
  "input"
2022
2564
  ],
2565
+ "conditionalTargets": [],
2023
2566
  "a11y": [],
2024
2567
  "keyboard": [],
2025
2568
  "managedAria": [],
2026
- "compositions": []
2569
+ "compositions": [],
2570
+ "companions": [],
2571
+ "targetDeclarations": [],
2572
+ "cardinality": [],
2573
+ "forbiddenAria": []
2027
2574
  },
2028
2575
  "stimeo--optimistic": {
2029
2576
  "targets": [
@@ -2037,10 +2584,15 @@
2037
2584
  "rollback"
2038
2585
  ],
2039
2586
  "requiredTargets": [],
2587
+ "conditionalTargets": [],
2040
2588
  "a11y": [],
2041
2589
  "keyboard": [],
2042
2590
  "managedAria": [],
2043
- "compositions": []
2591
+ "compositions": [],
2592
+ "companions": [],
2593
+ "targetDeclarations": [],
2594
+ "cardinality": [],
2595
+ "forbiddenAria": []
2044
2596
  },
2045
2597
  "stimeo--otp": {
2046
2598
  "targets": [
@@ -2065,10 +2617,15 @@
2065
2617
  "requiredTargets": [
2066
2618
  "field"
2067
2619
  ],
2620
+ "conditionalTargets": [],
2068
2621
  "a11y": [],
2069
2622
  "keyboard": [],
2070
2623
  "managedAria": [],
2071
- "compositions": []
2624
+ "compositions": [],
2625
+ "companions": [],
2626
+ "targetDeclarations": [],
2627
+ "cardinality": [],
2628
+ "forbiddenAria": []
2072
2629
  },
2073
2630
  "stimeo--overflow-indicator": {
2074
2631
  "targets": [
@@ -2088,10 +2645,15 @@
2088
2645
  "requiredTargets": [
2089
2646
  "viewport"
2090
2647
  ],
2648
+ "conditionalTargets": [],
2091
2649
  "a11y": [],
2092
2650
  "keyboard": [],
2093
2651
  "managedAria": [],
2094
- "compositions": []
2652
+ "compositions": [],
2653
+ "companions": [],
2654
+ "targetDeclarations": [],
2655
+ "cardinality": [],
2656
+ "forbiddenAria": []
2095
2657
  },
2096
2658
  "stimeo--overflow-menu": {
2097
2659
  "targets": [
@@ -2112,10 +2674,21 @@
2112
2674
  "items",
2113
2675
  "more"
2114
2676
  ],
2677
+ "conditionalTargets": [],
2115
2678
  "a11y": [],
2116
2679
  "keyboard": [],
2117
2680
  "managedAria": [],
2118
- "compositions": []
2681
+ "compositions": [],
2682
+ "companions": [
2683
+ {
2684
+ "target": "more",
2685
+ "controller": "stimeo--menu",
2686
+ "suggestion": "Add data-controller=\"stimeo--menu\" to the more target — the overflow controller banks items into it but never opens it."
2687
+ }
2688
+ ],
2689
+ "targetDeclarations": [],
2690
+ "cardinality": [],
2691
+ "forbiddenAria": []
2119
2692
  },
2120
2693
  "stimeo--pagination": {
2121
2694
  "targets": [
@@ -2135,13 +2708,16 @@
2135
2708
  "events": [
2136
2709
  "change"
2137
2710
  ],
2138
- "requiredTargets": [
2139
- "page"
2140
- ],
2711
+ "requiredTargets": [],
2712
+ "conditionalTargets": [],
2141
2713
  "a11y": [],
2142
2714
  "keyboard": [],
2143
2715
  "managedAria": [],
2144
- "compositions": []
2716
+ "compositions": [],
2717
+ "companions": [],
2718
+ "targetDeclarations": [],
2719
+ "cardinality": [],
2720
+ "forbiddenAria": []
2145
2721
  },
2146
2722
  "stimeo--password-reveal": {
2147
2723
  "targets": [
@@ -2161,10 +2737,15 @@
2161
2737
  "input",
2162
2738
  "toggle"
2163
2739
  ],
2740
+ "conditionalTargets": [],
2164
2741
  "a11y": [],
2165
2742
  "keyboard": [],
2166
2743
  "managedAria": [],
2167
- "compositions": []
2744
+ "compositions": [],
2745
+ "companions": [],
2746
+ "targetDeclarations": [],
2747
+ "cardinality": [],
2748
+ "forbiddenAria": []
2168
2749
  },
2169
2750
  "stimeo--password-strength": {
2170
2751
  "targets": [
@@ -2186,6 +2767,7 @@
2186
2767
  "input",
2187
2768
  "meter"
2188
2769
  ],
2770
+ "conditionalTargets": [],
2189
2771
  "a11y": [
2190
2772
  {
2191
2773
  "target": "meter",
@@ -2208,7 +2790,11 @@
2208
2790
  ],
2209
2791
  "keyboard": [],
2210
2792
  "managedAria": [],
2211
- "compositions": []
2793
+ "compositions": [],
2794
+ "companions": [],
2795
+ "targetDeclarations": [],
2796
+ "cardinality": [],
2797
+ "forbiddenAria": []
2212
2798
  },
2213
2799
  "stimeo--persist": {
2214
2800
  "targets": [
@@ -2229,10 +2815,15 @@
2229
2815
  "clear"
2230
2816
  ],
2231
2817
  "requiredTargets": [],
2818
+ "conditionalTargets": [],
2232
2819
  "a11y": [],
2233
2820
  "keyboard": [],
2234
2821
  "managedAria": [],
2235
- "compositions": []
2822
+ "compositions": [],
2823
+ "companions": [],
2824
+ "targetDeclarations": [],
2825
+ "cardinality": [],
2826
+ "forbiddenAria": []
2236
2827
  },
2237
2828
  "stimeo--pointer-drag": {
2238
2829
  "targets": [
@@ -2253,10 +2844,15 @@
2253
2844
  "cancel"
2254
2845
  ],
2255
2846
  "requiredTargets": [],
2847
+ "conditionalTargets": [],
2256
2848
  "a11y": [],
2257
2849
  "keyboard": [],
2258
2850
  "managedAria": [],
2259
- "compositions": []
2851
+ "compositions": [],
2852
+ "companions": [],
2853
+ "targetDeclarations": [],
2854
+ "cardinality": [],
2855
+ "forbiddenAria": []
2260
2856
  },
2261
2857
  "stimeo--popover": {
2262
2858
  "targets": [
@@ -2276,6 +2872,7 @@
2276
2872
  "trigger",
2277
2873
  "panel"
2278
2874
  ],
2875
+ "conditionalTargets": [],
2279
2876
  "a11y": [
2280
2877
  {
2281
2878
  "target": "panel",
@@ -2298,7 +2895,11 @@
2298
2895
  ],
2299
2896
  "keyboard": [],
2300
2897
  "managedAria": [],
2301
- "compositions": []
2898
+ "compositions": [],
2899
+ "companions": [],
2900
+ "targetDeclarations": [],
2901
+ "cardinality": [],
2902
+ "forbiddenAria": []
2302
2903
  },
2303
2904
  "stimeo--portal": {
2304
2905
  "targets": [
@@ -2315,10 +2916,15 @@
2315
2916
  "unmount"
2316
2917
  ],
2317
2918
  "requiredTargets": [],
2919
+ "conditionalTargets": [],
2318
2920
  "a11y": [],
2319
2921
  "keyboard": [],
2320
2922
  "managedAria": [],
2321
- "compositions": []
2923
+ "compositions": [],
2924
+ "companions": [],
2925
+ "targetDeclarations": [],
2926
+ "cardinality": [],
2927
+ "forbiddenAria": []
2322
2928
  },
2323
2929
  "stimeo--preview-guard": {
2324
2930
  "targets": [],
@@ -2332,10 +2938,15 @@
2332
2938
  "show"
2333
2939
  ],
2334
2940
  "requiredTargets": [],
2941
+ "conditionalTargets": [],
2335
2942
  "a11y": [],
2336
2943
  "keyboard": [],
2337
2944
  "managedAria": [],
2338
- "compositions": []
2945
+ "compositions": [],
2946
+ "companions": [],
2947
+ "targetDeclarations": [],
2948
+ "cardinality": [],
2949
+ "forbiddenAria": []
2339
2950
  },
2340
2951
  "stimeo--progress": {
2341
2952
  "targets": [
@@ -2346,7 +2957,8 @@
2346
2957
  "min",
2347
2958
  "max",
2348
2959
  "indeterminate",
2349
- "valueText"
2960
+ "valueText",
2961
+ "announceText"
2350
2962
  ],
2351
2963
  "actions": [
2352
2964
  "setValue"
@@ -2356,6 +2968,7 @@
2356
2968
  "complete"
2357
2969
  ],
2358
2970
  "requiredTargets": [],
2971
+ "conditionalTargets": [],
2359
2972
  "a11y": [
2360
2973
  {
2361
2974
  "target": "",
@@ -2378,7 +2991,11 @@
2378
2991
  ],
2379
2992
  "keyboard": [],
2380
2993
  "managedAria": [],
2381
- "compositions": []
2994
+ "compositions": [],
2995
+ "companions": [],
2996
+ "targetDeclarations": [],
2997
+ "cardinality": [],
2998
+ "forbiddenAria": []
2382
2999
  },
2383
3000
  "stimeo--radio-group": {
2384
3001
  "targets": [
@@ -2396,6 +3013,7 @@
2396
3013
  "requiredTargets": [
2397
3014
  "radio"
2398
3015
  ],
3016
+ "conditionalTargets": [],
2399
3017
  "a11y": [
2400
3018
  {
2401
3019
  "target": "",
@@ -2416,11 +3034,28 @@
2416
3034
  "radio"
2417
3035
  ],
2418
3036
  "suggestion": "Add role=\"radio\" to each radio target."
3037
+ },
3038
+ {
3039
+ "target": "",
3040
+ "attrs": [
3041
+ "aria-labelledby",
3042
+ "aria-label"
3043
+ ],
3044
+ "whenElement": {
3045
+ "exceptTags": [
3046
+ "fieldset"
3047
+ ]
3048
+ },
3049
+ "suggestion": "Name the radio group via aria-labelledby or aria-label."
2419
3050
  }
2420
3051
  ],
2421
3052
  "keyboard": [],
2422
3053
  "managedAria": [],
2423
- "compositions": []
3054
+ "compositions": [],
3055
+ "companions": [],
3056
+ "targetDeclarations": [],
3057
+ "cardinality": [],
3058
+ "forbiddenAria": []
2424
3059
  },
2425
3060
  "stimeo--range-slider": {
2426
3061
  "targets": [
@@ -2433,7 +3068,8 @@
2433
3068
  "max",
2434
3069
  "step",
2435
3070
  "start",
2436
- "end"
3071
+ "end",
3072
+ "logicalTrack"
2437
3073
  ],
2438
3074
  "actions": [
2439
3075
  "onKeydown",
@@ -2447,6 +3083,7 @@
2447
3083
  "startThumb",
2448
3084
  "endThumb"
2449
3085
  ],
3086
+ "conditionalTargets": [],
2450
3087
  "a11y": [
2451
3088
  {
2452
3089
  "target": "startThumb",
@@ -2498,7 +3135,11 @@
2498
3135
  }
2499
3136
  ],
2500
3137
  "managedAria": [],
2501
- "compositions": []
3138
+ "compositions": [],
3139
+ "companions": [],
3140
+ "targetDeclarations": [],
3141
+ "cardinality": [],
3142
+ "forbiddenAria": []
2502
3143
  },
2503
3144
  "stimeo--rating": {
2504
3145
  "targets": [
@@ -2523,10 +3164,15 @@
2523
3164
  "requiredTargets": [
2524
3165
  "symbol"
2525
3166
  ],
3167
+ "conditionalTargets": [],
2526
3168
  "a11y": [],
2527
3169
  "keyboard": [],
2528
3170
  "managedAria": [],
2529
- "compositions": []
3171
+ "compositions": [],
3172
+ "companions": [],
3173
+ "targetDeclarations": [],
3174
+ "cardinality": [],
3175
+ "forbiddenAria": []
2530
3176
  },
2531
3177
  "stimeo--read-more": {
2532
3178
  "targets": [
@@ -2544,10 +3190,15 @@
2544
3190
  "content",
2545
3191
  "trigger"
2546
3192
  ],
3193
+ "conditionalTargets": [],
2547
3194
  "a11y": [],
2548
3195
  "keyboard": [],
2549
3196
  "managedAria": [],
2550
- "compositions": []
3197
+ "compositions": [],
3198
+ "companions": [],
3199
+ "targetDeclarations": [],
3200
+ "cardinality": [],
3201
+ "forbiddenAria": []
2551
3202
  },
2552
3203
  "stimeo--reading-progress": {
2553
3204
  "targets": [],
@@ -2558,10 +3209,15 @@
2558
3209
  "complete"
2559
3210
  ],
2560
3211
  "requiredTargets": [],
3212
+ "conditionalTargets": [],
2561
3213
  "a11y": [],
2562
3214
  "keyboard": [],
2563
3215
  "managedAria": [],
2564
- "compositions": []
3216
+ "compositions": [],
3217
+ "companions": [],
3218
+ "targetDeclarations": [],
3219
+ "cardinality": [],
3220
+ "forbiddenAria": []
2565
3221
  },
2566
3222
  "stimeo--relative-time": {
2567
3223
  "targets": [],
@@ -2573,10 +3229,15 @@
2573
3229
  "actions": [],
2574
3230
  "events": [],
2575
3231
  "requiredTargets": [],
3232
+ "conditionalTargets": [],
2576
3233
  "a11y": [],
2577
3234
  "keyboard": [],
2578
3235
  "managedAria": [],
2579
- "compositions": []
3236
+ "compositions": [],
3237
+ "companions": [],
3238
+ "targetDeclarations": [],
3239
+ "cardinality": [],
3240
+ "forbiddenAria": []
2580
3241
  },
2581
3242
  "stimeo--reset-before-cache": {
2582
3243
  "targets": [],
@@ -2592,10 +3253,15 @@
2592
3253
  "request"
2593
3254
  ],
2594
3255
  "requiredTargets": [],
3256
+ "conditionalTargets": [],
2595
3257
  "a11y": [],
2596
3258
  "keyboard": [],
2597
3259
  "managedAria": [],
2598
- "compositions": []
3260
+ "compositions": [],
3261
+ "companions": [],
3262
+ "targetDeclarations": [],
3263
+ "cardinality": [],
3264
+ "forbiddenAria": []
2599
3265
  },
2600
3266
  "stimeo--resizable": {
2601
3267
  "targets": [
@@ -2622,6 +3288,7 @@
2622
3288
  "secondary",
2623
3289
  "separator"
2624
3290
  ],
3291
+ "conditionalTargets": [],
2625
3292
  "a11y": [
2626
3293
  {
2627
3294
  "target": "separator",
@@ -2639,7 +3306,13 @@
2639
3306
  "aria-label",
2640
3307
  "aria-labelledby"
2641
3308
  ],
2642
- "suggestion": "Name the separator target via aria-label or aria-labelledby."
3309
+ "whenDocument": {
3310
+ "role": "separator",
3311
+ "atLeast": 2,
3312
+ "focusable": true
3313
+ },
3314
+ "severity": "warning",
3315
+ "suggestion": "Name each separator target via aria-label or aria-labelledby — this file has more than one focusable separator."
2643
3316
  }
2644
3317
  ],
2645
3318
  "keyboard": [
@@ -2650,7 +3323,11 @@
2650
3323
  }
2651
3324
  ],
2652
3325
  "managedAria": [],
2653
- "compositions": []
3326
+ "compositions": [],
3327
+ "companions": [],
3328
+ "targetDeclarations": [],
3329
+ "cardinality": [],
3330
+ "forbiddenAria": []
2654
3331
  },
2655
3332
  "stimeo--roving": {
2656
3333
  "targets": [
@@ -2668,10 +3345,15 @@
2668
3345
  "requiredTargets": [
2669
3346
  "item"
2670
3347
  ],
3348
+ "conditionalTargets": [],
2671
3349
  "a11y": [],
2672
3350
  "keyboard": [],
2673
3351
  "managedAria": [],
2674
- "compositions": []
3352
+ "compositions": [],
3353
+ "companions": [],
3354
+ "targetDeclarations": [],
3355
+ "cardinality": [],
3356
+ "forbiddenAria": []
2675
3357
  },
2676
3358
  "stimeo--scroll-area": {
2677
3359
  "targets": [
@@ -2687,10 +3369,15 @@
2687
3369
  "requiredTargets": [
2688
3370
  "viewport"
2689
3371
  ],
3372
+ "conditionalTargets": [],
2690
3373
  "a11y": [],
2691
3374
  "keyboard": [],
2692
3375
  "managedAria": [],
2693
- "compositions": []
3376
+ "compositions": [],
3377
+ "companions": [],
3378
+ "targetDeclarations": [],
3379
+ "cardinality": [],
3380
+ "forbiddenAria": []
2694
3381
  },
2695
3382
  "stimeo--scroll-restore": {
2696
3383
  "targets": [],
@@ -2701,10 +3388,15 @@
2701
3388
  "actions": [],
2702
3389
  "events": [],
2703
3390
  "requiredTargets": [],
3391
+ "conditionalTargets": [],
2704
3392
  "a11y": [],
2705
3393
  "keyboard": [],
2706
3394
  "managedAria": [],
2707
- "compositions": []
3395
+ "compositions": [],
3396
+ "companions": [],
3397
+ "targetDeclarations": [],
3398
+ "cardinality": [],
3399
+ "forbiddenAria": []
2708
3400
  },
2709
3401
  "stimeo--scroll-visibility": {
2710
3402
  "targets": [
@@ -2725,10 +3417,15 @@
2725
3417
  "requiredTargets": [
2726
3418
  "element"
2727
3419
  ],
3420
+ "conditionalTargets": [],
2728
3421
  "a11y": [],
2729
3422
  "keyboard": [],
2730
3423
  "managedAria": [],
2731
- "compositions": []
3424
+ "compositions": [],
3425
+ "companions": [],
3426
+ "targetDeclarations": [],
3427
+ "cardinality": [],
3428
+ "forbiddenAria": []
2732
3429
  },
2733
3430
  "stimeo--scrollspy": {
2734
3431
  "targets": [
@@ -2737,7 +3434,8 @@
2737
3434
  "values": [
2738
3435
  "offset",
2739
3436
  "rootMargin",
2740
- "rootSelector"
3437
+ "rootSelector",
3438
+ "focusSection"
2741
3439
  ],
2742
3440
  "actions": [
2743
3441
  "scrollTo"
@@ -2748,10 +3446,15 @@
2748
3446
  "requiredTargets": [
2749
3447
  "link"
2750
3448
  ],
3449
+ "conditionalTargets": [],
2751
3450
  "a11y": [],
2752
3451
  "keyboard": [],
2753
3452
  "managedAria": [],
2754
- "compositions": []
3453
+ "compositions": [],
3454
+ "companions": [],
3455
+ "targetDeclarations": [],
3456
+ "cardinality": [],
3457
+ "forbiddenAria": []
2755
3458
  },
2756
3459
  "stimeo--separator": {
2757
3460
  "targets": [],
@@ -2767,10 +3470,15 @@
2767
3470
  "change"
2768
3471
  ],
2769
3472
  "requiredTargets": [],
3473
+ "conditionalTargets": [],
2770
3474
  "a11y": [],
2771
3475
  "keyboard": [],
2772
3476
  "managedAria": [],
2773
- "compositions": []
3477
+ "compositions": [],
3478
+ "companions": [],
3479
+ "targetDeclarations": [],
3480
+ "cardinality": [],
3481
+ "forbiddenAria": []
2774
3482
  },
2775
3483
  "stimeo--sidebar": {
2776
3484
  "targets": [
@@ -2784,7 +3492,6 @@
2784
3492
  "collapsed"
2785
3493
  ],
2786
3494
  "actions": [
2787
- "beforeCache",
2788
3495
  "close",
2789
3496
  "open",
2790
3497
  "toggle"
@@ -2793,10 +3500,15 @@
2793
3500
  "requiredTargets": [
2794
3501
  "panel"
2795
3502
  ],
3503
+ "conditionalTargets": [],
2796
3504
  "a11y": [],
2797
3505
  "keyboard": [],
2798
3506
  "managedAria": [],
2799
- "compositions": []
3507
+ "compositions": [],
3508
+ "companions": [],
3509
+ "targetDeclarations": [],
3510
+ "cardinality": [],
3511
+ "forbiddenAria": []
2800
3512
  },
2801
3513
  "stimeo--skeleton": {
2802
3514
  "targets": [
@@ -2804,6 +3516,7 @@
2804
3516
  "content"
2805
3517
  ],
2806
3518
  "values": [
3519
+ "announceReadyText",
2807
3520
  "minDuration"
2808
3521
  ],
2809
3522
  "actions": [
@@ -2814,10 +3527,15 @@
2814
3527
  "ready"
2815
3528
  ],
2816
3529
  "requiredTargets": [],
3530
+ "conditionalTargets": [],
2817
3531
  "a11y": [],
2818
3532
  "keyboard": [],
2819
3533
  "managedAria": [],
2820
- "compositions": []
3534
+ "compositions": [],
3535
+ "companions": [],
3536
+ "targetDeclarations": [],
3537
+ "cardinality": [],
3538
+ "forbiddenAria": []
2821
3539
  },
2822
3540
  "stimeo--slider": {
2823
3541
  "targets": [
@@ -2828,7 +3546,8 @@
2828
3546
  "min",
2829
3547
  "max",
2830
3548
  "step",
2831
- "value"
3549
+ "value",
3550
+ "logicalTrack"
2832
3551
  ],
2833
3552
  "actions": [
2834
3553
  "onKeydown",
@@ -2841,6 +3560,7 @@
2841
3560
  "track",
2842
3561
  "thumb"
2843
3562
  ],
3563
+ "conditionalTargets": [],
2844
3564
  "a11y": [
2845
3565
  {
2846
3566
  "target": "thumb",
@@ -2869,7 +3589,11 @@
2869
3589
  }
2870
3590
  ],
2871
3591
  "managedAria": [],
2872
- "compositions": []
3592
+ "compositions": [],
3593
+ "companions": [],
3594
+ "targetDeclarations": [],
3595
+ "cardinality": [],
3596
+ "forbiddenAria": []
2873
3597
  },
2874
3598
  "stimeo--smart-sticky-header": {
2875
3599
  "targets": [],
@@ -2883,10 +3607,15 @@
2883
3607
  "change"
2884
3608
  ],
2885
3609
  "requiredTargets": [],
3610
+ "conditionalTargets": [],
2886
3611
  "a11y": [],
2887
3612
  "keyboard": [],
2888
3613
  "managedAria": [],
2889
- "compositions": []
3614
+ "compositions": [],
3615
+ "companions": [],
3616
+ "targetDeclarations": [],
3617
+ "cardinality": [],
3618
+ "forbiddenAria": []
2890
3619
  },
2891
3620
  "stimeo--sortable": {
2892
3621
  "targets": [
@@ -2904,6 +3633,7 @@
2904
3633
  "requiredTargets": [
2905
3634
  "item"
2906
3635
  ],
3636
+ "conditionalTargets": [],
2907
3637
  "a11y": [
2908
3638
  {
2909
3639
  "target": "status",
@@ -3013,7 +3743,11 @@
3013
3743
  },
3014
3744
  "suggestion": "Set data-stimeo--pointer-drag-axis-value=\"x\" on the item so grabbed Left/Right (and horizontal drags) move it along the list."
3015
3745
  }
3016
- ]
3746
+ ],
3747
+ "companions": [],
3748
+ "targetDeclarations": [],
3749
+ "cardinality": [],
3750
+ "forbiddenAria": []
3017
3751
  },
3018
3752
  "stimeo--spinner": {
3019
3753
  "targets": [
@@ -3022,8 +3756,11 @@
3022
3756
  "message"
3023
3757
  ],
3024
3758
  "values": [
3759
+ "announceText",
3760
+ "announceReadyText",
3025
3761
  "delay",
3026
- "minDuration"
3762
+ "minDuration",
3763
+ "timeout"
3027
3764
  ],
3028
3765
  "actions": [
3029
3766
  "start",
@@ -3031,9 +3768,11 @@
3031
3768
  ],
3032
3769
  "events": [
3033
3770
  "hide",
3034
- "show"
3771
+ "show",
3772
+ "timeout"
3035
3773
  ],
3036
3774
  "requiredTargets": [],
3775
+ "conditionalTargets": [],
3037
3776
  "a11y": [
3038
3777
  {
3039
3778
  "target": "indicator",
@@ -3060,7 +3799,11 @@
3060
3799
  ],
3061
3800
  "keyboard": [],
3062
3801
  "managedAria": [],
3063
- "compositions": []
3802
+ "compositions": [],
3803
+ "companions": [],
3804
+ "targetDeclarations": [],
3805
+ "cardinality": [],
3806
+ "forbiddenAria": []
3064
3807
  },
3065
3808
  "stimeo--step-indicator": {
3066
3809
  "targets": [
@@ -3078,10 +3821,15 @@
3078
3821
  "requiredTargets": [
3079
3822
  "step"
3080
3823
  ],
3824
+ "conditionalTargets": [],
3081
3825
  "a11y": [],
3082
3826
  "keyboard": [],
3083
3827
  "managedAria": [],
3084
- "compositions": []
3828
+ "compositions": [],
3829
+ "companions": [],
3830
+ "targetDeclarations": [],
3831
+ "cardinality": [],
3832
+ "forbiddenAria": []
3085
3833
  },
3086
3834
  "stimeo--stepper": {
3087
3835
  "targets": [
@@ -3102,10 +3850,15 @@
3102
3850
  "requiredTargets": [
3103
3851
  "step"
3104
3852
  ],
3853
+ "conditionalTargets": [],
3105
3854
  "a11y": [],
3106
3855
  "keyboard": [],
3107
3856
  "managedAria": [],
3108
- "compositions": []
3857
+ "compositions": [],
3858
+ "companions": [],
3859
+ "targetDeclarations": [],
3860
+ "cardinality": [],
3861
+ "forbiddenAria": []
3109
3862
  },
3110
3863
  "stimeo--stick-to-bottom": {
3111
3864
  "targets": [
@@ -3113,7 +3866,8 @@
3113
3866
  ],
3114
3867
  "values": [
3115
3868
  "threshold",
3116
- "behavior"
3869
+ "behavior",
3870
+ "pinOnConnect"
3117
3871
  ],
3118
3872
  "actions": [
3119
3873
  "scrollToBottom"
@@ -3123,10 +3877,15 @@
3123
3877
  "new"
3124
3878
  ],
3125
3879
  "requiredTargets": [],
3880
+ "conditionalTargets": [],
3126
3881
  "a11y": [],
3127
3882
  "keyboard": [],
3128
3883
  "managedAria": [],
3129
- "compositions": []
3884
+ "compositions": [],
3885
+ "companions": [],
3886
+ "targetDeclarations": [],
3887
+ "cardinality": [],
3888
+ "forbiddenAria": []
3130
3889
  },
3131
3890
  "stimeo--sticky-observer": {
3132
3891
  "targets": [
@@ -3145,10 +3904,15 @@
3145
3904
  "sentinel",
3146
3905
  "element"
3147
3906
  ],
3907
+ "conditionalTargets": [],
3148
3908
  "a11y": [],
3149
3909
  "keyboard": [],
3150
3910
  "managedAria": [],
3151
- "compositions": []
3911
+ "compositions": [],
3912
+ "companions": [],
3913
+ "targetDeclarations": [],
3914
+ "cardinality": [],
3915
+ "forbiddenAria": []
3152
3916
  },
3153
3917
  "stimeo--submit-once": {
3154
3918
  "targets": [
@@ -3167,10 +3931,15 @@
3167
3931
  "end"
3168
3932
  ],
3169
3933
  "requiredTargets": [],
3934
+ "conditionalTargets": [],
3170
3935
  "a11y": [],
3171
3936
  "keyboard": [],
3172
3937
  "managedAria": [],
3173
- "compositions": []
3938
+ "compositions": [],
3939
+ "companions": [],
3940
+ "targetDeclarations": [],
3941
+ "cardinality": [],
3942
+ "forbiddenAria": []
3174
3943
  },
3175
3944
  "stimeo--switch": {
3176
3945
  "targets": [],
@@ -3183,10 +3952,15 @@
3183
3952
  "changed"
3184
3953
  ],
3185
3954
  "requiredTargets": [],
3955
+ "conditionalTargets": [],
3186
3956
  "a11y": [],
3187
3957
  "keyboard": [],
3188
3958
  "managedAria": [],
3189
- "compositions": []
3959
+ "compositions": [],
3960
+ "companions": [],
3961
+ "targetDeclarations": [],
3962
+ "cardinality": [],
3963
+ "forbiddenAria": []
3190
3964
  },
3191
3965
  "stimeo--tabs": {
3192
3966
  "targets": [
@@ -3205,6 +3979,7 @@
3205
3979
  "panel",
3206
3980
  "list"
3207
3981
  ],
3982
+ "conditionalTargets": [],
3208
3983
  "a11y": [
3209
3984
  {
3210
3985
  "target": "tab",
@@ -3242,12 +4017,36 @@
3242
4017
  "aria-labelledby",
3243
4018
  "aria-label"
3244
4019
  ],
4020
+ "severity": "warning",
3245
4021
  "suggestion": "Name the tablist via aria-labelledby or aria-label."
4022
+ },
4023
+ {
4024
+ "target": "panel",
4025
+ "attrs": [
4026
+ "aria-labelledby",
4027
+ "aria-label"
4028
+ ],
4029
+ "suggestion": "Name each panel via aria-labelledby (its tab's id) or aria-label."
3246
4030
  }
3247
4031
  ],
3248
4032
  "keyboard": [],
3249
4033
  "managedAria": [],
3250
- "compositions": []
4034
+ "compositions": [],
4035
+ "companions": [],
4036
+ "targetDeclarations": [],
4037
+ "cardinality": [
4038
+ {
4039
+ "within": "",
4040
+ "target": "tab",
4041
+ "attr": "aria-selected",
4042
+ "values": [
4043
+ "true"
4044
+ ],
4045
+ "max": 1,
4046
+ "suggestion": "Leave aria-selected=\"true\" on exactly one tab and set the others to \"false\" — connect activates the first and deselects the rest."
4047
+ }
4048
+ ],
4049
+ "forbiddenAria": []
3251
4050
  },
3252
4051
  "stimeo--tags-input": {
3253
4052
  "targets": [
@@ -3275,10 +4074,15 @@
3275
4074
  "input",
3276
4075
  "tags"
3277
4076
  ],
4077
+ "conditionalTargets": [],
3278
4078
  "a11y": [],
3279
4079
  "keyboard": [],
3280
4080
  "managedAria": [],
3281
- "compositions": []
4081
+ "compositions": [],
4082
+ "companions": [],
4083
+ "targetDeclarations": [],
4084
+ "cardinality": [],
4085
+ "forbiddenAria": []
3282
4086
  },
3283
4087
  "stimeo--textarea-autosize": {
3284
4088
  "targets": [],
@@ -3293,10 +4097,15 @@
3293
4097
  "resize"
3294
4098
  ],
3295
4099
  "requiredTargets": [],
4100
+ "conditionalTargets": [],
3296
4101
  "a11y": [],
3297
4102
  "keyboard": [],
3298
4103
  "managedAria": [],
3299
- "compositions": []
4104
+ "compositions": [],
4105
+ "companions": [],
4106
+ "targetDeclarations": [],
4107
+ "cardinality": [],
4108
+ "forbiddenAria": []
3300
4109
  },
3301
4110
  "stimeo--theme": {
3302
4111
  "targets": [
@@ -3315,10 +4124,15 @@
3315
4124
  "change"
3316
4125
  ],
3317
4126
  "requiredTargets": [],
4127
+ "conditionalTargets": [],
3318
4128
  "a11y": [],
3319
4129
  "keyboard": [],
3320
4130
  "managedAria": [],
3321
- "compositions": []
4131
+ "compositions": [],
4132
+ "companions": [],
4133
+ "targetDeclarations": [],
4134
+ "cardinality": [],
4135
+ "forbiddenAria": []
3322
4136
  },
3323
4137
  "stimeo--time-picker": {
3324
4138
  "targets": [
@@ -3341,6 +4155,7 @@
3341
4155
  "segment",
3342
4156
  "field"
3343
4157
  ],
4158
+ "conditionalTargets": [],
3344
4159
  "a11y": [
3345
4160
  {
3346
4161
  "target": "segment",
@@ -3369,7 +4184,11 @@
3369
4184
  }
3370
4185
  ],
3371
4186
  "managedAria": [],
3372
- "compositions": []
4187
+ "compositions": [],
4188
+ "companions": [],
4189
+ "targetDeclarations": [],
4190
+ "cardinality": [],
4191
+ "forbiddenAria": []
3373
4192
  },
3374
4193
  "stimeo--toast": {
3375
4194
  "targets": [
@@ -3395,10 +4214,15 @@
3395
4214
  "requiredTargets": [
3396
4215
  "list"
3397
4216
  ],
4217
+ "conditionalTargets": [],
3398
4218
  "a11y": [],
3399
4219
  "keyboard": [],
3400
4220
  "managedAria": [],
3401
- "compositions": []
4221
+ "compositions": [],
4222
+ "companions": [],
4223
+ "targetDeclarations": [],
4224
+ "cardinality": [],
4225
+ "forbiddenAria": []
3402
4226
  },
3403
4227
  "stimeo--toggle-group": {
3404
4228
  "targets": [
@@ -3417,10 +4241,15 @@
3417
4241
  "requiredTargets": [
3418
4242
  "item"
3419
4243
  ],
4244
+ "conditionalTargets": [],
3420
4245
  "a11y": [],
3421
4246
  "keyboard": [],
3422
4247
  "managedAria": [],
3423
- "compositions": []
4248
+ "compositions": [],
4249
+ "companions": [],
4250
+ "targetDeclarations": [],
4251
+ "cardinality": [],
4252
+ "forbiddenAria": []
3424
4253
  },
3425
4254
  "stimeo--toolbar": {
3426
4255
  "targets": [
@@ -3437,6 +4266,7 @@
3437
4266
  "requiredTargets": [
3438
4267
  "control"
3439
4268
  ],
4269
+ "conditionalTargets": [],
3440
4270
  "a11y": [
3441
4271
  {
3442
4272
  "target": "",
@@ -3447,11 +4277,45 @@
3447
4277
  "toolbar"
3448
4278
  ],
3449
4279
  "suggestion": "Add role=\"toolbar\" to the controller element."
4280
+ },
4281
+ {
4282
+ "target": "",
4283
+ "when": {
4284
+ "value": "orientation",
4285
+ "equals": [
4286
+ "vertical"
4287
+ ],
4288
+ "default": "horizontal"
4289
+ },
4290
+ "attrs": [
4291
+ "aria-orientation"
4292
+ ],
4293
+ "values": [
4294
+ "vertical"
4295
+ ],
4296
+ "suggestion": "Add aria-orientation=\"vertical\" to the controller element — the toolbar roves with Up/Down but is announced as horizontal without it."
4297
+ },
4298
+ {
4299
+ "target": "",
4300
+ "attrs": [
4301
+ "aria-labelledby",
4302
+ "aria-label"
4303
+ ],
4304
+ "severity": "warning",
4305
+ "escalateWhen": {
4306
+ "role": "toolbar",
4307
+ "atLeast": 2
4308
+ },
4309
+ "suggestion": "Name the toolbar via aria-labelledby or aria-label."
3450
4310
  }
3451
4311
  ],
3452
4312
  "keyboard": [],
3453
4313
  "managedAria": [],
3454
- "compositions": []
4314
+ "compositions": [],
4315
+ "companions": [],
4316
+ "targetDeclarations": [],
4317
+ "cardinality": [],
4318
+ "forbiddenAria": []
3455
4319
  },
3456
4320
  "stimeo--tooltip": {
3457
4321
  "targets": [
@@ -3472,6 +4336,7 @@
3472
4336
  "trigger",
3473
4337
  "content"
3474
4338
  ],
4339
+ "conditionalTargets": [],
3475
4340
  "a11y": [
3476
4341
  {
3477
4342
  "target": "content",
@@ -3493,7 +4358,11 @@
3493
4358
  ],
3494
4359
  "keyboard": [],
3495
4360
  "managedAria": [],
3496
- "compositions": []
4361
+ "compositions": [],
4362
+ "companions": [],
4363
+ "targetDeclarations": [],
4364
+ "cardinality": [],
4365
+ "forbiddenAria": []
3497
4366
  },
3498
4367
  "stimeo--transition": {
3499
4368
  "targets": [],
@@ -3516,10 +4385,15 @@
3516
4385
  "left"
3517
4386
  ],
3518
4387
  "requiredTargets": [],
4388
+ "conditionalTargets": [],
3519
4389
  "a11y": [],
3520
4390
  "keyboard": [],
3521
4391
  "managedAria": [],
3522
- "compositions": []
4392
+ "compositions": [],
4393
+ "companions": [],
4394
+ "targetDeclarations": [],
4395
+ "cardinality": [],
4396
+ "forbiddenAria": []
3523
4397
  },
3524
4398
  "stimeo--tree-view": {
3525
4399
  "targets": [
@@ -3529,7 +4403,8 @@
3529
4403
  "values": [],
3530
4404
  "actions": [
3531
4405
  "onClick",
3532
- "onKeydown"
4406
+ "onKeydown",
4407
+ "toggle"
3533
4408
  ],
3534
4409
  "events": [
3535
4410
  "select",
@@ -3538,6 +4413,7 @@
3538
4413
  "requiredTargets": [
3539
4414
  "item"
3540
4415
  ],
4416
+ "conditionalTargets": [],
3541
4417
  "a11y": [
3542
4418
  {
3543
4419
  "target": "",
@@ -3568,11 +4444,43 @@
3568
4444
  "group"
3569
4445
  ],
3570
4446
  "suggestion": "Add role=\"group\" to each group target."
4447
+ },
4448
+ {
4449
+ "target": "",
4450
+ "attrs": [
4451
+ "aria-labelledby",
4452
+ "aria-label"
4453
+ ],
4454
+ "suggestion": "Name the tree via aria-labelledby or aria-label."
3571
4455
  }
3572
4456
  ],
3573
4457
  "keyboard": [],
3574
4458
  "managedAria": [],
3575
- "compositions": []
4459
+ "compositions": [],
4460
+ "companions": [],
4461
+ "targetDeclarations": [
4462
+ {
4463
+ "attr": "role",
4464
+ "values": [
4465
+ "treeitem"
4466
+ ],
4467
+ "target": "item",
4468
+ "suggestion": "Add data-stimeo--tree-view-target=\"item\" to the treeitem — the controller only moves focus, expands and selects within its item targets."
4469
+ }
4470
+ ],
4471
+ "cardinality": [
4472
+ {
4473
+ "within": "",
4474
+ "target": "item",
4475
+ "attr": "aria-selected",
4476
+ "values": [
4477
+ "true"
4478
+ ],
4479
+ "max": 1,
4480
+ "suggestion": "Leave aria-selected=\"true\" on exactly one item and set the others to \"false\" — the tree commits a single node, and connect keeps the first."
4481
+ }
4482
+ ],
4483
+ "forbiddenAria": []
3576
4484
  },
3577
4485
  "stimeo--anchored": {
3578
4486
  "targets": [
@@ -3596,10 +4504,15 @@
3596
4504
  "anchor",
3597
4505
  "floating"
3598
4506
  ],
4507
+ "conditionalTargets": [],
3599
4508
  "a11y": [],
3600
4509
  "keyboard": [],
3601
4510
  "managedAria": [],
3602
- "compositions": []
4511
+ "compositions": [],
4512
+ "companions": [],
4513
+ "targetDeclarations": [],
4514
+ "cardinality": [],
4515
+ "forbiddenAria": []
3603
4516
  },
3604
4517
  "stimeo--live-counter": {
3605
4518
  "targets": [
@@ -3618,10 +4531,15 @@
3618
4531
  "change"
3619
4532
  ],
3620
4533
  "requiredTargets": [],
4534
+ "conditionalTargets": [],
3621
4535
  "a11y": [],
3622
4536
  "keyboard": [],
3623
4537
  "managedAria": [],
3624
- "compositions": []
4538
+ "compositions": [],
4539
+ "companions": [],
4540
+ "targetDeclarations": [],
4541
+ "cardinality": [],
4542
+ "forbiddenAria": []
3625
4543
  },
3626
4544
  "stimeo--presence": {
3627
4545
  "targets": [
@@ -3644,10 +4562,15 @@
3644
4562
  "change"
3645
4563
  ],
3646
4564
  "requiredTargets": [],
4565
+ "conditionalTargets": [],
3647
4566
  "a11y": [],
3648
4567
  "keyboard": [],
3649
4568
  "managedAria": [],
3650
- "compositions": []
4569
+ "compositions": [],
4570
+ "companions": [],
4571
+ "targetDeclarations": [],
4572
+ "cardinality": [],
4573
+ "forbiddenAria": []
3651
4574
  },
3652
4575
  "stimeo--typing-indicator": {
3653
4576
  "targets": [
@@ -3666,6 +4589,7 @@
3666
4589
  "change"
3667
4590
  ],
3668
4591
  "requiredTargets": [],
4592
+ "conditionalTargets": [],
3669
4593
  "a11y": [
3670
4594
  {
3671
4595
  "target": "status",
@@ -3692,7 +4616,11 @@
3692
4616
  ],
3693
4617
  "keyboard": [],
3694
4618
  "managedAria": [],
3695
- "compositions": []
4619
+ "compositions": [],
4620
+ "companions": [],
4621
+ "targetDeclarations": [],
4622
+ "cardinality": [],
4623
+ "forbiddenAria": []
3696
4624
  }
3697
4625
  }
3698
4626
  }