@adobe/design-data-spec 1.5.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/conformance/invalid/SPEC-009/expected-errors.json +1 -1
  2. package/conformance/invalid/SPEC-018/dataset.json +8 -1
  3. package/conformance/invalid/SPEC-034/expected-errors.json +1 -1
  4. package/conformance/invalid/SPEC-035/expected-errors.json +1 -1
  5. package/package.json +5 -6
  6. package/rules/rules.yaml +8 -7
  7. package/schemas/component.schema.json +1 -1
  8. package/schemas/manifest.schema.json +1 -23
  9. package/schemas/platform-extension.json +79 -0
  10. package/schemas/registry-value.json +230 -0
  11. package/schemas/token.schema.json +1 -1
  12. package/spec/agent-surface.md +16 -14
  13. package/spec/anatomy-format.md +1 -1
  14. package/spec/cascade.md +1 -1
  15. package/spec/index.md +5 -5
  16. package/spec/mode-sets.md +1 -1
  17. package/spec/registry.md +6 -8
  18. package/spec/taxonomy.md +32 -32
  19. package/spec/token-format.md +11 -3
  20. package/components/accordion.json +0 -557
  21. package/components/action-bar.json +0 -214
  22. package/components/action-button.json +0 -522
  23. package/components/action-group.json +0 -134
  24. package/components/alert-banner.json +0 -134
  25. package/components/alert-dialog.json +0 -180
  26. package/components/avatar-group.json +0 -166
  27. package/components/avatar.json +0 -246
  28. package/components/badge.json +0 -594
  29. package/components/body.json +0 -54
  30. package/components/bottom-navigation-android.json +0 -72
  31. package/components/breadcrumbs.json +0 -307
  32. package/components/button-group.json +0 -86
  33. package/components/button.json +0 -586
  34. package/components/calendar.json +0 -133
  35. package/components/cards.json +0 -541
  36. package/components/checkbox-group.json +0 -91
  37. package/components/checkbox.json +0 -339
  38. package/components/close-button.json +0 -208
  39. package/components/coach-indicator.json +0 -105
  40. package/components/coach-mark.json +0 -169
  41. package/components/code.json +0 -44
  42. package/components/color-area.json +0 -138
  43. package/components/color-handle.json +0 -111
  44. package/components/color-loupe.json +0 -77
  45. package/components/color-slider.json +0 -165
  46. package/components/color-wheel.json +0 -117
  47. package/components/combo-box.json +0 -543
  48. package/components/contextual-help.json +0 -230
  49. package/components/date-picker.json +0 -471
  50. package/components/detail.json +0 -53
  51. package/components/divider.json +0 -93
  52. package/components/drop-zone.json +0 -238
  53. package/components/field-label.json +0 -219
  54. package/components/heading.json +0 -68
  55. package/components/help-text.json +0 -209
  56. package/components/illustrated-message.json +0 -175
  57. package/components/in-field-progress-button.json +0 -88
  58. package/components/in-field-progress-circle.json +0 -116
  59. package/components/in-line-alert.json +0 -233
  60. package/components/link.json +0 -167
  61. package/components/list-view.json +0 -382
  62. package/components/menu.json +0 -597
  63. package/components/meter.json +0 -199
  64. package/components/number-field.json +0 -518
  65. package/components/opacity-checkerboard.json +0 -69
  66. package/components/picker.json +0 -579
  67. package/components/popover.json +0 -174
  68. package/components/progress-bar.json +0 -229
  69. package/components/progress-circle.json +0 -132
  70. package/components/radio-button.json +0 -308
  71. package/components/radio-group.json +0 -113
  72. package/components/rating.json +0 -168
  73. package/components/scroll-zoom-bar.json +0 -82
  74. package/components/search-field.json +0 -346
  75. package/components/segmented-control.json +0 -248
  76. package/components/select-box.json +0 -272
  77. package/components/side-navigation.json +0 -320
  78. package/components/slider.json +0 -407
  79. package/components/standard-dialog.json +0 -179
  80. package/components/standard-panel.json +0 -83
  81. package/components/status-light.json +0 -334
  82. package/components/steplist.json +0 -294
  83. package/components/swatch-group.json +0 -114
  84. package/components/swatch.json +0 -240
  85. package/components/switch.json +0 -336
  86. package/components/tab-bar-ios.json +0 -72
  87. package/components/table.json +0 -435
  88. package/components/tabs.json +0 -253
  89. package/components/tag-field.json +0 -243
  90. package/components/tag-group.json +0 -87
  91. package/components/tag.json +0 -393
  92. package/components/takeover-dialog.json +0 -117
  93. package/components/text-area.json +0 -555
  94. package/components/text-field.json +0 -555
  95. package/components/thumbnail.json +0 -149
  96. package/components/title.json +0 -91
  97. package/components/toast.json +0 -156
  98. package/components/tooltip.json +0 -179
  99. package/components/tray.json +0 -32
  100. package/components/tree-view.json +0 -393
  101. package/fields/alignment.json +0 -15
  102. package/fields/anatomy.json +0 -15
  103. package/fields/color-scheme.json +0 -15
  104. package/fields/colorFamily.json +0 -15
  105. package/fields/component.json +0 -15
  106. package/fields/contrast.json +0 -15
  107. package/fields/density.json +0 -15
  108. package/fields/easing.json +0 -15
  109. package/fields/family.json +0 -15
  110. package/fields/motionRole.json +0 -15
  111. package/fields/object.json +0 -15
  112. package/fields/orientation.json +0 -15
  113. package/fields/position.json +0 -15
  114. package/fields/property.json +0 -15
  115. package/fields/scale.json +0 -15
  116. package/fields/scaleIndex.json +0 -15
  117. package/fields/shape.json +0 -15
  118. package/fields/size.json +0 -15
  119. package/fields/state.json +0 -15
  120. package/fields/structure.json +0 -15
  121. package/fields/style.json +0 -15
  122. package/fields/substructure.json +0 -15
  123. package/fields/variant.json +0 -15
  124. package/fields/weight.json +0 -15
@@ -1,169 +0,0 @@
1
- {
2
- "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/component.schema.json",
3
- "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/coach-mark.json",
4
- "specVersion": "1.0.0-draft",
5
- "name": "coach-mark",
6
- "displayName": "Coach mark",
7
- "description": "Coach marks provide contextual guidance to users by highlighting specific interface elements.",
8
- "meta": {
9
- "category": "feedback",
10
- "documentationUrl": "https://spectrum.adobe.com/page/coach-mark/"
11
- },
12
- "options": {
13
- "title": {
14
- "type": "string"
15
- },
16
- "description": {
17
- "type": "string"
18
- },
19
- "hideImage": {
20
- "type": "boolean",
21
- "default": false,
22
- "description": "Optional image to display in dialog."
23
- },
24
- "actions": {
25
- "type": "object",
26
- "description": "Configuration for coach mark actions.",
27
- "properties": {
28
- "topActionLabel": {
29
- "type": "string",
30
- "description": "Optional action button displayed at the top, often for a menu."
31
- },
32
- "footerContent": {
33
- "type": "string",
34
- "description": "Optional footer content to display in the dialog footer like a checkbox."
35
- },
36
- "primaryActionLabel": {
37
- "type": "string",
38
- "description": "Label for the primary footer action."
39
- },
40
- "secondaryActionLabel": {
41
- "type": "string",
42
- "description": "Label for the secondary footer action (optional)."
43
- },
44
- "cancelActionLabel": {
45
- "type": "string",
46
- "default": "cancel",
47
- "description": "Label for the cancel action (optional)."
48
- }
49
- }
50
- }
51
- },
52
- "lifecycle": {
53
- "introduced": "1.0.0-draft"
54
- },
55
- "tokenBindings": [
56
- {
57
- "token": "coach-mark-width",
58
- "context": "Width"
59
- },
60
- {
61
- "token": "coach-mark-minimum-width",
62
- "context": "Width"
63
- },
64
- {
65
- "token": "coach-mark-maximum-width",
66
- "context": "Width"
67
- },
68
- {
69
- "token": "coach-mark-edge-to-content",
70
- "context": "Spacing (top/bottom/start/end edge to text)"
71
- },
72
- {
73
- "token": "spacing-200",
74
- "context": "Spacing (header to body, body to footer)"
75
- },
76
- {
77
- "token": "spacing-300",
78
- "context": "Spacing (header to body, body to footer)"
79
- },
80
- {
81
- "token": "coach-mark-pagination-text-to-bottom-edge",
82
- "context": "Spacing (pagination to bottom)"
83
- },
84
- {
85
- "token": "coach-mark-media-minimum-height",
86
- "context": "Media (16:9)"
87
- },
88
- {
89
- "token": "coach-mark-media-height",
90
- "context": "Media (4:3)"
91
- },
92
- {
93
- "token": "spacing-100",
94
- "context": "Spacing (action button to menu)"
95
- },
96
- {
97
- "token": "title-sans-serif-font-family",
98
- "context": "Title"
99
- },
100
- {
101
- "token": "title-sans-serif-font-weight",
102
- "context": "Title"
103
- },
104
- {
105
- "token": "title-serif-font-style",
106
- "context": "Title"
107
- },
108
- {
109
- "token": "coach-mark-title-font-size",
110
- "context": "Title"
111
- },
112
- {
113
- "token": "title-line-height",
114
- "context": "Title"
115
- },
116
- {
117
- "token": "body-sans-serif-font-family",
118
- "context": "Body"
119
- },
120
- {
121
- "token": "body-sans-serif-font-weight",
122
- "context": "Body"
123
- },
124
- {
125
- "token": "body-serif-font-style",
126
- "context": "Body"
127
- },
128
- {
129
- "token": "coach-mark-body-font-size",
130
- "context": "Body"
131
- },
132
- {
133
- "token": "line-height-200",
134
- "context": "Body"
135
- },
136
- {
137
- "token": "medium-font-weight",
138
- "context": "Pagination"
139
- },
140
- {
141
- "token": "coach-mark-pagination-body-font-size",
142
- "context": "Pagination"
143
- },
144
- {
145
- "token": "heading-color",
146
- "context": "Color"
147
- },
148
- {
149
- "token": "body-color",
150
- "context": "Color"
151
- },
152
- {
153
- "token": "coach-mark-pagination-color",
154
- "context": "Color"
155
- }
156
- ],
157
- "accessibility": {
158
- "intents": ["dismiss"],
159
- "focusable": true,
160
- "keyboardIntents": ["dismiss"],
161
- "wcag": [
162
- {
163
- "criterion": "4.1.2",
164
- "level": "A",
165
- "title": "Name, Role, Value"
166
- }
167
- ]
168
- }
169
- }
@@ -1,44 +0,0 @@
1
- {
2
- "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/component.schema.json",
3
- "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/code.json",
4
- "specVersion": "1.0.0-draft",
5
- "name": "code",
6
- "displayName": "Code",
7
- "description": "Detail is a typography component used for disclosing extra information or smaller items in hierarchical relationships of text.",
8
- "meta": {
9
- "category": "typography",
10
- "documentationUrl": "https://spectrum.adobe.com/page/code/"
11
- },
12
- "options": {
13
- "script": {
14
- "$ref": "https://opensource.adobe.com/spectrum-design-data/schemas/types/typography-script.json"
15
- },
16
- "size": {
17
- "type": "string",
18
- "default": "m",
19
- "values": [
20
- {
21
- "value": "xs"
22
- },
23
- {
24
- "value": "s"
25
- },
26
- {
27
- "value": "m"
28
- },
29
- {
30
- "value": "l"
31
- },
32
- {
33
- "value": "xl"
34
- }
35
- ]
36
- }
37
- },
38
- "lifecycle": {
39
- "introduced": "1.0.0-draft"
40
- },
41
- "accessibility": {
42
- "focusable": false
43
- }
44
- }
@@ -1,138 +0,0 @@
1
- {
2
- "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/component.schema.json",
3
- "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/color-area.json",
4
- "specVersion": "1.0.0-draft",
5
- "name": "color-area",
6
- "displayName": "Color area",
7
- "description": "A color area allows users to visually select two properties of a color simultaneously. It's commonly used together with a color slider or color wheel.",
8
- "meta": {
9
- "category": "inputs",
10
- "documentationUrl": "https://spectrum.adobe.com/page/color-area/"
11
- },
12
- "options": {
13
- "background": {
14
- "type": "string",
15
- "description": "This will vary depending on implementation."
16
- },
17
- "x-value": {
18
- "type": "number",
19
- "description": "Number (from x-minValue to x-maxValue)"
20
- },
21
- "x-minValue": {
22
- "type": "number",
23
- "default": 0
24
- },
25
- "x-maxValue": {
26
- "type": "number",
27
- "default": 100
28
- },
29
- "y-value": {
30
- "type": "number",
31
- "description": "Number (from y-minValue to y-maxValue)"
32
- },
33
- "y-minValue": {
34
- "type": "number",
35
- "default": 0
36
- },
37
- "y-maxValue": {
38
- "type": "number",
39
- "default": 100
40
- },
41
- "step": {
42
- "type": "number",
43
- "default": 1
44
- },
45
- "width": {
46
- "type": "number",
47
- "default": 192,
48
- "description": "units: px"
49
- },
50
- "height": {
51
- "type": "number",
52
- "default": 192,
53
- "description": "units: px"
54
- },
55
- "isDisabled": {
56
- "type": "boolean",
57
- "default": false
58
- }
59
- },
60
- "states": [
61
- {
62
- "name": "hover",
63
- "trigger": "interaction"
64
- },
65
- {
66
- "name": "down",
67
- "trigger": "interaction"
68
- },
69
- {
70
- "name": "keyboard-focus",
71
- "trigger": "interaction"
72
- }
73
- ],
74
- "lifecycle": {
75
- "introduced": "1.0.0-draft"
76
- },
77
- "tokenBindings": [
78
- {
79
- "token": "color-area-width",
80
- "context": "Size"
81
- },
82
- {
83
- "token": "color-area-minimum-width",
84
- "context": "Size"
85
- },
86
- {
87
- "token": "color-area-height",
88
- "context": "Size"
89
- },
90
- {
91
- "token": "color-area-minimum-height",
92
- "context": "Size"
93
- },
94
- {
95
- "token": "color-area-border-width",
96
- "context": "Color area border"
97
- },
98
- {
99
- "token": "color-area-border-rounding",
100
- "context": "Color area border"
101
- },
102
- {
103
- "token": "color-area-border-color",
104
- "context": "Color area border"
105
- },
106
- {
107
- "token": "color-area-border-opacity",
108
- "context": "Color area border"
109
- },
110
- {
111
- "token": "disabled-background-color",
112
- "context": "Disabled"
113
- }
114
- ],
115
- "accessibility": {
116
- "role": "slider",
117
- "intents": ["choose"],
118
- "focusable": true,
119
- "keyboardIntents": ["increment", "decrement"],
120
- "wcag": [
121
- {
122
- "criterion": "1.3.1",
123
- "level": "A",
124
- "title": "Info and Relationships"
125
- },
126
- {
127
- "criterion": "2.1.1",
128
- "level": "A",
129
- "title": "Keyboard"
130
- },
131
- {
132
- "criterion": "4.1.2",
133
- "level": "A",
134
- "title": "Name, Role, Value"
135
- }
136
- ]
137
- }
138
- }
@@ -1,111 +0,0 @@
1
- {
2
- "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/component.schema.json",
3
- "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/color-handle.json",
4
- "specVersion": "1.0.0-draft",
5
- "name": "color-handle",
6
- "displayName": "Color handle",
7
- "description": "Color handles allow users to select and adjust colors in a color picker.",
8
- "meta": {
9
- "category": "inputs",
10
- "documentationUrl": "https://spectrum.adobe.com/page/color-handle/"
11
- },
12
- "options": {
13
- "channel": {
14
- "type": "string",
15
- "default": "hue",
16
- "description": "Which channel of the color this handle controls. Use 'alpha' for opacity.",
17
- "values": [
18
- {
19
- "value": "hue"
20
- },
21
- {
22
- "value": "saturation"
23
- },
24
- {
25
- "value": "lightness"
26
- },
27
- {
28
- "value": "red"
29
- },
30
- {
31
- "value": "green"
32
- },
33
- {
34
- "value": "blue"
35
- },
36
- {
37
- "value": "alpha"
38
- }
39
- ]
40
- },
41
- "isDisabled": {
42
- "type": "boolean",
43
- "default": false
44
- }
45
- },
46
- "lifecycle": {
47
- "introduced": "1.0.0-draft"
48
- },
49
- "tokenBindings": [
50
- {
51
- "token": "color-handle-size",
52
- "context": "Size (keyboard focus)"
53
- },
54
- {
55
- "token": "color-handle-size-key-focus",
56
- "context": "Size (keyboard focus)"
57
- },
58
- {
59
- "token": "color-handle-border-width",
60
- "context": "Border"
61
- },
62
- {
63
- "token": "color-handle-inner-border-width",
64
- "context": "Border"
65
- },
66
- {
67
- "token": "color-handle-outer-border-width",
68
- "context": "Border"
69
- },
70
- {
71
- "token": "white",
72
- "context": "Border"
73
- },
74
- {
75
- "token": "color-handle-inner-border-color",
76
- "context": "Border"
77
- },
78
- {
79
- "token": "color-handle-inner-border-opacity",
80
- "context": "Border"
81
- },
82
- {
83
- "token": "color-handle-outer-border-color",
84
- "context": "Border"
85
- },
86
- {
87
- "token": "color-handle-outer-border-opacity",
88
- "context": "Border"
89
- },
90
- {
91
- "token": "disabled-content-color",
92
- "context": "Border (disabled)"
93
- },
94
- {
95
- "token": "disabled-background-color",
96
- "context": "Border (disabled)"
97
- }
98
- ],
99
- "accessibility": {
100
- "intents": ["choose"],
101
- "focusable": true,
102
- "keyboardIntents": ["increment", "decrement"],
103
- "wcag": [
104
- {
105
- "criterion": "2.1.1",
106
- "level": "A",
107
- "title": "Keyboard"
108
- }
109
- ]
110
- }
111
- }
@@ -1,77 +0,0 @@
1
- {
2
- "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/component.schema.json",
3
- "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/color-loupe.json",
4
- "specVersion": "1.0.0-draft",
5
- "name": "color-loupe",
6
- "displayName": "Color loupe",
7
- "description": "A color loupe shows the output color that would otherwise be covered by a cursor, stylus, or finger during color selection.",
8
- "meta": {
9
- "category": "feedback",
10
- "documentationUrl": "https://spectrum.adobe.com/page/color-loupe/"
11
- },
12
- "options": {
13
- "value": {
14
- "$ref": "https://opensource.adobe.com/spectrum-design-data/schemas/types/hex-color.json"
15
- }
16
- },
17
- "lifecycle": {
18
- "introduced": "1.0.0-draft"
19
- },
20
- "tokenBindings": [
21
- {
22
- "token": "color-loupe-height",
23
- "context": "Size"
24
- },
25
- {
26
- "token": "color-loupe-width",
27
- "context": "Size"
28
- },
29
- {
30
- "token": "color-loupe-outer-border-width",
31
- "context": "Border"
32
- },
33
- {
34
- "token": "color-loupe-inner-border-width",
35
- "context": "Border"
36
- },
37
- {
38
- "token": "color-loupe-bottom-to-color-handle",
39
- "context": "Spacing"
40
- },
41
- {
42
- "token": "drop-shadow-elevated-x",
43
- "context": "Shadows"
44
- },
45
- {
46
- "token": "drop-shadow-elevated-y",
47
- "context": "Shadows"
48
- },
49
- {
50
- "token": "drop-shadow-elevated-blur",
51
- "context": "Shadows"
52
- },
53
- {
54
- "token": "color-loupe-outer-border",
55
- "context": "Border"
56
- },
57
- {
58
- "token": "drop-shadow-x",
59
- "context": "S1 Shadows"
60
- },
61
- {
62
- "token": "color-loupe-drop-shadow-y",
63
- "context": "S1 Shadows"
64
- },
65
- {
66
- "token": "color-loupe-drop-shadow-blur",
67
- "context": "S1 Shadows"
68
- },
69
- {
70
- "token": "color-loupe-drop-shadow-color",
71
- "context": "S1 Shadows"
72
- }
73
- ],
74
- "accessibility": {
75
- "focusable": false
76
- }
77
- }
@@ -1,165 +0,0 @@
1
- {
2
- "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/component.schema.json",
3
- "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/color-slider.json",
4
- "specVersion": "1.0.0-draft",
5
- "name": "color-slider",
6
- "displayName": "Color slider",
7
- "description": "A color slider lets users visually change an individual channel of a color.",
8
- "meta": {
9
- "category": "inputs",
10
- "documentationUrl": "https://spectrum.adobe.com/page/color-slider/"
11
- },
12
- "options": {
13
- "background": {
14
- "type": "string",
15
- "description": "This will vary depending on implementation."
16
- },
17
- "channel": {
18
- "type": "string",
19
- "default": "hue",
20
- "description": "Which channel of the color this slider controls. Use 'alpha' for opacity.",
21
- "values": [
22
- {
23
- "value": "hue"
24
- },
25
- {
26
- "value": "saturation"
27
- },
28
- {
29
- "value": "lightness"
30
- },
31
- {
32
- "value": "red"
33
- },
34
- {
35
- "value": "green"
36
- },
37
- {
38
- "value": "blue"
39
- },
40
- {
41
- "value": "alpha"
42
- }
43
- ]
44
- },
45
- "value": {
46
- "type": "number",
47
- "description": "Number (from minValue to maxValue)."
48
- },
49
- "minValue": {
50
- "type": "number",
51
- "default": 0
52
- },
53
- "maxValue": {
54
- "type": "number",
55
- "default": 100
56
- },
57
- "step": {
58
- "type": "number",
59
- "default": 1
60
- },
61
- "orientation": {
62
- "type": "string",
63
- "default": "horizontal",
64
- "values": [
65
- {
66
- "value": "horizontal"
67
- },
68
- {
69
- "value": "vertical"
70
- }
71
- ]
72
- },
73
- "length": {
74
- "type": "number",
75
- "default": 192,
76
- "description": "units: px"
77
- },
78
- "isDisabled": {
79
- "type": "boolean",
80
- "default": false
81
- }
82
- },
83
- "states": [
84
- {
85
- "name": "hover",
86
- "trigger": "interaction"
87
- },
88
- {
89
- "name": "down",
90
- "trigger": "interaction"
91
- },
92
- {
93
- "name": "keyboard-focus",
94
- "trigger": "interaction"
95
- }
96
- ],
97
- "lifecycle": {
98
- "introduced": "1.0.0-draft"
99
- },
100
- "tokenBindings": [
101
- {
102
- "token": "color-slider-length",
103
- "context": "Length"
104
- },
105
- {
106
- "token": "color-slider-minimum-length",
107
- "context": "Length"
108
- },
109
- {
110
- "token": "color-control-track-width",
111
- "context": "Width"
112
- },
113
- {
114
- "token": "color-slider-border-width",
115
- "context": "Border"
116
- },
117
- {
118
- "token": "color-slider-border-rounding",
119
- "context": "Border"
120
- },
121
- {
122
- "token": "component-top-to-text-75",
123
- "context": "Spacing (field label value to track)"
124
- },
125
- {
126
- "token": "color-slider-border-color",
127
- "context": "Border"
128
- },
129
- {
130
- "token": "color-slider-border-opacity",
131
- "context": "Border"
132
- },
133
- {
134
- "token": "disabled-content-color",
135
- "context": "Disabled"
136
- },
137
- {
138
- "token": "disabled-background-color",
139
- "context": "Disabled"
140
- }
141
- ],
142
- "accessibility": {
143
- "role": "slider",
144
- "intents": ["choose"],
145
- "focusable": true,
146
- "keyboardIntents": ["increment", "decrement"],
147
- "wcag": [
148
- {
149
- "criterion": "1.3.1",
150
- "level": "A",
151
- "title": "Info and Relationships"
152
- },
153
- {
154
- "criterion": "2.1.1",
155
- "level": "A",
156
- "title": "Keyboard"
157
- },
158
- {
159
- "criterion": "4.1.2",
160
- "level": "A",
161
- "title": "Name, Role, Value"
162
- }
163
- ]
164
- }
165
- }