@adobe/spectrum-design-data 3.3.0-beta.2 → 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.
- package/components/accordion.json +17 -35
- package/components/action-bar.json +7 -0
- package/components/action-button.json +16 -3
- package/components/action-group.json +8 -0
- package/components/alert-dialog.json +14 -3
- package/components/avatar-group.json +11 -15
- package/components/avatar.json +15 -18
- package/components/badge.json +15 -2
- package/components/breadcrumbs.json +7 -0
- package/components/button-group.json +16 -3
- package/components/button.json +16 -3
- package/components/calendar.json +7 -0
- package/components/card.json +13 -0
- package/components/cards.json +4 -4
- package/components/checkbox-group.json +10 -3
- package/components/checkbox.json +10 -3
- package/components/close-button.json +16 -3
- package/components/color-area.json +7 -0
- package/components/color-handle.json +8 -0
- package/components/color-loupe.json +16 -4
- package/components/color-slider.json +7 -0
- package/components/color-wheel.json +7 -0
- package/components/combo-box.json +10 -3
- package/components/contextual-help.json +10 -3
- package/components/date-field.json +7 -0
- package/components/date-picker.json +7 -0
- package/components/divider.json +15 -2
- package/components/drop-zone.json +10 -3
- package/components/field-label.json +7 -3
- package/components/heading.json +7 -0
- package/components/help-text.json +3 -3
- package/components/illustrated-message.json +13 -0
- package/components/link.json +10 -3
- package/components/list-view.json +7 -0
- package/components/menu.json +10 -3
- package/components/meter.json +16 -3
- package/components/number-field.json +7 -0
- package/components/picker.json +10 -3
- package/components/popover.json +16 -3
- package/components/progress-bar.json +16 -3
- package/components/progress-circle.json +16 -3
- package/components/radio-group.json +10 -3
- package/components/search-field.json +10 -3
- package/components/segmented-control.json +10 -3
- package/components/select-box.json +7 -0
- package/components/side-navigation.json +3 -3
- package/components/slider.json +10 -3
- package/components/status-light.json +15 -2
- package/components/swatch-group.json +3 -3
- package/components/swatch.json +3 -3
- package/components/switch.json +14 -3
- package/components/table.json +3 -3
- package/components/tabs.json +16 -3
- package/components/tag-group.json +10 -3
- package/components/tag.json +10 -3
- package/components/text-area.json +10 -3
- package/components/text-field.json +11 -4
- package/components/time-field.json +7 -0
- package/components/toast.json +11 -7
- package/components/tooltip.json +16 -3
- package/components/tree-view.json +10 -3
- package/components/user-card.json +7 -0
- package/fields/structure.json +1 -2
- package/guidelines/ai-resource-guide.json +7 -15
- package/guidelines/app-frame-overview.json +24 -25
- package/guidelines/applying-the-type-system.json +15 -11
- package/guidelines/attention-hierarchy.json +3 -3
- package/guidelines/background-layers.json +20 -16
- package/guidelines/bi-directionality.json +9 -9
- package/guidelines/border-width.json +18 -6
- package/guidelines/brand.json +9 -17
- package/guidelines/cognitive.json +32 -0
- package/guidelines/colors.json +23 -15
- package/guidelines/component-spacing.json +12 -8
- package/guidelines/contact-us.json +1 -41
- package/guidelines/containers.json +21 -28
- package/guidelines/content-area-browsing-context.json +20 -12
- package/guidelines/creating-bluelines-browsing-context.json +9 -29
- package/guidelines/design-tokens.json +47 -19
- package/guidelines/developer-overview.json +8 -0
- package/guidelines/drop-shadow.json +14 -6
- package/guidelines/faqs.json +4 -0
- package/guidelines/fonts.json +6 -2
- package/guidelines/grammar-and-mechanics.json +69 -45
- package/guidelines/grays.json +5 -5
- package/guidelines/header-browsing-context.json +6 -6
- package/guidelines/icon-fundamentals.json +5 -5
- package/guidelines/illustration.json +41 -26
- package/guidelines/in-product-word-list.json +2 -6
- package/guidelines/inclusive-design.json +8 -8
- package/guidelines/inclusive-ux-writing.json +6 -2
- package/guidelines/internationalization.json +31 -15
- package/guidelines/layout-spacing.json +5 -5
- package/guidelines/manifest.json +46 -134
- package/guidelines/motion.json +9 -5
- package/guidelines/object-styles-overview.json +2 -2
- package/guidelines/principles.json +2 -2
- package/guidelines/resources.json +8 -0
- package/guidelines/rounding.json +19 -7
- package/guidelines/side-navigation-browsing-context.json +16 -16
- package/guidelines/spacing-overview.json +44 -11
- package/guidelines/states.json +4 -4
- package/guidelines/support.json +13 -1
- package/guidelines/typography-overview.json +5 -9
- package/guidelines/typography-system.json +39 -35
- package/guidelines/using-icons.json +19 -23
- package/guidelines/voice-and-tone.json +8 -4
- package/guidelines/whats-new.json +4 -15
- package/guidelines/writing-about-people.json +12 -16
- package/guidelines/writing-for-errors.json +41 -21
- package/guidelines/writing-for-onboarding.json +22 -18
- package/guidelines/writing-for-readability.json +17 -5
- package/guidelines/writing-with-visuals.json +19 -11
- package/package.json +2 -2
- package/registry/platform-implementations.json +30 -0
- package/tokens/layout.tokens.json +88 -0
- package/guidelines/content-design-grammar-and-mechanics.json +0 -241
- package/guidelines/content-design-voice-and-tone.json +0 -37
- package/guidelines/content-grammar-and-mechanics.json +0 -252
- package/guidelines/content-language-and-inclusivity-writing-about-people.json +0 -103
- package/guidelines/content-language-and-inclusivity-writing-with-visuals.json +0 -70
- package/guidelines/content-voice-and-tone.json +0 -47
- package/guidelines/language-and-inclusivity-writing-about-people.json +0 -85
- package/guidelines/language-and-inclusivity-writing-with-visuals.json +0 -61
- package/guidelines/layout-and-structure-containers.json +0 -47
- package/guidelines/layout-and-structure-spacing-overview.json +0 -66
- package/guidelines/visual-language-containers.json +0 -36
- package/registry/platform-extensions/web-components-states.json +0 -58
package/components/tag.json
CHANGED
|
@@ -29,15 +29,22 @@
|
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
31
|
"type": "guideline",
|
|
32
|
-
"content": "Keyboard interactions.\n\nKey Interaction
|
|
32
|
+
"content": "Keyboard interactions.\n\nKey Interaction Tab Tabbing into a group of tags places the focus on the first tag (only one tag receives the keyboard focus at a time). Arrow keys Moves focus through the group of tags. Page Up or Page Down Moves focus to the previous or next tag in the group (last becomes first, and first becomes last). Home or End Moves focus to the first or last tag in the group. Backspace or Delete Removes the tag in focus from the group. Space If the tag is selectable, the space bar will toggle selection."
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
35
|
"type": "guideline",
|
|
36
|
-
"content": "Cursor guidelines.\n\nCursor Description Default (Arrow)Use the default cursor for non-interactive tags.
|
|
36
|
+
"content": "Cursor guidelines.\n\nCursor Description Default (Arrow) Use the default cursor for non-interactive tags. Pointer Use the pointer cursor for interactive tags, such as tags that are removable or can be used to filter content. Grab hand Use the grab hand cursor when the order of tags can be rearranged. Grab fist Use the grab fist cursor when holding a tag."
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
39
|
"type": "guideline",
|
|
40
|
-
"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
|
|
40
|
+
"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 used in tags—must provide a text alternative that communicates the control’s purpose. All controls, especially icon‑only controls, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function. Info and relationships, Identify purpose 1.3.1, 1.3.6 AA Tags should be understandable by assistive technologies like screen readers. This means the proper semantic HTML or ARIA role should be utilized. Text contrast 1.4.3 AA Large text has a contrast ratio of at least 3:1, and small text has a contrast ratio of at least 4.5:1. Incidental text such as disabled, hidden, or decorative text has no contrast requirement. Resize text 1.4.4 AA Tags should be built in such a way that they can be resized without assistive technology up to 200%. Non-text contrast 1.4.11 AA The visual presentation of icons and various states have a contrast ratio of at least 3:1. 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."
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"implementations": [
|
|
44
|
+
{
|
|
45
|
+
"platform": "web",
|
|
46
|
+
"componentName": "Tag",
|
|
47
|
+
"package": "@react-spectrum/s2"
|
|
41
48
|
}
|
|
42
49
|
],
|
|
43
50
|
"options": {
|
|
@@ -65,15 +65,22 @@
|
|
|
65
65
|
},
|
|
66
66
|
{
|
|
67
67
|
"type": "guideline",
|
|
68
|
-
"content": "Keyboard interactions.\n\nKey Interaction
|
|
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."
|
|
69
69
|
},
|
|
70
70
|
{
|
|
71
71
|
"type": "guideline",
|
|
72
|
-
"content": "Cursor guidelines.\n\nCursor Description
|
|
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)."
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
75
|
"type": "guideline",
|
|
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
|
|
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": [
|
|
80
|
+
{
|
|
81
|
+
"platform": "web",
|
|
82
|
+
"componentName": "TextArea",
|
|
83
|
+
"package": "@react-spectrum/s2"
|
|
77
84
|
}
|
|
78
85
|
],
|
|
79
86
|
"options": {
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
{
|
|
38
38
|
"type": "guideline",
|
|
39
|
-
"content": "Review label-less designs.\n\nIn rare cases where context is sufficient and a label could be absent, make sure to have the design reviewed and approved by an accessibility expert. These should still include an aria-label in HTML (depending on the context, aria-label or aria-labelledby
|
|
39
|
+
"content": "Review label-less designs.\n\nIn rare cases where context is sufficient and a label could be absent, make sure to have the design reviewed and approved by an accessibility expert. These should still include an aria-label in HTML (depending on the context, aria-label or aria-labelledby)."
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
"type": "guideline",
|
|
@@ -69,15 +69,22 @@
|
|
|
69
69
|
},
|
|
70
70
|
{
|
|
71
71
|
"type": "guideline",
|
|
72
|
-
"content": "Keyboard interactions.\n\nKey Interaction
|
|
72
|
+
"content": "Keyboard interactions.\n\nKey Interaction Tab Tabbing into a text field moves focus into the field and selects the existing text. Shift + Tab Moves focus to the previous focusable element. Printable characters Inserts text at the caret position. Left / Right Arrow Moves caret one character left/right. Home / End Moves caret to start/end of field value. Backspace / Delete Removes character before/after caret. Ctrl / Cmd + A Selects all text. Enter Submits the enclosing form or triggers the form’s default action (implementation/context dependent)."
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
75
|
"type": "guideline",
|
|
76
|
-
"content": "Cursor guidelines.\n\nCursor Description
|
|
76
|
+
"content": "Cursor guidelines.\n\nCursor Description Text Use over the field to indicate to the user that text is editable within the field. Pointer Any clickable control that is part of the text field (e.g., clear/reveal/help icon) uses the pointer cursor."
|
|
77
77
|
},
|
|
78
78
|
{
|
|
79
79
|
"type": "guideline",
|
|
80
|
-
"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
|
|
80
|
+
"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 used inside text fields (e.g., validation, clear, or affordance icons), must provide a text alternative that communicates their purpose. All text fields need an accessible name so screen readers can announce their function. Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAA Text fields and their labels, descriptions, and error messages should be understandable by assistive technologies like screen readers. This means the proper semantic HTML or ARIA role should be utilized. 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 fields 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."
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
"implementations": [
|
|
84
|
+
{
|
|
85
|
+
"platform": "web",
|
|
86
|
+
"componentName": "TextField",
|
|
87
|
+
"package": "@react-spectrum/s2"
|
|
81
88
|
}
|
|
82
89
|
],
|
|
83
90
|
"options": {
|
|
@@ -9,5 +9,12 @@
|
|
|
9
9
|
"category": "inputs",
|
|
10
10
|
"documentationUrl": "https://spectrum.adobe.com/page/time-field/"
|
|
11
11
|
},
|
|
12
|
+
"implementations": [
|
|
13
|
+
{
|
|
14
|
+
"platform": "web",
|
|
15
|
+
"componentName": "TimeField",
|
|
16
|
+
"package": "@react-spectrum/s2"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
12
19
|
"lifecycle": { "introduced": "1.0.0-draft" }
|
|
13
20
|
}
|
package/components/toast.json
CHANGED
|
@@ -42,19 +42,23 @@
|
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
44
|
"type": "guideline",
|
|
45
|
-
"content": "Multiple toasts.\n\nToasts are designed for brief, non-intrusive, and temporary notifications. While displaying multiple toasts is available via the React Spectrum implementation, we still discourage triggering multiple toasts simultaneously when possible, as this can be very distracting to the user. Frequent interruptions interfere with usability, especially for people with visual and cognitive disabilities (see WCAG Success Criterion 2.2.4 Interruptions
|
|
45
|
+
"content": "Multiple toasts.\n\nToasts are designed for brief, non-intrusive, and temporary notifications. While displaying multiple toasts is available via the React Spectrum implementation, we still discourage triggering multiple toasts simultaneously when possible, as this can be very distracting to the user. Frequent interruptions interfere with usability, especially for people with visual and cognitive disabilities (see WCAG Success Criterion 2.2.4 Interruptions). Products should allow for users to be able turn off all types of alerts. Doing this helps people who want to focus and minimize information that they may find non-essential."
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
48
|
"type": "guideline",
|
|
49
|
-
"content": "
|
|
49
|
+
"content": "Writing for toasts depends on the nature of the message, whether it's communicating confirmation, information, or an error. For all kinds of toasts, keep the text to fewer than 2 lines in English, since it will become longer when localized."
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
52
|
"type": "guideline",
|
|
53
|
-
"content": "
|
|
53
|
+
"content": "Confirmation.\n\nFor a confirmation message (neutral and positive variants), use a short past participle verb phrase: (optional) noun + verb ending in -ed + (optional) prepositional phrase with more information. If you refer to an interface element directly, put its name in bold text."
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
"type": "guideline",
|
|
57
|
-
"content": "
|
|
57
|
+
"content": "Informational.\n\nFor an informational message (informative variant), write in a complete sentence following the formula of subject + verb phrase + optional additional information."
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"type": "guideline",
|
|
61
|
+
"content": "Error.\n\nFor an error message (negative variant), use a short phrase — it can be a complete sentence or not — to describe what's happening as succinctly as possible. Whenever possible, include an in-line action for a user to take so that they can readily address the issue explained in the message."
|
|
58
62
|
},
|
|
59
63
|
{
|
|
60
64
|
"type": "guideline",
|
|
@@ -74,15 +78,15 @@
|
|
|
74
78
|
},
|
|
75
79
|
{
|
|
76
80
|
"type": "guideline",
|
|
77
|
-
"content": "Keyboard interactions.\n\nKey Interaction
|
|
81
|
+
"content": "Keyboard interactions.\n\nKey Interaction Tab Places the focus on the next interactive element, which is either a button or a close button. Shift + Tab Places the focus on the previous interactive element, which is either a button or a close button. Space or Enter If focus is on the close button, dismisses the toast. If focus is on the button, executes the button action. Esc Dismisses the toast. This is equivalent to selecting the close button."
|
|
78
82
|
},
|
|
79
83
|
{
|
|
80
84
|
"type": "guideline",
|
|
81
|
-
"content": "Cursor guidelines.\n\nCursor Usage Default (Arrow)Use the default cursor for non-interactive areas on the toast.
|
|
85
|
+
"content": "Cursor guidelines.\n\nCursor Usage Default (Arrow) Use the default cursor for non-interactive areas on the toast. Pointer Use the pointer cursor for interactive areas on the toast such as the close button."
|
|
82
86
|
},
|
|
83
87
|
{
|
|
84
88
|
"type": "guideline",
|
|
85
|
-
"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
|
|
89
|
+
"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 used in toasts—must provide a text alternative that communicates the control’s purpose. All controls, especially icon‑only controls, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function. Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAA Toasts should be understandable by assistive technologies like screen readers. This means the proper semantic HTML or ARIA role should be utilized. Use of color 1.4.1 A Color is never used as the sole way to convey meaning in toasts. Toasts use color to reinforce their meaning, but every toast also includes a clear text description that communicates purpose. Text contrast minimums 1.4.3 AA Large text has a contrast ratio of at least 3:1, and small text has a contrast ratio of at least 4.5:1. Incidental text such as disabled, hidden, or decorative text has no contrast requirement. 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 icons have a contrast ratio of at least 3:1. Text spacing 1.4.12 AA Line height of text is at least 1.5x the font size. Text spacing 1.4.12 AA Line height of text is at least 1.5x the font size in wrapped tooltips. 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. Timing adjustable 2.2.1 A Toasts should not auto-dismiss. If they do, users need a way to extend, pause, or dismiss time-limited content. Hovering, clicking, or keyboard focusing on the toast should keep it from disappearing. Seizures and physical feactions 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."
|
|
86
90
|
}
|
|
87
91
|
],
|
|
88
92
|
"options": {
|
package/components/tooltip.json
CHANGED
|
@@ -54,15 +54,28 @@
|
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
"type": "guideline",
|
|
57
|
-
"content": "Keyboard interactions.\n\nKey Interaction
|
|
57
|
+
"content": "Keyboard interactions.\n\nKey Interaction Tab Tabbing into an item that has a tooltip associated with it (e.g., an icon) shows the tooltip. Esc Hides the tooltip."
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
60
|
"type": "guideline",
|
|
61
|
-
"content": "Cursor guidelines.\n\nCursor Usage
|
|
61
|
+
"content": "Cursor guidelines.\n\nCursor Usage Pointer If the trigger is a button or link, or a focus-only element (like an info icon that shows a tooltip on hover), use the pointer cursor. Default (Arrow) If the trigger is an icon that is not clickable, use the default cursor. Pointer If the tooltip has a link, use the pointer cursor when interacting with the link."
|
|
62
62
|
},
|
|
63
63
|
{
|
|
64
64
|
"type": "guideline",
|
|
65
|
-
"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
|
|
65
|
+
"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 used in tooltips and icons that trigger tooltips—must provide a text alternative that communicates the control’s purpose. All controls, especially icon‑only controls, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function. Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAA Tooltips should be understandable by assistive technologies like screen readers. This means using the proper semantic HTML or ARIA role should be utilized. Use of color 1.4.1 A Color is never used as the sole way to convey meaning in tooltips. Tooltips use color to reinforce their meaning, but every tooltip also includes a clear text label that communicates purpose. Text contrast minimums 1.4.3 AA Large text has a contrast ratio of at least 3:1, and small text has a contrast ratio of at least 4.5:1. Incidental text such as disabled, hidden, or decorative text has no contrast requirement. Resize text 1.4.4 AA Tooltips should be built in such a way that they can be resized without assistive technology up to 200%. 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 icons and various states have a contrast ratio of at least 3:1. Text spacing 1.4.12 AA Line height of text is at least 1.5x the font size in wrapped tooltips. 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."
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
"implementations": [
|
|
69
|
+
{
|
|
70
|
+
"platform": "web",
|
|
71
|
+
"componentName": "Tooltip",
|
|
72
|
+
"package": "@react-spectrum/s2"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"platform": "web",
|
|
76
|
+
"componentName": "Tooltip",
|
|
77
|
+
"importPath": "@adobe/spectrum-wc/components/tooltip",
|
|
78
|
+
"notes": "Spectrum 2 web component custom element: swc-tooltip."
|
|
66
79
|
}
|
|
67
80
|
],
|
|
68
81
|
"options": {
|
|
@@ -100,15 +100,22 @@
|
|
|
100
100
|
},
|
|
101
101
|
{
|
|
102
102
|
"type": "guideline",
|
|
103
|
-
"content": "Keyboard interactions.\n\nKey Interaction
|
|
103
|
+
"content": "Keyboard interactions.\n\nKey Interaction Tab Moves focus to the tree view, placing the first tree view item in focus. Shift + Tab Moves focus out of the tree view to the previous focusable element. Down Arrow Moves focus to the tree view item below or to the next thumbnail of a tree view item. Up Arrow Moves focus to the tree view item above or to the previous thumbnail of a tree view item. Enter or Space Selects the currently focused tree view item. If focus is on a child of the tree view item, subsequent action is based on the child component’s keyboard interactions. For the drag icon, this places the user in drag-and-drop mode. Right Arrow (Left Arrow in RTL) Expands the currently focused tree view item. If the tree view item is already expanded, or if the tree view item is not expandable, focus is moved in a left-to-right direction along child components. If focus is on the rightmost child of the tree view item, focus does not move. Left Arrow (Right Arrow in RTL) Collapses the currently focused tree view item. If focus is on a child of the tree view item, focus is moved in a right-to-left direction along child components. If focus is on the leftmost child of the tree view item, focus is placed back on the parent tree view item. Home Moves focus to the first item in the tree view without opening or closing a level. End Moves focus to the last item in the tree view that is focusable without opening a level. Cmd + [ (optional) Moves the currently selected item up in the view order. Cmd + ] (optional) Moves the currently selected item down in the view order. Cmd + Z (optional) Undoes the action most recently taken, such as after the user drags and drops, reorders, or performs an action on a tree view item. Cmd + G (optional) Groups the selected tree view item(s) into a new parent tree view item. Shift + Cmd + G (optional) Ungroups or removes the selected parent tree view item, placing its children at the same level of hierarchy as the removed items. Printable characters Typeahead: moves focus to next node matching typed text. * (optional) Expands all sibling nodes at the same level."
|
|
104
104
|
},
|
|
105
105
|
{
|
|
106
106
|
"type": "guideline",
|
|
107
|
-
"content": "Cursor guidelines.\n\nCursor Description Default (Arrow)Use the default arrow cursor for non-interactive headers and disabled text.
|
|
107
|
+
"content": "Cursor guidelines.\n\nCursor Description Default (Arrow) Use the default arrow cursor for non-interactive headers and disabled text. Pointer Use the pointer cursor for all interactive pieces of the tree view component. Grab hand Use the grab hand on the drag handle when tree view objects can be moved. Grab fist Use the grab fist cursor when actively dragging tree items."
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
110
|
"type": "guideline",
|
|
111
|
-
"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
|
|
111
|
+
"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 used in tree view items, must provide a text alternative that communicates the item's purpose. All tree items, especially icon-only items, need an accessible name (for example, via a title, aria-label, or associated text) so screen readers can announce their function. Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAA Tree views should be understandable by assistive technologies like screen readers. This means using the proper semantic HTML or ARIA role should be utilized, including parent/child relationships, expanded/collapsed states, and selection states. Use of color 1.4.1 A Color is not used as a means to convey information or distinguish elements. Contrast 1.4.3 AA The visual presentation of text has a contrast ratio of at least 4.5:1. 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 icons and component states have a contrast ratio of at least 3:1. 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."
|
|
112
|
+
}
|
|
113
|
+
],
|
|
114
|
+
"implementations": [
|
|
115
|
+
{
|
|
116
|
+
"platform": "web",
|
|
117
|
+
"componentName": "TreeView",
|
|
118
|
+
"package": "@react-spectrum/s2"
|
|
112
119
|
}
|
|
113
120
|
],
|
|
114
121
|
"options": {
|
|
@@ -10,5 +10,12 @@
|
|
|
10
10
|
"documentationUrl": "https://spectrum.adobe.com/page/user-card/"
|
|
11
11
|
},
|
|
12
12
|
"anatomy": [{ "name": "title" }],
|
|
13
|
+
"implementations": [
|
|
14
|
+
{
|
|
15
|
+
"platform": "web",
|
|
16
|
+
"componentName": "UserCard",
|
|
17
|
+
"package": "@react-spectrum/s2"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
13
20
|
"lifecycle": { "introduced": "1.0.0-draft" }
|
|
14
21
|
}
|
package/fields/structure.json
CHANGED
|
@@ -8,35 +8,27 @@
|
|
|
8
8
|
{ "type": "purpose", "content": "AI resource guide" },
|
|
9
9
|
{
|
|
10
10
|
"type": "guideline",
|
|
11
|
-
"content": "
|
|
11
|
+
"content": "Spectrum Design Data puts the official Spectrum dataset (design tokens, component schemas, and Spectrum documentation and usage guidelines) directly in your AI assistant. We ship both an Agent Skill and an MCP server. See the Spectrum Data System documentation for more details."
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
14
|
"type": "guideline",
|
|
15
|
-
"content": "
|
|
15
|
+
"content": "@adobe/design-data-skill [npm: github].\n\nA skill the sets up access agents access to Spectrum design tokens, component schemas, and design-system data via the design data CLI."
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"type": "guideline",
|
|
19
|
-
"content": "
|
|
19
|
+
"content": "@adobe/design-data-mcp [npm: github].\n\nThe MCP server for Adobe Spectrum design tokens, component schemas, and design guidelines and documentation."
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"type": "guideline",
|
|
23
|
-
"content": "
|
|
23
|
+
"content": "React Spectrum.\n\nView the React Spectrum AI integration overview"
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
"type": "guideline",
|
|
27
|
-
"content": "
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
"type": "guideline",
|
|
31
|
-
"content": "Spectrum Web Components.\n\nView the Spectrum Web Components AI documentation View the Spectrum Web Components website View the Spectrum Web Components GitHub repository"
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"type": "guideline",
|
|
35
|
-
"content": "Spectrum design data.\n\nView the Spectrum 2 Design Data AI resources View the Spectrum 2 Design Data website View the Spectrum 2 Design Data tools overview View the Spectrum 2 Design Data GitHub repository"
|
|
27
|
+
"content": "Spectrum Web Components.\n\nView the Spectrum Web Components AI skills"
|
|
36
28
|
}
|
|
37
29
|
],
|
|
38
|
-
"sourceUrl": "https://
|
|
39
|
-
"lastUpdated": "2026-
|
|
30
|
+
"sourceUrl": "https://spectrum.adobe.com/support/ai-resource-guide",
|
|
31
|
+
"lastUpdated": "2026-09-29",
|
|
40
32
|
"status": "published",
|
|
41
33
|
"tags": [
|
|
42
34
|
"AI tooling",
|
|
@@ -8,19 +8,19 @@
|
|
|
8
8
|
{ "type": "purpose", "content": "App frame" },
|
|
9
9
|
{
|
|
10
10
|
"type": "guideline",
|
|
11
|
-
"content": "
|
|
11
|
+
"content": "Spectrum 2 treats the app frame as a framework to help product teams make the best decisions for their use cases. This is a resource that combines high-level framing, direction about construction, and specific examples for inspiration. It offers a balance of information that’s strategic and tactical, with the following principles at the forefront: Image: A stylized handshake icon in a red-to-purple-to-blue gradient, representing partnership and collaboration. (source: https://spectrum.adobe.com/foundations/app-frame/media_11cfce068432aba2f9060cc149b32c2e004fa8f56.png?width=750&format=png&optimize=medium) Image: Gradient circular icon with a white branching outline pattern, in red-to-purple tones. (source: https://spectrum.adobe.com/foundations/app-frame/media_17f5b288d52a84b5be39e3828f378d4b58ca3849d.png?width=750&format=png&optimize=medium) Image: Heart icon in a red-to-purple gradient with a blue wave accent. (source: https://spectrum.adobe.com/foundations/app-frame/media_1eed72408776ec432363d78bca1e17a23ff6d0819.png?width=750&format=png&optimize=medium)"
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
14
|
"type": "guideline",
|
|
15
|
-
"content": "
|
|
15
|
+
"content": "Flexible and adaptable.\n\nThe app frame needs to be opinionated without being restrictive. It directly accounts for the needs of future Spectrum 2 products, and is also flexible enough to be readily adaptable across varying product segment needs."
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"type": "guideline",
|
|
19
|
-
"content": "
|
|
19
|
+
"content": "Cohesive and predictable.\n\nA cohesive, consistent app frame reinforces Adobe’s brand and helps users feel comfortable and familiar with our products. Predictable navigation across products is also imperative for Adobe to support users working across multiple applications — and helps people more readily learn how to use new products."
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"type": "guideline",
|
|
23
|
-
"content": "Spectrum
|
|
23
|
+
"content": "Embodies Spectrum 2.\n\nThe app frame is the main stage to showcase the Spectrum 2 style, and it reflects the core foundations and principles of the design system. It works readily with all other design system resources, is committed to complying with WCAG standards, and holds the highest standards for globalization support."
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
"type": "guideline",
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
"type": "guideline",
|
|
31
|
-
"content": "Browsing context: Zones.\n\nZones are the general areas into which certain types of actions should go. They’re not specific to components. Image: Diagram showing the three zones of the construction of the Spectrum 2 app frame: A, navigation zone, B, global action zone, and C, contextual action zone. (source: https://
|
|
31
|
+
"content": "Browsing context: Zones.\n\nZones are the general areas into which certain types of actions should go. They’re not specific to components. Image: Diagram showing the three zones of the construction of the Spectrum 2 app frame: A, navigation zone, B, global action zone, and C, contextual action zone. (source: https://spectrum.adobe.com/foundations/app-frame/media_19aef995718b2fb929aef522835b8af9a752400ed.png?width=750&format=png&optimize=medium)"
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
34
|
"type": "guideline",
|
|
35
|
-
"content": "A. Navigation zone.\n\nThis area holds the primary navigational items on a page. Navigation should be highly predictable across products. In the Spectrum 2 app frame, navigation can be shown in different ways: through the header and side navigation components, as well as through other navigational components (e.g., side navigation and tabs
|
|
35
|
+
"content": "A. Navigation zone.\n\nThis area holds the primary navigational items on a page. Navigation should be highly predictable across products. In the Spectrum 2 app frame, navigation can be shown in different ways: through the header and side navigation components, as well as through other navigational components (e.g., side navigation and tabs) within the content area for secondary navigation."
|
|
36
36
|
},
|
|
37
37
|
{
|
|
38
38
|
"type": "guideline",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
46
|
"type": "guideline",
|
|
47
|
-
"content": "Browsing context: Anatomy.\n\nParts of the anatomy have defined rules and behaviors. The terms used here to describe the anatomy of the app framework are for internal alignment only, and are not representative of how these parts of the app frame should be described to end users. Image: Diagram showing the three parts of the anatomy of the Spectrum 2 app frame: A, header, B, side navigation, and C, content area. (source: https://
|
|
47
|
+
"content": "Browsing context: Anatomy.\n\nParts of the anatomy have defined rules and behaviors. The terms used here to describe the anatomy of the app framework are for internal alignment only, and are not representative of how these parts of the app frame should be described to end users. Image: Diagram showing the three parts of the anatomy of the Spectrum 2 app frame: A, header, B, side navigation, and C, content area. (source: https://spectrum.adobe.com/foundations/app-frame/media_187bd949ffe1f05a278b9a306eabdb7516805dc19.png?width=750&format=png&optimize=medium)"
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
50
|
"type": "guideline",
|
|
@@ -56,16 +56,15 @@
|
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
58
|
"type": "guideline",
|
|
59
|
-
"content": "C. Content area (Required).\n\nModular space that supports multiple layout configurations. The content that goes inside this area is free and not defined by the app frame.
|
|
59
|
+
"content": "C. Content area (Required).\n\nModular space that supports multiple layout configurations. The content that goes inside this area is free and not defined by the app frame. Gradients, when used in this space, are applied with clear intent and strategic purpose. They should contribute to the visual hierarchy, not distract from it. And, their colors are directly tied to product brand color palettes. In the S2 app frame, gradients are only used as backgrounds in content areas — they are not used in the header (A) and navigational areas (B). This allows for greater flexibility between pages where gradients may be calling attention to different kinds of content. View side navigation guidelines and examples in App frame content area (browsing context)."
|
|
60
60
|
},
|
|
61
|
-
{ "type": "guideline", "content": "Anatomy examples" },
|
|
62
61
|
{
|
|
63
62
|
"type": "guideline",
|
|
64
|
-
"content": "
|
|
63
|
+
"content": "Anatomy examples.\n\nImage: Two examples of Spectrum 2 app frame anatomy. Example one: Header only. Header contains the primary navigation and global actions. Example two: Header plus side navigation. Because the side navigation is present, the header is used for global, app-wide actions instead. (source: https://spectrum.adobe.com/foundations/app-frame/media_1b47658c35e18eead92d82cc540f886a57b6ee84f.png?width=750&format=png&optimize=medium)"
|
|
65
64
|
},
|
|
66
65
|
{
|
|
67
66
|
"type": "guideline",
|
|
68
|
-
"content": "
|
|
67
|
+
"content": "There are two variants of the side navigation state control: hamburger and panel. They should never be used at the same time. Interacting with the side navigation state control (an icon-only button) will expand and collapse the width of the panel. This allows for the labels of the side navigational items to be shown or hidden. When used to expand the panel, the accessible name (optionally shown as a tooltip) changes to “Show menu labels.” When used to collapse the panel, the accessible name changes to “Hide menu labels.” Image: Two diagrams showing the difference between the side navigation state control. One is of panel icon and the other is of the hamburger icon. (source: https://spectrum.adobe.com/foundations/app-frame/media_128e76de99bdbfd9d2c9744699ee6fcd678f5f85f.png?width=750&format=png&optimize=medium)"
|
|
69
68
|
},
|
|
70
69
|
{
|
|
71
70
|
"type": "guideline",
|
|
@@ -75,6 +74,10 @@
|
|
|
75
74
|
"type": "guideline",
|
|
76
75
|
"content": "Panel.\n\nWhen hovering on the panel icon, the icon will show an animated preview of what action would be done upon interaction (either expanding or collapsing). This animation offers more context about what to expect. The placement of the panel icon is at the bottom of the app frame side navigation panel. Learn more about the side navigation state control’s user customization and preserve user preferences. App frame variants: Top App Bar (TAB) will go over the use cases of hamburger and panel icons."
|
|
77
76
|
},
|
|
77
|
+
{
|
|
78
|
+
"type": "guideline",
|
|
79
|
+
"content": "The Top App Bar (TAB) is the the most-up-to-date form of the 9-grid app switcher in Adobe Home. While the underlying functionality remains unchanged, the TAB introduces a more prominent visual placement, appearing at the top of the header when active."
|
|
80
|
+
},
|
|
78
81
|
{
|
|
79
82
|
"type": "guideline",
|
|
80
83
|
"content": "How to use the TAB.\n\nTo activate or deactivate the TAB, select the 9-grid icon. Once clicked on, the TAB will appear above the header. On a screen reader, if there is an alert banner present, then the visual placement from top to bottom would be alert banner, TAB, then header."
|
|
@@ -89,19 +92,19 @@
|
|
|
89
92
|
},
|
|
90
93
|
{
|
|
91
94
|
"type": "guideline",
|
|
92
|
-
"content": "Anatomy examples.\n\nImage: Examples of the product switcher in different places. One example of the Top App Bar (TAB) active at the top of the viewport with the panel icon state switcher at the end of the side navigation section. Another example is the mobile experience with the hamburger icon state switcher and the product switcher in the header. (source: https://
|
|
95
|
+
"content": "Anatomy examples.\n\nImage: Examples of the product switcher in different places. One example of the Top App Bar (TAB) active at the top of the viewport with the panel icon state switcher at the end of the side navigation section. Another example is the mobile experience with the hamburger icon state switcher and the product switcher in the header. (source: https://spectrum.adobe.com/foundations/app-frame/media_19bf4524cadbd94da0231a7cce0d587f0be0ac845.png?width=750&format=png&optimize=medium)"
|
|
93
96
|
},
|
|
94
97
|
{
|
|
95
98
|
"type": "guideline",
|
|
96
|
-
"content": "Non-TAB products (Digital Experience and Unified Shell).\n\nFor products that don’t use the TAB, the side navigation state control will always be the hamburger icon.
|
|
99
|
+
"content": "Non-TAB products (Digital Experience and Unified Shell).\n\nFor products that don’t use the TAB, the side navigation state control will always be the hamburger icon. Image: Diagrams of the hamburger side navigation state control in a web and mobile breakpoint. (source: https://spectrum.adobe.com/foundations/app-frame/media_1ba4d3297356f4f73b02b4fb05bed4596a9fcd706.png?width=750&format=png&optimize=medium)"
|
|
97
100
|
},
|
|
98
101
|
{
|
|
99
102
|
"type": "guideline",
|
|
100
|
-
"content": "
|
|
103
|
+
"content": "It’s ultimately up to product teams to decide how to translate the terms used in the framework anatomy — and other internal jargon — into UI language that makes the most sense for their end users. Internal product development jargon often unintentionally surfaces in UI, and this can create confusing experiences for the people using our products. In order to avoid that — as well as align across differences in team and individual jargon — the terms used here to describe the anatomy of the app frame are focused on communicating high-level construction (how something is built) and intention (how something is used)."
|
|
101
104
|
},
|
|
102
105
|
{
|
|
103
106
|
"type": "guideline",
|
|
104
|
-
"content": "Some common Adobe terms for describing the UI.\n\nThe following are some common terms used at Adobe for describing the core UI elements that make up the app frame, along with some notable usage considerations. Consider this as a starting point for you to take and develop into working language that may need to be more contextual for your product. Work with your Content Strategy partners to adapt it to your needs. Image: Illustration of where panels or rails appear in the app frame layout: to either the left or right side of the UI. (source: https://
|
|
107
|
+
"content": "Some common Adobe terms for describing the UI.\n\nThe following are some common terms used at Adobe for describing the core UI elements that make up the app frame, along with some notable usage considerations. Consider this as a starting point for you to take and develop into working language that may need to be more contextual for your product. Work with your Content Strategy partners to adapt it to your needs. Image: Illustration of where panels or rails appear in the app frame layout: to either the left or right side of the UI. (source: https://spectrum.adobe.com/foundations/app-frame/media_1c4e8402f034d1e4c9737e42b72fad58518c38c1f.png?width=750&format=png&optimize=medium) Image: Illustration of one example where a content area can appear in the app frame layout: as the main focus or work area. (source: https://spectrum.adobe.com/foundations/app-frame/media_1600fc2e5b4260da2d3f688f8b0c9d7c4604016f1.png?width=750&format=png&optimize=medium) Image: Illustration of an example of where a well can appear in the app frame layout: in the middle of a content area. (source: https://spectrum.adobe.com/foundations/app-frame/media_1a80cabda2a52fad2708546441c70773dd8942506.png?width=750&format=png&optimize=medium)"
|
|
105
108
|
},
|
|
106
109
|
{
|
|
107
110
|
"type": "guideline",
|
|
@@ -117,7 +120,7 @@
|
|
|
117
120
|
},
|
|
118
121
|
{
|
|
119
122
|
"type": "guideline",
|
|
120
|
-
"content": "Identifying user-facing terms vs. internal-only terms.\n\nInternal jargon is important and we want to be aligned across teams, but we also need to be careful about using internal terms, externally. By “user-facing term,” we mean that user to be the “end user”: the person who encounters the UI of an Adobe experience. In general, if you’re creating resources for internal usage (such as design guidelines or specs), you can safely use internal jargon. If you’re creating actual product UI, you will need to ensure that you’re using the appropriate terms that will help your user best understand and navigate the interface. Use the following steps to decide on terms: Image: A black-and-white line icon of a browser window with a top toolbar and a single dot. (source: https://
|
|
123
|
+
"content": "Identifying user-facing terms vs. internal-only terms.\n\nInternal jargon is important and we want to be aligned across teams, but we also need to be careful about using internal terms, externally. By “user-facing term,” we mean that user to be the “end user”: the person who encounters the UI of an Adobe experience. In general, if you’re creating resources for internal usage (such as design guidelines or specs), you can safely use internal jargon. If you’re creating actual product UI, you will need to ensure that you’re using the appropriate terms that will help your user best understand and navigate the interface. Use the following steps to decide on terms: Image: A black-and-white line icon of a browser window with a top toolbar and a single dot. (source: https://spectrum.adobe.com/foundations/app-frame/media_15b3b3fb77bc097c8d306652754e50f38e16cb7fb.png?width=750&format=png&optimize=medium) Image: A black-and-white line icon of a magnifying glass, representing search. (source: https://spectrum.adobe.com/foundations/app-frame/media_12ac292a56a7ce97b0042216244922f5d9e32f56f.png?width=750&format=png&optimize=medium) Image: A black-and-white line icon of two overlapping user silhouettes, representing a group of people. (source: https://spectrum.adobe.com/foundations/app-frame/media_150f01f672f95313815260ac49144b5023d36ae5e.png?width=750&format=png&optimize=medium)"
|
|
121
124
|
},
|
|
122
125
|
{
|
|
123
126
|
"type": "guideline",
|
|
@@ -137,26 +140,22 @@
|
|
|
137
140
|
},
|
|
138
141
|
{
|
|
139
142
|
"type": "guideline",
|
|
140
|
-
"content": "Avoid terms of relative direction or appearance.\n\nTo create more inclusive products, describe parts of the UI in terms of function (what something does, or what something is) rather than appearance or position (such as relative direction: left, right, top, bottom). Talk about the actions available or the names of the features inside of a part of the interface, rather than how the interface itself looks. View the Spectrum Inclusive UX writing guide for more guidelines and examples. Image: Example of correct usage. Approvals. Colors. (source: https://
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
"type": "guideline",
|
|
144
|
-
"content": "Using “panel” and “rail” as user-facing terms.\n\nThe word panel is acceptable as a user-facing term only when there is no other way to describe the interface. The word rail is acceptable to use as internal jargon, but it should never be used as a user-facing term. This is because the word is about how something looks: a long, straight divider, like a slide rule or a railroad track. View the Spectrum in-product word list for more details and usage notes about these and other terms to refer to parts of the interface. Image: Example of correct usage. Show more options. (source: https://preview.spectrum.adobe.com/foundations/app-frame/media_1bc5bf7de9abaf2318532d97026370f9d9be0fa1e.png?width=750&format=png&optimize=medium)Describe the action to take on the UI.Image: Example of incorrect usage. Hide navigation rail. (source: https://preview.spectrum.adobe.com/foundations/app-frame/media_17fc6b06737dfff7420c77dd28a9df09d1715610d.png?width=750&format=png&optimize=medium)Don’t describe the UI itself."
|
|
143
|
+
"content": "Avoid terms of relative direction or appearance.\n\nTo create more inclusive products, describe parts of the UI in terms of function (what something does, or what something is) rather than appearance or position (such as relative direction: left, right, top, bottom). Talk about the actions available or the names of the features inside of a part of the interface, rather than how the interface itself looks. View the Spectrum Inclusive UX writing guide for more guidelines and examples. Image: Example of correct usage. Approvals. Colors. (source: https://spectrum.adobe.com/foundations/app-frame/media_114c85b714942bddf4a0baaac51146c4e1755a454.png?width=750&format=png&optimize=medium) Describe the actions or items available. Image: Example of incorrect usage. Approvals rail. Colors panel. (source: https://spectrum.adobe.com/foundations/app-frame/media_16927fb5340c20e1bd0dbaf651eb68d4c4d76032e.png?width=750&format=png&optimize=medium) Avoid describing where to find specific items or actions in relation to UI construction."
|
|
145
144
|
},
|
|
146
145
|
{
|
|
147
146
|
"type": "guideline",
|
|
148
|
-
"content": "
|
|
147
|
+
"content": "Using “panel” and “rail” as user-facing terms.\n\nThe word panel is acceptable as a user-facing term only when there is no other way to describe the interface. The word rail is acceptable to use as internal jargon, but it should never be used as a user-facing term. This is because the word is about how something looks: a long, straight divider, like a slide rule or a railroad track. View the Spectrum in-product word list for more details and usage notes about these and other terms to refer to parts of the interface. Image: Example of correct usage. Show more options. (source: https://spectrum.adobe.com/foundations/app-frame/media_1bc5bf7de9abaf2318532d97026370f9d9be0fa1e.png?width=750&format=png&optimize=medium) Describe the action to take on the UI. Image: Example of incorrect usage. Hide navigation rail. (source: https://spectrum.adobe.com/foundations/app-frame/media_17fc6b06737dfff7420c77dd28a9df09d1715610d.png?width=750&format=png&optimize=medium) Don’t describe the UI itself."
|
|
149
148
|
},
|
|
150
149
|
{
|
|
151
150
|
"type": "guideline",
|
|
152
|
-
"content": "
|
|
151
|
+
"content": "“Show” and “Hide”.\n\n“Show” and “hide” are the preferred terms to use to describe the open/close actions on the side navigation. This is for several reasons: Globalization readiness. The words “show” and “hide” both have low character counts in U.S. English, and are the most common already-existing terms to express this concept across Adobe products. Plain language. “Hide” is more straightforward and common language than “Minimize,” and is also at the appropriate reading level for UI text. Conceptual accuracy. “Show” and “Hide” better align to their associated actions; items aren’t disappearing completely from view, but are being tucked away or are changing appearance. Image: Example of correct usage. Show menu labels. Hide navigation. (source: https://spectrum.adobe.com/foundations/app-frame/media_18c67799a786aa0e8335712032da5e43b57fdc230.png?width=750&format=png&optimize=medium) Image: Example of incorrect usage. Expand menu labels. Minimize navigation. Collapse side bar. (source: https://spectrum.adobe.com/foundations/app-frame/media_1ab30756ab3323c279063b24ab1950d5ecd12b932.png?width=750&format=png&optimize=medium)"
|
|
153
152
|
},
|
|
154
153
|
{
|
|
155
154
|
"type": "guideline",
|
|
156
|
-
"content": "
|
|
155
|
+
"content": "When in doubt, use sentence case.\n\nAs you’re designing the UI content of your app frame using this framework, follow the Spectrum content standards for all UI text and labels. Most of the writing you’ll be doing for the app frame will be short labels. These, as well as all other UI content, are formatted in sentence case: only the first letter of the first word is capitalized. View the Spectrum Grammar and mechanics page. Image: Example of correct usage. All templates. (source: https://spectrum.adobe.com/foundations/app-frame/media_1f4aca7a576edf2610ac55b033fa6c32b0ce79736.png?width=750&format=png&optimize=medium) Image: Example of incorrect usage. All Templates. ALL TEMPLATES. (source: https://spectrum.adobe.com/foundations/app-frame/media_1d2fe39e9e168e4a5493e212e36a31d36e765060d.png?width=750&format=png&optimize=medium)"
|
|
157
156
|
}
|
|
158
157
|
],
|
|
159
|
-
"sourceUrl": "https://
|
|
158
|
+
"sourceUrl": "https://spectrum.adobe.com/foundations/app-frame/overview",
|
|
160
159
|
"lastUpdated": "2026-09-04",
|
|
161
160
|
"status": "published",
|
|
162
161
|
"tags": [
|