@adobe/design-data-spec 0.9.0 → 0.11.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/components/accordion.json +18 -1
- package/components/action-bar.json +12 -1
- package/components/action-button.json +19 -1
- package/components/action-group.json +12 -1
- package/components/alert-banner.json +11 -1
- package/components/alert-dialog.json +19 -1
- package/components/avatar-group.json +4 -1
- package/components/avatar.json +4 -1
- package/components/badge.json +4 -1
- package/components/body.json +3 -0
- package/components/bottom-navigation-android.json +17 -0
- package/components/breadcrumbs.json +19 -2
- package/components/button-group.json +12 -1
- package/components/button.json +21 -3
- package/components/calendar.json +22 -0
- package/components/cards.json +18 -1
- package/components/checkbox-group.json +17 -1
- package/components/checkbox.json +24 -1
- package/components/close-button.json +19 -1
- package/components/coach-indicator.json +4 -1
- package/components/coach-mark.json +13 -1
- package/components/code.json +3 -0
- package/components/color-area.json +24 -1
- package/components/color-handle.json +13 -1
- package/components/color-loupe.json +4 -1
- package/components/color-slider.json +24 -1
- package/components/color-wheel.json +24 -1
- package/components/combo-box.json +24 -1
- package/components/contextual-help.json +18 -1
- package/components/date-picker.json +23 -1
- package/components/detail.json +3 -0
- package/components/divider.json +4 -1
- package/components/drop-zone.json +18 -1
- package/components/field-label.json +4 -1
- package/components/heading.json +3 -0
- package/components/help-text.json +5 -2
- package/components/illustrated-message.json +4 -1
- package/components/in-field-progress-button.json +18 -0
- package/components/in-field-progress-circle.json +4 -1
- package/components/in-line-alert.json +11 -1
- package/components/link.json +19 -1
- package/components/list-view.json +18 -1
- package/components/menu.json +19 -1
- package/components/meter.json +4 -1
- package/components/number-field.json +24 -1
- package/components/opacity-checkerboard.json +4 -1
- package/components/picker.json +24 -1
- package/components/popover.json +12 -1
- package/components/progress-bar.json +4 -1
- package/components/progress-circle.json +4 -1
- package/components/radio-button.json +24 -1
- package/components/radio-group.json +17 -1
- package/components/rating.json +24 -1
- package/components/scroll-zoom-bar.json +12 -0
- package/components/search-field.json +28 -1
- package/components/segmented-control.json +18 -1
- package/components/select-box.json +18 -1
- package/components/side-navigation.json +18 -1
- package/components/slider.json +24 -1
- package/components/standard-dialog.json +19 -1
- package/components/standard-panel.json +3 -0
- package/components/status-light.json +4 -1
- package/components/steplist.json +18 -1
- package/components/swatch-group.json +12 -1
- package/components/swatch.json +18 -1
- package/components/switch.json +19 -1
- package/components/tab-bar-ios.json +17 -0
- package/components/table.json +23 -1
- package/components/tabs.json +18 -1
- package/components/tag-field.json +18 -1
- package/components/tag-group.json +18 -1
- package/components/tag.json +18 -1
- package/components/takeover-dialog.json +19 -1
- package/components/text-area.json +28 -1
- package/components/text-field.json +28 -1
- package/components/thumbnail.json +4 -1
- package/components/title.json +40 -10
- package/components/toast.json +13 -1
- package/components/tooltip.json +17 -1
- package/components/tray.json +11 -0
- package/components/tree-view.json +19 -1
- package/conformance/README.md +7 -7
- package/conformance/invalid/SPEC-001/dataset.json +10 -0
- package/conformance/invalid/SPEC-001/expected-errors.json +1 -1
- package/conformance/invalid/SPEC-002/dataset.json +16 -0
- package/conformance/invalid/SPEC-002/expected-errors.json +1 -1
- package/conformance/invalid/SPEC-003/dataset.json +15 -0
- package/conformance/invalid/SPEC-003/expected-errors.json +1 -1
- package/conformance/invalid/SPEC-004/dataset.json +15 -0
- package/conformance/invalid/SPEC-004/expected-errors.json +1 -1
- package/conformance/invalid/SPEC-005/dataset.json +11 -0
- package/conformance/invalid/SPEC-005/expected-errors.json +1 -1
- package/conformance/invalid/SPEC-006/dataset.json +15 -0
- package/conformance/invalid/SPEC-006/expected-errors.json +1 -1
- package/conformance/invalid/SPEC-007/dataset.json +9 -0
- package/conformance/invalid/SPEC-007/expected-errors.json +10 -0
- package/conformance/invalid/SPEC-008/dataset.json +25 -0
- package/conformance/invalid/SPEC-008/expected-errors.json +2 -1
- package/conformance/invalid/SPEC-009/dataset.json +12 -0
- package/conformance/invalid/SPEC-009/expected-errors.json +10 -0
- package/conformance/invalid/SPEC-010/dataset.json +12 -0
- package/conformance/invalid/SPEC-011/dataset.json +25 -0
- package/conformance/invalid/SPEC-012/dataset.json +16 -0
- package/conformance/invalid/SPEC-013/dataset.json +11 -0
- package/conformance/invalid/SPEC-014/dataset.json +12 -0
- package/conformance/invalid/SPEC-014/expected-errors.json +1 -1
- package/conformance/invalid/SPEC-015/dataset.json +22 -0
- package/conformance/invalid/SPEC-015/expected-errors.json +10 -0
- package/conformance/invalid/SPEC-015/tokens.tokens.json +19 -0
- package/conformance/invalid/SPEC-016/dataset.json +11 -0
- package/conformance/invalid/SPEC-016/expected-errors.json +2 -2
- package/conformance/invalid/SPEC-017/dataset.json +10 -0
- package/conformance/invalid/SPEC-024/dataset.json +4 -3
- package/conformance/invalid/SPEC-024/expected-errors.json +2 -2
- package/conformance/invalid/SPEC-025/dataset.json +12 -0
- package/conformance/invalid/SPEC-025/expected-errors.json +10 -0
- package/conformance/invalid/SPEC-026/dataset.json +18 -0
- package/conformance/invalid/SPEC-026/expected-errors.json +10 -0
- package/conformance/invalid/SPEC-028/dataset.json +21 -0
- package/conformance/invalid/SPEC-028/expected-errors.json +10 -0
- package/conformance/invalid/SPEC-029/dataset.json +20 -0
- package/conformance/invalid/SPEC-029/expected-errors.json +10 -0
- package/conformance/invalid/SPEC-030/dataset.json +15 -0
- package/conformance/invalid/SPEC-030/expected-errors.json +10 -0
- package/conformance/invalid/SPEC-031/dataset.json +17 -0
- package/conformance/invalid/SPEC-031/expected-errors.json +10 -0
- package/conformance/invalid/SPEC-032/dataset.json +27 -0
- package/conformance/invalid/SPEC-032/expected-errors.json +15 -0
- package/conformance/resolution/base-fallback/expected.json +1 -1
- package/conformance/resolution/product-layer-wins/expected.json +5 -0
- package/conformance/resolution/product-layer-wins/input/tokens.tokens.json +7 -0
- package/conformance/resolution/product-layer-wins/product-context.json +11 -0
- package/conformance/resolution/product-layer-wins/query.json +4 -0
- package/conformance/resolution/specificity-wins/expected.json +1 -1
- package/conformance/valid/SPEC-014/dataset.json +12 -0
- package/conformance/valid/SPEC-016/dataset.json +16 -0
- package/conformance/valid/SPEC-025/dataset.json +24 -0
- package/conformance/valid/SPEC-026/dataset.json +15 -0
- package/conformance/valid/SPEC-028/dataset.json +21 -0
- package/conformance/valid/SPEC-029/dataset.json +24 -0
- package/conformance/valid/SPEC-030/dataset.json +17 -0
- package/conformance/valid/SPEC-031/dataset.json +24 -0
- package/conformance/valid/SPEC-032/dataset.json +16 -0
- package/conformance/valid/component-refs/README.md +5 -0
- package/conformance/valid/component-with-accessibility.json +32 -0
- package/fields/color-scheme.json +2 -2
- package/fields/contrast.json +2 -2
- package/fields/density.json +1 -1
- package/fields/scale.json +2 -2
- package/fields/size.json +1 -1
- package/package.json +4 -13
- package/rules/rules.yaml +57 -4
- package/schemas/accessibility.schema.json +60 -0
- package/schemas/component.schema.json +19 -0
- package/schemas/field.schema.json +2 -2
- package/schemas/manifest.schema.json +1 -1
- package/schemas/{dimension.schema.json → mode-set.schema.json} +3 -3
- package/schemas/token.schema.json +5 -5
- package/schemas/value-types/README.md +20 -0
- package/schemas/value-types/drop-shadow.schema.json +5 -5
- package/schemas/value-types/typography-scale.schema.json +2 -2
- package/schemas/value-types/typography.schema.json +5 -5
- package/spec/accessibility-adapters.md +219 -0
- package/spec/agent-surface.md +4 -4
- package/spec/cascade.md +7 -7
- package/spec/component-format.md +32 -0
- package/spec/document-blocks.md +1 -1
- package/spec/index.md +33 -29
- package/spec/manifest.md +2 -2
- package/spec/mode-sets.md +64 -0
- package/spec/query.md +18 -18
- package/spec/registry.md +93 -0
- package/spec/taxonomy.md +5 -5
- package/spec/token-format.md +12 -12
- package/spec/dimensions.md +0 -64
- package/src/canonical.js +0 -61
- package/src/validate.js +0 -190
- /package/conformance/resolution/alias-resolved-after-cascade/{dimensions → mode-sets}/color-scheme.json +0 -0
- /package/conformance/resolution/base-fallback/{dimensions → mode-sets}/color-scheme.json +0 -0
- /package/conformance/resolution/specificity-wins/{dimensions → mode-sets}/color-scheme.json +0 -0
package/components/swatch.json
CHANGED
|
@@ -189,5 +189,22 @@
|
|
|
189
189
|
"token": "spacing-100",
|
|
190
190
|
"context": "Spacing (spacious)"
|
|
191
191
|
}
|
|
192
|
-
]
|
|
192
|
+
],
|
|
193
|
+
"accessibility": {
|
|
194
|
+
"intents": ["choose"],
|
|
195
|
+
"focusable": true,
|
|
196
|
+
"keyboardIntents": ["activate"],
|
|
197
|
+
"wcag": [
|
|
198
|
+
{
|
|
199
|
+
"criterion": "2.1.1",
|
|
200
|
+
"level": "A",
|
|
201
|
+
"title": "Keyboard"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"criterion": "4.1.2",
|
|
205
|
+
"level": "A",
|
|
206
|
+
"title": "Name, Role, Value"
|
|
207
|
+
}
|
|
208
|
+
]
|
|
209
|
+
}
|
|
193
210
|
}
|
package/components/switch.json
CHANGED
|
@@ -301,5 +301,23 @@
|
|
|
301
301
|
"token": "focus-indicator-color",
|
|
302
302
|
"context": "Focus indicator"
|
|
303
303
|
}
|
|
304
|
-
]
|
|
304
|
+
],
|
|
305
|
+
"accessibility": {
|
|
306
|
+
"role": "switch",
|
|
307
|
+
"intents": ["choose"],
|
|
308
|
+
"focusable": true,
|
|
309
|
+
"keyboardIntents": ["activate"],
|
|
310
|
+
"wcag": [
|
|
311
|
+
{
|
|
312
|
+
"criterion": "2.1.1",
|
|
313
|
+
"level": "A",
|
|
314
|
+
"title": "Keyboard"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"criterion": "4.1.2",
|
|
318
|
+
"level": "A",
|
|
319
|
+
"title": "Name, Role, Value"
|
|
320
|
+
}
|
|
321
|
+
]
|
|
322
|
+
}
|
|
305
323
|
}
|
|
@@ -37,5 +37,22 @@
|
|
|
37
37
|
},
|
|
38
38
|
"lifecycle": {
|
|
39
39
|
"introduced": "1.0.0-draft"
|
|
40
|
+
},
|
|
41
|
+
"accessibility": {
|
|
42
|
+
"intents": ["navigate"],
|
|
43
|
+
"focusable": true,
|
|
44
|
+
"keyboardIntents": ["navigate-items"],
|
|
45
|
+
"wcag": [
|
|
46
|
+
{
|
|
47
|
+
"criterion": "2.1.1",
|
|
48
|
+
"level": "A",
|
|
49
|
+
"title": "Keyboard"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"criterion": "4.1.2",
|
|
53
|
+
"level": "A",
|
|
54
|
+
"title": "Name, Role, Value"
|
|
55
|
+
}
|
|
56
|
+
]
|
|
40
57
|
}
|
|
41
58
|
}
|
package/components/table.json
CHANGED
|
@@ -388,5 +388,27 @@
|
|
|
388
388
|
"token": "table-selected-row-background-opacity-hover",
|
|
389
389
|
"context": "S1 Selected row background (highlight selection, hover)"
|
|
390
390
|
}
|
|
391
|
-
]
|
|
391
|
+
],
|
|
392
|
+
"accessibility": {
|
|
393
|
+
"intents": ["select", "navigate"],
|
|
394
|
+
"focusable": true,
|
|
395
|
+
"keyboardIntents": ["navigate-items", "activate", "select-all"],
|
|
396
|
+
"wcag": [
|
|
397
|
+
{
|
|
398
|
+
"criterion": "1.3.1",
|
|
399
|
+
"level": "A",
|
|
400
|
+
"title": "Info and Relationships"
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"criterion": "2.1.1",
|
|
404
|
+
"level": "A",
|
|
405
|
+
"title": "Keyboard"
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"criterion": "4.1.2",
|
|
409
|
+
"level": "A",
|
|
410
|
+
"title": "Name, Role, Value"
|
|
411
|
+
}
|
|
412
|
+
]
|
|
413
|
+
}
|
|
392
414
|
}
|
package/components/tabs.json
CHANGED
|
@@ -225,5 +225,22 @@
|
|
|
225
225
|
{
|
|
226
226
|
"token": "line-height-100"
|
|
227
227
|
}
|
|
228
|
-
]
|
|
228
|
+
],
|
|
229
|
+
"accessibility": {
|
|
230
|
+
"intents": ["navigate"],
|
|
231
|
+
"focusable": true,
|
|
232
|
+
"keyboardIntents": ["navigate-items"],
|
|
233
|
+
"wcag": [
|
|
234
|
+
{
|
|
235
|
+
"criterion": "2.1.1",
|
|
236
|
+
"level": "A",
|
|
237
|
+
"title": "Keyboard"
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"criterion": "4.1.2",
|
|
241
|
+
"level": "A",
|
|
242
|
+
"title": "Name, Role, Value"
|
|
243
|
+
}
|
|
244
|
+
]
|
|
245
|
+
}
|
|
229
246
|
}
|
|
@@ -199,5 +199,22 @@
|
|
|
199
199
|
"token": "focus-indicator-color",
|
|
200
200
|
"context": "Focus ring"
|
|
201
201
|
}
|
|
202
|
-
]
|
|
202
|
+
],
|
|
203
|
+
"accessibility": {
|
|
204
|
+
"intents": ["input", "select"],
|
|
205
|
+
"focusable": true,
|
|
206
|
+
"keyboardIntents": ["navigate-items", "activate"],
|
|
207
|
+
"wcag": [
|
|
208
|
+
{
|
|
209
|
+
"criterion": "1.3.1",
|
|
210
|
+
"level": "A",
|
|
211
|
+
"title": "Info and Relationships"
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"criterion": "4.1.2",
|
|
215
|
+
"level": "A",
|
|
216
|
+
"title": "Name, Role, Value"
|
|
217
|
+
}
|
|
218
|
+
]
|
|
219
|
+
}
|
|
203
220
|
}
|
|
@@ -49,5 +49,22 @@
|
|
|
49
49
|
"token": "help-text-to-component",
|
|
50
50
|
"context": "Spacing (Text area to Help text)"
|
|
51
51
|
}
|
|
52
|
-
]
|
|
52
|
+
],
|
|
53
|
+
"accessibility": {
|
|
54
|
+
"intents": ["select"],
|
|
55
|
+
"focusable": true,
|
|
56
|
+
"keyboardIntents": ["navigate-items", "activate"],
|
|
57
|
+
"wcag": [
|
|
58
|
+
{
|
|
59
|
+
"criterion": "1.3.1",
|
|
60
|
+
"level": "A",
|
|
61
|
+
"title": "Info and Relationships"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"criterion": "4.1.2",
|
|
65
|
+
"level": "A",
|
|
66
|
+
"title": "Name, Role, Value"
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
}
|
|
53
70
|
}
|
package/components/tag.json
CHANGED
|
@@ -372,5 +372,22 @@
|
|
|
372
372
|
"token": "focus-indicator-color",
|
|
373
373
|
"context": "Focus indicator"
|
|
374
374
|
}
|
|
375
|
-
]
|
|
375
|
+
],
|
|
376
|
+
"accessibility": {
|
|
377
|
+
"intents": ["dismiss"],
|
|
378
|
+
"focusable": true,
|
|
379
|
+
"keyboardIntents": ["activate"],
|
|
380
|
+
"wcag": [
|
|
381
|
+
{
|
|
382
|
+
"criterion": "2.1.1",
|
|
383
|
+
"level": "A",
|
|
384
|
+
"title": "Keyboard"
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"criterion": "4.1.2",
|
|
388
|
+
"level": "A",
|
|
389
|
+
"title": "Name, Role, Value"
|
|
390
|
+
}
|
|
391
|
+
]
|
|
392
|
+
}
|
|
376
393
|
}
|
|
@@ -88,5 +88,23 @@
|
|
|
88
88
|
"token": "heading-color",
|
|
89
89
|
"context": "Title"
|
|
90
90
|
}
|
|
91
|
-
]
|
|
91
|
+
],
|
|
92
|
+
"accessibility": {
|
|
93
|
+
"role": "dialog",
|
|
94
|
+
"intents": ["dismiss"],
|
|
95
|
+
"focusable": false,
|
|
96
|
+
"keyboardIntents": ["dismiss"],
|
|
97
|
+
"wcag": [
|
|
98
|
+
{
|
|
99
|
+
"criterion": "2.4.3",
|
|
100
|
+
"level": "A",
|
|
101
|
+
"title": "Focus Order"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"criterion": "4.1.2",
|
|
105
|
+
"level": "A",
|
|
106
|
+
"title": "Name, Role, Value"
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
}
|
|
92
110
|
}
|
|
@@ -481,5 +481,32 @@
|
|
|
481
481
|
"token": "component-padding-vertical-300",
|
|
482
482
|
"context": "S2 Spacing (top/bottom edge to text: inline)"
|
|
483
483
|
}
|
|
484
|
-
]
|
|
484
|
+
],
|
|
485
|
+
"accessibility": {
|
|
486
|
+
"role": "textbox",
|
|
487
|
+
"intents": ["input"],
|
|
488
|
+
"focusable": true,
|
|
489
|
+
"wcag": [
|
|
490
|
+
{
|
|
491
|
+
"criterion": "1.3.1",
|
|
492
|
+
"level": "A",
|
|
493
|
+
"title": "Info and Relationships"
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
"criterion": "1.3.5",
|
|
497
|
+
"level": "AA",
|
|
498
|
+
"title": "Identify Input Purpose"
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
"criterion": "2.1.1",
|
|
502
|
+
"level": "A",
|
|
503
|
+
"title": "Keyboard"
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
"criterion": "4.1.2",
|
|
507
|
+
"level": "A",
|
|
508
|
+
"title": "Name, Role, Value"
|
|
509
|
+
}
|
|
510
|
+
]
|
|
511
|
+
}
|
|
485
512
|
}
|
|
@@ -497,5 +497,32 @@
|
|
|
497
497
|
"token": "field-label-top-to-asterisk-extra-large",
|
|
498
498
|
"context": "Spacing (top/bottom edge to required)"
|
|
499
499
|
}
|
|
500
|
-
]
|
|
500
|
+
],
|
|
501
|
+
"accessibility": {
|
|
502
|
+
"role": "textbox",
|
|
503
|
+
"intents": ["input"],
|
|
504
|
+
"focusable": true,
|
|
505
|
+
"wcag": [
|
|
506
|
+
{
|
|
507
|
+
"criterion": "1.3.1",
|
|
508
|
+
"level": "A",
|
|
509
|
+
"title": "Info and Relationships"
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
"criterion": "1.3.5",
|
|
513
|
+
"level": "AA",
|
|
514
|
+
"title": "Identify Input Purpose"
|
|
515
|
+
},
|
|
516
|
+
{
|
|
517
|
+
"criterion": "2.1.1",
|
|
518
|
+
"level": "A",
|
|
519
|
+
"title": "Keyboard"
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
"criterion": "4.1.2",
|
|
523
|
+
"level": "A",
|
|
524
|
+
"title": "Name, Role, Value"
|
|
525
|
+
}
|
|
526
|
+
]
|
|
527
|
+
}
|
|
501
528
|
}
|
package/components/title.json
CHANGED
|
@@ -26,14 +26,44 @@
|
|
|
26
26
|
"introduced": "1.0.0-draft"
|
|
27
27
|
},
|
|
28
28
|
"tokenBindings": [
|
|
29
|
-
{
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
{
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
{
|
|
38
|
-
|
|
29
|
+
{
|
|
30
|
+
"token": "font-family",
|
|
31
|
+
"context": "Title-XXXL"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"token": "font-weight",
|
|
35
|
+
"context": "Title-XXXL"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"token": "font-size",
|
|
39
|
+
"context": "Title-XXXL"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"token": "line-height",
|
|
43
|
+
"context": "Title-XXXL"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"token": "letter-spacing",
|
|
47
|
+
"context": "Title-XXXL"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"token": "font-style",
|
|
51
|
+
"context": "Title-XXXL"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"token": "title-margin-top-multiplier",
|
|
55
|
+
"context": "Margins"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"token": "title-margin-bottom-multiplier",
|
|
59
|
+
"context": "Margins"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"token": "title-color",
|
|
63
|
+
"context": "Color"
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
"accessibility": {
|
|
67
|
+
"focusable": false
|
|
68
|
+
}
|
|
39
69
|
}
|
package/components/toast.json
CHANGED
|
@@ -127,5 +127,17 @@
|
|
|
127
127
|
"token": "neutral-background-color-default",
|
|
128
128
|
"context": "Toast token changes (Jan 2025)"
|
|
129
129
|
}
|
|
130
|
-
]
|
|
130
|
+
],
|
|
131
|
+
"accessibility": {
|
|
132
|
+
"intents": ["dismiss"],
|
|
133
|
+
"focusable": true,
|
|
134
|
+
"keyboardIntents": ["dismiss"],
|
|
135
|
+
"wcag": [
|
|
136
|
+
{
|
|
137
|
+
"criterion": "4.1.3",
|
|
138
|
+
"level": "AA",
|
|
139
|
+
"title": "Status Messages"
|
|
140
|
+
}
|
|
141
|
+
]
|
|
142
|
+
}
|
|
131
143
|
}
|
package/components/tooltip.json
CHANGED
|
@@ -136,5 +136,21 @@
|
|
|
136
136
|
"token": "negative-background-color-default",
|
|
137
137
|
"context": "Background (Negative)"
|
|
138
138
|
}
|
|
139
|
-
]
|
|
139
|
+
],
|
|
140
|
+
"accessibility": {
|
|
141
|
+
"role": "tooltip",
|
|
142
|
+
"focusable": false,
|
|
143
|
+
"wcag": [
|
|
144
|
+
{
|
|
145
|
+
"criterion": "1.4.13",
|
|
146
|
+
"level": "AA",
|
|
147
|
+
"title": "Content on Hover or Focus"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"criterion": "4.1.2",
|
|
151
|
+
"level": "A",
|
|
152
|
+
"title": "Name, Role, Value"
|
|
153
|
+
}
|
|
154
|
+
]
|
|
155
|
+
}
|
|
140
156
|
}
|
package/components/tray.json
CHANGED
|
@@ -17,5 +17,16 @@
|
|
|
17
17
|
},
|
|
18
18
|
"lifecycle": {
|
|
19
19
|
"introduced": "1.0.0-draft"
|
|
20
|
+
},
|
|
21
|
+
"accessibility": {
|
|
22
|
+
"intents": ["dismiss"],
|
|
23
|
+
"focusable": false,
|
|
24
|
+
"wcag": [
|
|
25
|
+
{
|
|
26
|
+
"criterion": "4.1.2",
|
|
27
|
+
"level": "A",
|
|
28
|
+
"title": "Name, Role, Value"
|
|
29
|
+
}
|
|
30
|
+
]
|
|
20
31
|
}
|
|
21
32
|
}
|
|
@@ -337,5 +337,23 @@
|
|
|
337
337
|
"token": "thumbnail-opacity-disabled",
|
|
338
338
|
"context": "Disabled"
|
|
339
339
|
}
|
|
340
|
-
]
|
|
340
|
+
],
|
|
341
|
+
"accessibility": {
|
|
342
|
+
"role": "tree",
|
|
343
|
+
"intents": ["navigate", "select", "expand"],
|
|
344
|
+
"focusable": true,
|
|
345
|
+
"keyboardIntents": ["navigate-items", "expand", "collapse", "activate"],
|
|
346
|
+
"wcag": [
|
|
347
|
+
{
|
|
348
|
+
"criterion": "2.1.1",
|
|
349
|
+
"level": "A",
|
|
350
|
+
"title": "Keyboard"
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"criterion": "4.1.2",
|
|
354
|
+
"level": "A",
|
|
355
|
+
"title": "Name, Role, Value"
|
|
356
|
+
}
|
|
357
|
+
]
|
|
358
|
+
}
|
|
341
359
|
}
|
package/conformance/README.md
CHANGED
|
@@ -13,7 +13,7 @@ Each **invalid** case lives under `invalid/<RULE_ID>/` with:
|
|
|
13
13
|
| `invalid/SPEC-002` | SPEC-002 | Alias resolves to incompatible type (semantic). |
|
|
14
14
|
| `invalid/SPEC-003` | SPEC-003 | Circular alias chain. |
|
|
15
15
|
| `invalid/SPEC-004` | SPEC-004 | Duplicate `uuid` across tokens. |
|
|
16
|
-
| `invalid/SPEC-005` | SPEC-005 |
|
|
16
|
+
| `invalid/SPEC-005` | SPEC-005 | Mode set `default` not in `modes`. |
|
|
17
17
|
| `invalid/SPEC-006` | SPEC-006 | Ambiguous resolution / specificity tie (warning). |
|
|
18
18
|
| `invalid/SPEC-008` | SPEC-008 | Non-default mode variants with no base/default variant. |
|
|
19
19
|
|
|
@@ -26,15 +26,15 @@ Implementors SHOULD run these fixtures once the Rust validator exposes rule IDs
|
|
|
26
26
|
Each **resolution** case lives under `resolution/<name>/` with:
|
|
27
27
|
|
|
28
28
|
* `input/` — cascade-format `.tokens.json` files
|
|
29
|
-
* `
|
|
29
|
+
* `mode-sets/` — (optional) mode set declaration JSON files
|
|
30
30
|
* `query.json` — `{ "property": "...", "context": { ... } }` — the resolution query
|
|
31
31
|
* `expected.json` — `{ "resolved": bool, "expected_uuid": "..." }` — expected outcome
|
|
32
32
|
|
|
33
|
-
| Folder | Intent
|
|
34
|
-
| ----------------------------------------- |
|
|
35
|
-
| `resolution/base-fallback` |
|
|
36
|
-
| `resolution/specificity-wins` | Higher-specificity variant MUST win over base when both match.
|
|
37
|
-
| `resolution/alias-resolved-after-cascade` | Cascade selects the winner first; alias `$ref` chain resolves after.
|
|
33
|
+
| Folder | Intent |
|
|
34
|
+
| ----------------------------------------- | ------------------------------------------------------------------------ |
|
|
35
|
+
| `resolution/base-fallback` | Mode-set-agnostic base token MUST match any context (wildcard behavior). |
|
|
36
|
+
| `resolution/specificity-wins` | Higher-specificity variant MUST win over base when both match. |
|
|
37
|
+
| `resolution/alias-resolved-after-cascade` | Cascade selects the winner first; alias `$ref` chain resolves after. |
|
|
38
38
|
|
|
39
39
|
The Rust SDK drives these fixtures in `sdk/core/src/lib.rs` (`resolution_conformance` module, closes [#768](https://github.com/adobe/spectrum-design-data/issues/768)).
|
|
40
40
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tokens": [
|
|
3
|
+
{
|
|
4
|
+
"name": "spacing-alias",
|
|
5
|
+
"$ref": "base-color",
|
|
6
|
+
"uuid": "bbbbbbbb-0002-4000-8000-000000000001"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"name": "base-color",
|
|
10
|
+
"$schema": "https://opensource.adobe.com/spectrum-tokens/schemas/token-types/color.json",
|
|
11
|
+
"value": "rgb(0, 128, 255)",
|
|
12
|
+
"uuid": "aaaaaaaa-0002-4000-8000-000000000002"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"components": []
|
|
16
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tokens": [
|
|
3
|
+
{
|
|
4
|
+
"name": { "property": "first" },
|
|
5
|
+
"value": "rgb(1, 2, 3)",
|
|
6
|
+
"uuid": "eeeeeeee-0004-4000-8000-000000000001"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"name": { "property": "second" },
|
|
10
|
+
"value": "rgb(4, 5, 6)",
|
|
11
|
+
"uuid": "eeeeeeee-0004-4000-8000-000000000001"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"components": []
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tokens": [
|
|
3
|
+
{
|
|
4
|
+
"name": { "property": "ambiguous", "colorScheme": "dark" },
|
|
5
|
+
"value": "rgb(20, 20, 20)",
|
|
6
|
+
"uuid": "11111111-0006-4000-8000-000000000001"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"name": { "property": "ambiguous", "colorScheme": "dark" },
|
|
10
|
+
"value": "rgb(10, 10, 10)",
|
|
11
|
+
"uuid": "ffffffff-0006-4000-8000-000000000002"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"components": []
|
|
15
|
+
}
|