@adobe/spectrum-design-data 3.3.0 → 3.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 (121) hide show
  1. package/components/accordion.json +32 -102
  2. package/components/action-bar.json +9 -23
  3. package/components/action-button.json +52 -92
  4. package/components/action-group.json +18 -129
  5. package/components/alert-banner.json +8 -27
  6. package/components/alert-dialog.json +45 -55
  7. package/components/avatar-group.json +20 -50
  8. package/components/avatar.json +44 -123
  9. package/components/badge.json +66 -160
  10. package/components/breadcrumbs.json +26 -100
  11. package/components/button-group.json +32 -63
  12. package/components/button.json +74 -105
  13. package/components/calendar.json +8 -67
  14. package/components/cards.json +31 -46
  15. package/components/checkbox-group.json +22 -84
  16. package/components/checkbox.json +33 -96
  17. package/components/close-button.json +31 -73
  18. package/components/coach-indicator.json +14 -44
  19. package/components/coach-mark.json +8 -26
  20. package/components/color-area.json +20 -93
  21. package/components/color-handle.json +25 -38
  22. package/components/color-loupe.json +18 -18
  23. package/components/color-slider.json +26 -122
  24. package/components/color-wheel.json +17 -84
  25. package/components/combo-box.json +56 -188
  26. package/components/contextual-help.json +87 -126
  27. package/components/date-picker.json +24 -120
  28. package/components/divider.json +25 -38
  29. package/components/drop-zone.json +25 -37
  30. package/components/field-label.json +22 -59
  31. package/components/help-text.json +16 -53
  32. package/components/illustrated-message.json +21 -72
  33. package/components/in-line-alert.json +13 -53
  34. package/components/link.json +31 -63
  35. package/components/list-view.json +15 -73
  36. package/components/menu.json +51 -180
  37. package/components/meter.json +35 -76
  38. package/components/number-field.json +34 -168
  39. package/components/picker.json +48 -187
  40. package/components/popover.json +47 -123
  41. package/components/progress-bar.json +33 -105
  42. package/components/progress-circle.json +25 -55
  43. package/components/radio-button.json +14 -67
  44. package/components/radio-group.json +34 -131
  45. package/components/rating.json +9 -38
  46. package/components/search-field.json +40 -125
  47. package/components/segmented-control.json +27 -69
  48. package/components/select-box.json +29 -96
  49. package/components/side-navigation.json +28 -69
  50. package/components/slider.json +45 -154
  51. package/components/standard-dialog.json +16 -88
  52. package/components/status-light.json +51 -133
  53. package/components/steplist.json +5 -24
  54. package/components/swatch-group.json +19 -55
  55. package/components/swatch.json +24 -79
  56. package/components/switch.json +42 -79
  57. package/components/table.json +26 -73
  58. package/components/tabs.json +35 -52
  59. package/components/tag-field.json +14 -60
  60. package/components/tag-group.json +22 -55
  61. package/components/tag.json +27 -77
  62. package/components/takeover-dialog.json +10 -61
  63. package/components/text-area.json +55 -204
  64. package/components/text-field.json +48 -169
  65. package/components/thumbnail.json +22 -63
  66. package/components/toast.json +30 -47
  67. package/components/tooltip.json +37 -84
  68. package/components/tree-view.json +51 -146
  69. package/fields/structure.json +1 -2
  70. package/guidelines/ai-resource-guide.json +42 -0
  71. package/guidelines/app-frame-overview.json +45 -44
  72. package/guidelines/applying-the-type-system.json +71 -0
  73. package/guidelines/attention-hierarchy.json +13 -22
  74. package/guidelines/background-layers.json +84 -10
  75. package/guidelines/bi-directionality.json +57 -0
  76. package/guidelines/border-width.json +70 -0
  77. package/guidelines/brand.json +24 -12
  78. package/guidelines/cognitive.json +229 -0
  79. package/guidelines/colors.json +55 -17
  80. package/guidelines/component-spacing.json +65 -0
  81. package/guidelines/contact-us.json +27 -0
  82. package/guidelines/containers.json +21 -28
  83. package/guidelines/content-area-browsing-context.json +73 -0
  84. package/guidelines/creating-bluelines-browsing-context.json +71 -0
  85. package/guidelines/design-tokens.json +186 -0
  86. package/guidelines/developer-overview.json +33 -9
  87. package/guidelines/drop-shadow.json +76 -0
  88. package/guidelines/faqs.json +100 -9
  89. package/guidelines/fonts.json +33 -14
  90. package/guidelines/grammar-and-mechanics.json +276 -0
  91. package/guidelines/grays.json +17 -44
  92. package/guidelines/header-browsing-context.json +40 -0
  93. package/guidelines/icon-fundamentals.json +7 -18
  94. package/guidelines/illustration.json +120 -0
  95. package/guidelines/in-product-word-list.json +25 -0
  96. package/guidelines/inclusive-design.json +101 -0
  97. package/guidelines/inclusive-ux-writing.json +34 -0
  98. package/guidelines/internationalization.json +103 -0
  99. package/guidelines/layout-spacing.json +39 -0
  100. package/guidelines/manifest.json +280 -16
  101. package/guidelines/motion.json +18 -13
  102. package/guidelines/object-styles-overview.json +17 -0
  103. package/guidelines/principles.json +7 -8
  104. package/guidelines/resources.json +29 -15
  105. package/guidelines/rounding.json +85 -0
  106. package/guidelines/side-navigation-browsing-context.json +74 -0
  107. package/guidelines/spacing-overview.json +78 -0
  108. package/guidelines/states.json +16 -11
  109. package/guidelines/support.json +125 -0
  110. package/guidelines/typography-overview.json +39 -0
  111. package/guidelines/typography-system.json +212 -0
  112. package/guidelines/using-icons.json +32 -47
  113. package/guidelines/voice-and-tone.json +51 -0
  114. package/guidelines/whats-new.json +21 -0
  115. package/guidelines/writing-about-people.json +99 -0
  116. package/guidelines/writing-for-errors.json +140 -0
  117. package/guidelines/writing-for-onboarding.json +123 -0
  118. package/guidelines/writing-for-readability.json +66 -0
  119. package/guidelines/writing-with-visuals.json +78 -0
  120. package/package.json +2 -2
  121. package/tokens/layout.tokens.json +88 -0
@@ -9,13 +9,6 @@
9
9
  "category": "inputs",
10
10
  "documentationUrl": "https://spectrum.adobe.com/page/text-area/"
11
11
  },
12
- "implementations": [
13
- {
14
- "platform": "web",
15
- "componentName": "TextArea",
16
- "package": "@react-spectrum/s2"
17
- }
18
- ],
19
12
  "documentBlocks": [
20
13
  {
21
14
  "type": "purpose",
@@ -23,284 +16,142 @@
23
16
  },
24
17
  {
25
18
  "type": "guideline",
26
- "content": "Labels can be placed either on top or on the side. Top labels are the default and are recommended because they work better with long copy, localization, and responsive layouts. Side labels are most useful when vertical space is limited."
27
- },
28
- {
29
- "type": "guideline",
30
- "content": "The value shows a user’s entered text."
31
- },
32
- {
33
- "type": "guideline",
34
- "content": "The text area’s default width is field-default-width-\\[small/medium/large/extra-large]."
35
- },
36
- {
37
- "type": "guideline",
38
- "content": "Text areas come in four different sizes: small, medium, large, and extra-large. The medium size is the default and most frequently used option. Use the other sizes sparingly; they should be used to create a hierarchy of importance within the page."
39
- },
40
- {
41
- "type": "guideline",
42
- "content": "Text areas can be marked as optional or required, depending on the situation. For required text areas, there are two styling options: a “(required)” label or an asterisk. If you use an asterisk, be sure to include hint text to explain what the asterisk means. Optional text areas are either denoted with text added to the end of the label — “(optional)” — or have no indication at all."
43
- },
44
- {
45
- "type": "guideline",
46
- "content": "The asterisk used in this component is an icon that has specific spacing from the label text — not part of the label text itself."
47
- },
48
- {
49
- "type": "guideline",
50
- "content": "Text areas can show a character count when input must stay under a set limit. This indicator can appear alongside others, such as validation icons or “optional” and “required” labels."
51
- },
52
- {
53
- "type": "guideline",
54
- "content": "Text areas can show a validation icon when input must follow a specific format, such as an email or credit card number. The icon appears as soon as the entry is valid."
55
- },
56
- {
57
- "type": "guideline",
58
- "content": "A text area can be marked as having an error to show that a value needs to be entered in order to move forward or that a value that was entered is invalid. If an error exists, the error icon always overrides the validation icon."
59
- },
60
- {
61
- "type": "guideline",
62
- "content": "A text area in a disabled state shows that the input field exists, but is not available in that circumstance. This can be used to maintain layout continuity and communicate that a text area may become available later."
63
- },
64
- {
65
- "type": "guideline",
66
- "content": "If the height is defined, text areas can either be a static size or can be resizable with a drag icon in the bottom right corner. The drag icon should be hidden if the fixed variant is turned off, or if the text area should not be resizable."
67
- },
68
- {
69
- "type": "guideline",
70
- "content": "When defined as fixed (either by the development team or by the end user via the dragIcon), users can scroll inside the field."
71
- },
72
- {
73
- "type": "guideline",
74
- "content": "A text area can have help text below the field to give extra context or instruction about what a user should input in the field. The help text communicates a hint or helpful information, such as specific requirements for correctly filling out the field."
75
- },
76
- {
77
- "type": "guideline",
78
- "content": "A text area can be marked as having an error to show that a value needs to be entered in order to move forward or that a value that was entered is invalid. The error message communicates an error for when the field requirements aren’t met, prompting a user to adjust what they had originally input. If an error exists, the error icon always overrides the validation icon."
79
- },
80
- {
81
- "type": "guideline",
82
- "content": "A text area can have multiple input types, depending on the need and use case. Text areas have a text input type by default."
19
+ "content": "Minimum width.\n\nText areas are ideal for long sentences or paragraphs, and should comfortably accommodate larger amounts of text. They should have a minimum height of text-area-minimum-height (when the height of the text area is a defined number). The minimum width is field-default-width-[small/medium/large/extra-large]."
83
20
  },
84
21
  {
85
22
  "type": "guideline",
86
- "content": "Use these input types for the following use cases:"
23
+ "content": "Text overflow.\n\nWhen typing into a text area and reaching the end of the field on a number-height text area, the cursor should remain as static in the bottom right corner (for left-to-right languages) while text above it overflows through the top of the field. When the field loses focus, text should overflow through the bottom of the text area, showing the beginning of the text."
87
24
  },
88
25
  {
89
26
  "type": "guideline",
90
- "content": "When typing into a text area and reaching the end of the field on a number-height text area, the cursor should remain as static in the bottom right corner (for left-to-right languages) while text above it overflows through the top of the field. When the field loses focus, text should overflow through the bottom of the text area, showing the beginning of the text."
27
+ "content": "Mixed value.\n\nWhen a text area presents multiple values that are not identical, the field should show an en dash (–)."
91
28
  },
92
29
  {
93
30
  "type": "guideline",
94
- "content": "When a text area presents multiple values that are not identical, the field should show an en dash (–)."
31
+ "content": "Help text overflow.\n\nWhen the help text is too long for the available horizontal space, it wraps to form another line."
95
32
  },
96
33
  {
97
34
  "type": "guideline",
98
- "content": "When the help text is too long for the available horizontal space, it wraps to form another line."
35
+ "content": "Include a label.\n\nEvery text area should have a label. A text area without a label is ambiguous and not accessible."
99
36
  },
100
37
  {
101
38
  "type": "guideline",
102
- "content": "Every text area should have a label. A text area without a label is ambiguous and not accessible."
39
+ "content": "Follow capitalization rules.\n\nText area labels and placeholder text should be written in sentence case."
103
40
  },
104
41
  {
105
42
  "type": "guideline",
106
- "content": "Text area labels and placeholder text should be written in sentence case."
43
+ "content": "Mark the minority of text areas in a form as required or optional.\n\nIn a single form, mark only the required fields or only the optional fields, depending on whichever is less frequent in the entire form. If most of the text fields are optional, only the required fields should be give an asterisk or have labels appended with \"(required)\". If most of the text fields are required, only the optional fields should be appended with \"(optional)\". An asterisk should never be used to note that a text area is optional."
107
44
  },
108
45
  {
109
46
  "type": "guideline",
110
- "content": "In a single form, mark only the required fields or only the optional fields, depending on whichever is less frequent in the entire form. If most of the text fields are optional, only the required fields should be give an asterisk or have labels appended with “(required)”. If most of the text fields are required, only the optional fields should be appended with “(optional)”. An asterisk should never be used to note that a text area is optional."
47
+ "content": "Use help text to show hints, formatting, and requirements.\n\nThe description in the help text is flexible and encompasses a range of guidance. Sometimes this guidance is about what to input, and sometime it's about how to input. This includes information such as: An overall description of the input field Hints for what kind of information needs to be input Specific formatting examples or requirements The help text's message should not simply restate the same information in the label in order to prompt someone to interact with it. Don't add help text if it isn't actually relevant or meaningful to a user in order to try to maintain layout continuity with other inputs that require help text."
111
48
  },
112
49
  {
113
- "type": "guideline",
114
- "content": "The description in the help text is flexible and encompasses a range of guidance. Sometimes this guidance is about what to input, and sometime it’s about how to input. This includes information such as:"
50
+ "type": "do-dont",
51
+ "content": "Don't use placeholder text",
52
+ "dont": "Putting instructions for how to complete an input, requirements, or any other essential information into placeholder text is not accessible. Once a value is entered, placeholder text is no longer viewable; if someone is using an automatic form filler, they will never get the information in the placeholder text. Instead of placeholder text, use the help text description to convey requirements or to show any formatting examples that would help user comprehension. If there's placeholder text and help text at the same time, it becomes redundant and distracting, especially if they're communicating the same thing."
115
53
  },
116
54
  {
117
55
  "type": "guideline",
118
- "content": "The help text’s message should not simply restate the same information in the label in order to prompt someone to interact with it. Don’t add help text if it isn’t actually relevant or meaningful to a user in order to try to maintain layout continuity with other inputs that require help text."
56
+ "content": "Switch help text with error text.\n\nThe help text area also displays an error message. When a text area already includes help text and an error is triggered, the help text is replaced with error text. Once the error is resolved, the help text description reappears below the field. Since one gets replaced by the other, the language of the help text and error text need to work together to convey the same messaging. Help text explains the requirement or adds supplementary context for how to successfully complete the input. Error text tells a user how to fix the error by re-stating the input requirements or describing the necessary interaction. Make sure that the help text and the error text include the same essential information so that it isn't lost if one replaces the other like minimum requirements."
119
57
  },
120
58
  {
121
59
  "type": "guideline",
122
- "content": "Putting instructions for how to complete an input, requirements, or any other essential information into placeholder text is not accessible. Once a value is entered, placeholder text is no longer viewable; if someone is using an automatic form filler, they will never get the information in the placeholder text."
60
+ "content": "Write error text that shows a solution.\n\nWrite error messaging in a human-centered way by guiding a user and showing them a solution — don't simply state what's wrong and then leave them guessing as to how to resolve it. Ambiguous error messages can be frustrating and even shame-inducing for users. Also, keep in mind that something that a system may deem an error may not actually be perceived as an error to a user. Error text should be written in 1-2 short, complete sentences and in a clear and straightforward way. End sentences with a period, and never with an exclamation point. For text areas, the nature of the error is often related to something that needs to be fixed for in-line validation, so a helpful tone is most appropriate. For example, if someone were to miss filling out a required field that asks for their interests, write the error text like you're offering a hint or a tip to help guide them to understand what needs to go in the missing field: \"Enter at least one interest."
123
61
  },
124
62
  {
125
63
  "type": "guideline",
126
- "content": "Instead of placeholder text, use the help text description to convey requirements or to show any formatting examples that would help user comprehension. If there's placeholder text and help text at the same time, it becomes redundant and distracting, especially if they're communicating the same thing."
64
+ "content": "RTL.\n\nIn right‑to‑left languages, the text‑area layout is mirrored. The label appears right‑aligned, and elements such as the character count, validation icon and error icon appear left‑aligned. Keep in mind that some content, including email addresses, does not change direction or translate."
127
65
  },
128
66
  {
129
67
  "type": "guideline",
130
- "content": "The help text area also displays an error message. When a text area already includes help text and an error is triggered, the help text is replaced with error text. Once the error is resolved, the help text description reappears below the field."
68
+ "content": "Keyboard interactions.\n\nKey Interaction Tab Tabbing into a text area selects the existing text. Shift + Tab Moves focus to the previous focusable element. Enter Inserts a new line at the caret position. Arrow keys Move caret through text; with Shift, extend text selection. Home / End Move caret to start/end of line (platform behavior may vary). Ctrl/Cmd + A Select all text in the text area. Note: Standard native text-editing shortcuts (copy, paste, undo, redo, delete, word navigation) should be preserved and not overridden."
131
69
  },
132
70
  {
133
71
  "type": "guideline",
134
- "content": "Since one gets replaced by the other, the language of the help text and error text need to work together to convey the same messaging. Help text explains the requirement or adds supplementary context for how to successfully complete the input. Error text tells a user how to fix the error by re-stating the input requirements or describing the necessary interaction. Make sure that the help text and the error text include the same essential information so that it isn’t lost if one replaces the other like minimum requirements."
72
+ "content": "Cursor guidelines.\n\nCursor Description Text Use text cursor over editable text area content in all states. Pointer Any clickable control that is part of the text area (e.g., clear/reveal/help icon) uses the pointer cursor. Move (up/down and left/right) Use while dragging the resize handle (if resizing is enabled)."
135
73
  },
136
74
  {
137
75
  "type": "guideline",
138
- "content": "Write error messaging in a human-centered way by guiding a user and showing them a solution — don’t simply state what’s wrong and then leave them guessing as to how to resolve it. Ambiguous error messages can be frustrating and even shame-inducing for users. Also, keep in mind that something that a system may deem an error may not actually be perceived as an error to a user."
139
- },
76
+ "content": "WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 A Non-text elements, such as icons paired with a text area (validation icons, clear-input icons), must provide a text alternative. All text areas need an accessible name (via a visible label, title, aria-label, or associated text) so screen readers can announce their purpose. Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAA Text areas should be understandable by assistive technologies. The label, help text, error message, and required state must be programmatically associated with the field using semantic HTML or ARIA. Contrast 1.4.3 AA The visual presentation of text has a contrast ratio of at least 4.5:1. Resize text 1.4.4 AA Text areas can be resized up to 200% without loss of content or functionality and without assistive technology. Visual presentation 1.4.8 AAA The width of text blocks is no more than 80 characters (40 for CJK languages), and text is never justified. Non-text contrast 1.4.11 AA The visual presentation of illustrations, icons, and component states have a contrast ratio of at least 3:1. Not applicable for empty fields. Text spacing 1.4.12 AA Line height of text is at least 1.5x the font size. 2. Operable Requirement Criterion Level Compliance Keyboard 2.1.1, 2.1.3 A, AAA All functionality of the component is operable through a keyboard without specific timing for keystrokes. Keyboard traps 2.1.2 A Focus can be moved away from the component using only a keyboard. Seizures and physical reactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAA There is no flashing content or unnecessary motion or animation in this component. Focus order 2.4.3 A Navigation sequences receive focus in an order that preserves meaning and operability. Focus visible 2.4.7 AA Keyboard states use an indicator that is visible with at least 3:1 contrast."
77
+ }
78
+ ],
79
+ "implementations": [
140
80
  {
141
- "type": "guideline",
142
- "content": "Error text should be written in 1-2 short, complete sentences and in a clear and straightforward way. End sentences with a period, and never with an exclamation point. For text areas, the nature of the error is often related to something that needs to be fixed for in-line validation, so a helpful tone is most appropriate. For example, if someone were to miss filling out a required field that asks for their interests, write the error text like you’re offering a hint or a tip to help guide them to understand what needs to go in the missing field: “Enter at least one interest.”"
81
+ "platform": "web",
82
+ "componentName": "TextArea",
83
+ "package": "@react-spectrum/s2"
143
84
  }
144
85
  ],
145
86
  "options": {
146
- "label": {
147
- "type": "string"
148
- },
87
+ "label": { "type": "string" },
149
88
  "labelPosition": {
150
89
  "type": "string",
151
90
  "default": "top",
152
- "values": [
153
- {
154
- "value": "top"
155
- },
156
- {
157
- "value": "side"
158
- }
159
- ]
160
- },
161
- "hideLabel": {
162
- "type": "boolean",
163
- "default": false
164
- },
165
- "value": {
166
- "type": "string",
167
- "description": "from minValue to maxValue"
168
- },
169
- "width": {
170
- "type": "number"
91
+ "values": [{ "value": "top" }, { "value": "side" }]
171
92
  },
93
+ "hideLabel": { "type": "boolean", "default": false },
94
+ "value": { "type": "string", "description": "from minValue to maxValue" },
95
+ "width": { "type": "number" },
172
96
  "size": {
173
97
  "type": "string",
174
98
  "default": "m",
175
99
  "values": [
176
- {
177
- "value": "s"
178
- },
179
- {
180
- "value": "m"
181
- },
182
- {
183
- "value": "l"
184
- },
185
- {
186
- "value": "xl"
187
- }
100
+ { "value": "s" },
101
+ { "value": "m" },
102
+ { "value": "l" },
103
+ { "value": "xl" }
188
104
  ]
189
105
  },
190
106
  "necessityIndicator": {
191
107
  "type": "string",
192
108
  "default": "icon",
193
- "values": [
194
- {
195
- "value": "text"
196
- },
197
- {
198
- "value": "icon"
199
- }
200
- ]
201
- },
202
- "isRequired": {
203
- "type": "boolean",
204
- "default": false
205
- },
206
- "hasCharacterCount": {
207
- "type": "boolean",
208
- "default": false
209
- },
210
- "showValidIcon": {
211
- "type": "boolean",
212
- "default": false
213
- },
214
- "isError": {
215
- "type": "boolean",
216
- "default": false
217
- },
218
- "isDisabled": {
219
- "type": "boolean",
220
- "default": false
221
- },
222
- "hideDragIcon": {
223
- "type": "boolean",
224
- "default": false
225
- },
109
+ "values": [{ "value": "text" }, { "value": "icon" }]
110
+ },
111
+ "isRequired": { "type": "boolean", "default": false },
112
+ "hasCharacterCount": { "type": "boolean", "default": false },
113
+ "showValidIcon": { "type": "boolean", "default": false },
114
+ "isError": { "type": "boolean", "default": false },
115
+ "isDisabled": { "type": "boolean", "default": false },
116
+ "hideDragIcon": { "type": "boolean", "default": false },
226
117
  "height": {
227
118
  "type": "number",
228
119
  "description": "If undefined, height is dynamic and grows with input text."
229
120
  },
230
- "helpText": {
231
- "type": "string"
232
- },
233
- "errorMessage": {
234
- "type": "string"
235
- },
121
+ "helpText": { "type": "string" },
122
+ "errorMessage": { "type": "string" },
236
123
  "inputType": {
237
124
  "type": "string",
238
125
  "default": "text",
239
126
  "values": [
240
- {
241
- "value": "text"
242
- },
243
- {
244
- "value": "url"
245
- },
246
- {
247
- "value": "phone"
248
- },
249
- {
250
- "value": "email"
251
- },
252
- {
253
- "value": "password"
254
- }
127
+ { "value": "text" },
128
+ { "value": "url" },
129
+ { "value": "phone" },
130
+ { "value": "email" },
131
+ { "value": "password" }
255
132
  ]
256
133
  }
257
134
  },
258
135
  "states": [
259
- {
260
- "name": "hover",
261
- "trigger": "interaction"
262
- },
263
- {
264
- "name": "focus-+-hover",
265
- "trigger": "prop"
266
- },
267
- {
268
- "name": "focus-+-not-hover",
269
- "trigger": "prop"
270
- },
271
- {
272
- "name": "keyboard-focus",
273
- "trigger": "interaction"
274
- }
136
+ { "name": "hover", "trigger": "interaction" },
137
+ { "name": "focus-+-hover", "trigger": "prop" },
138
+ { "name": "focus-+-not-hover", "trigger": "prop" },
139
+ { "name": "keyboard-focus", "trigger": "interaction" }
275
140
  ],
276
- "lifecycle": {
277
- "introduced": "1.0.0-draft"
278
- },
141
+ "lifecycle": { "introduced": "1.0.0-draft" },
279
142
  "accessibility": {
280
143
  "role": "textbox",
281
144
  "intents": ["input"],
282
145
  "focusable": true,
283
146
  "wcag": [
284
- {
285
- "criterion": "1.3.1",
286
- "level": "A",
287
- "title": "Info and Relationships"
288
- },
147
+ { "criterion": "1.3.1", "level": "A", "title": "Info and Relationships" },
289
148
  {
290
149
  "criterion": "1.3.5",
291
150
  "level": "AA",
292
151
  "title": "Identify Input Purpose"
293
152
  },
294
- {
295
- "criterion": "2.1.1",
296
- "level": "A",
297
- "title": "Keyboard"
298
- },
299
- {
300
- "criterion": "4.1.2",
301
- "level": "A",
302
- "title": "Name, Role, Value"
303
- }
153
+ { "criterion": "2.1.1", "level": "A", "title": "Keyboard" },
154
+ { "criterion": "4.1.2", "level": "A", "title": "Name, Role, Value" }
304
155
  ]
305
156
  }
306
157
  }