@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.
- package/components/accordion.json +32 -102
- package/components/action-bar.json +9 -23
- package/components/action-button.json +52 -92
- package/components/action-group.json +18 -129
- package/components/alert-banner.json +8 -27
- package/components/alert-dialog.json +45 -55
- package/components/avatar-group.json +20 -50
- package/components/avatar.json +44 -123
- package/components/badge.json +66 -160
- package/components/breadcrumbs.json +26 -100
- package/components/button-group.json +32 -63
- package/components/button.json +74 -105
- package/components/calendar.json +8 -67
- package/components/cards.json +31 -46
- package/components/checkbox-group.json +22 -84
- package/components/checkbox.json +33 -96
- package/components/close-button.json +31 -73
- package/components/coach-indicator.json +14 -44
- package/components/coach-mark.json +8 -26
- package/components/color-area.json +20 -93
- package/components/color-handle.json +25 -38
- package/components/color-loupe.json +18 -18
- package/components/color-slider.json +26 -122
- package/components/color-wheel.json +17 -84
- package/components/combo-box.json +56 -188
- package/components/contextual-help.json +87 -126
- package/components/date-picker.json +24 -120
- package/components/divider.json +25 -38
- package/components/drop-zone.json +25 -37
- package/components/field-label.json +22 -59
- package/components/help-text.json +16 -53
- package/components/illustrated-message.json +21 -72
- package/components/in-line-alert.json +13 -53
- package/components/link.json +31 -63
- package/components/list-view.json +15 -73
- package/components/menu.json +51 -180
- package/components/meter.json +35 -76
- package/components/number-field.json +34 -168
- package/components/picker.json +48 -187
- package/components/popover.json +47 -123
- package/components/progress-bar.json +33 -105
- package/components/progress-circle.json +25 -55
- package/components/radio-button.json +14 -67
- package/components/radio-group.json +34 -131
- package/components/rating.json +9 -38
- package/components/search-field.json +40 -125
- package/components/segmented-control.json +27 -69
- package/components/select-box.json +29 -96
- package/components/side-navigation.json +28 -69
- package/components/slider.json +45 -154
- package/components/standard-dialog.json +16 -88
- package/components/status-light.json +51 -133
- package/components/steplist.json +5 -24
- package/components/swatch-group.json +19 -55
- package/components/swatch.json +24 -79
- package/components/switch.json +42 -79
- package/components/table.json +26 -73
- package/components/tabs.json +35 -52
- package/components/tag-field.json +14 -60
- package/components/tag-group.json +22 -55
- package/components/tag.json +27 -77
- package/components/takeover-dialog.json +10 -61
- package/components/text-area.json +55 -204
- package/components/text-field.json +48 -169
- package/components/thumbnail.json +22 -63
- package/components/toast.json +30 -47
- package/components/tooltip.json +37 -84
- package/components/tree-view.json +51 -146
- package/fields/structure.json +1 -2
- package/guidelines/ai-resource-guide.json +42 -0
- package/guidelines/app-frame-overview.json +45 -44
- package/guidelines/applying-the-type-system.json +71 -0
- package/guidelines/attention-hierarchy.json +13 -22
- package/guidelines/background-layers.json +84 -10
- package/guidelines/bi-directionality.json +57 -0
- package/guidelines/border-width.json +70 -0
- package/guidelines/brand.json +24 -12
- package/guidelines/cognitive.json +229 -0
- package/guidelines/colors.json +55 -17
- package/guidelines/component-spacing.json +65 -0
- package/guidelines/contact-us.json +27 -0
- package/guidelines/containers.json +21 -28
- package/guidelines/content-area-browsing-context.json +73 -0
- package/guidelines/creating-bluelines-browsing-context.json +71 -0
- package/guidelines/design-tokens.json +186 -0
- package/guidelines/developer-overview.json +33 -9
- package/guidelines/drop-shadow.json +76 -0
- package/guidelines/faqs.json +100 -9
- package/guidelines/fonts.json +33 -14
- package/guidelines/grammar-and-mechanics.json +276 -0
- package/guidelines/grays.json +17 -44
- package/guidelines/header-browsing-context.json +40 -0
- package/guidelines/icon-fundamentals.json +7 -18
- package/guidelines/illustration.json +120 -0
- package/guidelines/in-product-word-list.json +25 -0
- package/guidelines/inclusive-design.json +101 -0
- package/guidelines/inclusive-ux-writing.json +34 -0
- package/guidelines/internationalization.json +103 -0
- package/guidelines/layout-spacing.json +39 -0
- package/guidelines/manifest.json +280 -16
- package/guidelines/motion.json +18 -13
- package/guidelines/object-styles-overview.json +17 -0
- package/guidelines/principles.json +7 -8
- package/guidelines/resources.json +29 -15
- package/guidelines/rounding.json +85 -0
- package/guidelines/side-navigation-browsing-context.json +74 -0
- package/guidelines/spacing-overview.json +78 -0
- package/guidelines/states.json +16 -11
- package/guidelines/support.json +125 -0
- package/guidelines/typography-overview.json +39 -0
- package/guidelines/typography-system.json +212 -0
- package/guidelines/using-icons.json +32 -47
- package/guidelines/voice-and-tone.json +51 -0
- package/guidelines/whats-new.json +21 -0
- package/guidelines/writing-about-people.json +99 -0
- package/guidelines/writing-for-errors.json +140 -0
- package/guidelines/writing-for-onboarding.json +123 -0
- package/guidelines/writing-for-readability.json +66 -0
- package/guidelines/writing-with-visuals.json +78 -0
- package/package.json +2 -2
- package/tokens/layout.tokens.json +88 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/guideline.schema.json",
|
|
3
|
+
"$id": "https://opensource.adobe.com/spectrum-design-data/guidelines/writing-about-people.json",
|
|
4
|
+
"name": "writing-about-people",
|
|
5
|
+
"title": "Writing about people",
|
|
6
|
+
"category": "designing",
|
|
7
|
+
"documentBlocks": [
|
|
8
|
+
{ "type": "purpose", "content": "Writing about people" },
|
|
9
|
+
{
|
|
10
|
+
"type": "guideline",
|
|
11
|
+
"content": "The goal of all UX content is to be understandable to all — not just to the people paying for something or for those in a certain industry — and to accommodate the many ways that people use products. When creating content for product experiences, think and write by centering the person you’re writing to or about in a way that’s compassionate, inclusive, and respectful. Work to grasp the perspective of underrepresented groups, and avoid writing in a way that may view or treat someone as intrinsically different from yourself. You can use methods like co-designing and UX research. Keep the following best practices in mind when writing:"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"type": "guideline",
|
|
15
|
+
"content": "Use neutral, precise, relevant descriptions.\n\nOnly include personal qualities if they’re relevant and important. Write what you mean, then look back at what you wrote and think about whom you’re centering with your words. Doing this can reveal which people you’re leaving out. What’s the sentiment behind your words?"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"type": "guideline",
|
|
19
|
+
"content": "Choose words carefully and understand historical significance.\n\nBe cautious of appropriating terms from marginalized communities. In this guide, we say “underrepresented groups.” You can also reference 3rd-party sources such as Wikipedia’s list of which words to use and which to avoid."
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"type": "guideline",
|
|
23
|
+
"content": "Be clear and avoid stereotypes.\n\nBe on the lookout for proxy questions and statements, which appeal to generalizations and stereotypes. For example, saying, “just buy more storage” is a proxy statement on economic status, while “view additional storage options” doesn’t make those assumptions. Communicate from a place of equality, not condescension, and think about the worst-case interpretation of your words. Clear intent excludes fewer people and reduces bias."
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"type": "guideline",
|
|
27
|
+
"content": "Account for machine learning and AI.\n\nWhen collecting user data in app or web experiences, first think about whether that information is actually needed, and then if it really is, communicate why. Allow for both common and custom responses, self-identification, multiple selections, and the option to opt out of responding. Artificial intelligence learns only from the information we provide to it, so our inherent biases can easily become included in training data. If content allows for variable and AI-provided information, consider the ways that may affect any copy."
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"type": "guideline",
|
|
31
|
+
"content": "Use neutral, precise, relevant descriptions.\n\nPerson-first language centers the person, not their qualities, by using those qualities as modifiers: “Design Adobe apps for people who use assistive technology.” But for identity-first language, which some communities and individuals prefer instead, language highlights the disability: “Design Adobe apps for deaf people.” No group unilaterally chooses one over the other, so when you’re writing about someone, ask them how they want to be identified. Avoid euphemisms like “differently abled,” which are regarded as condescending, and descriptors used as nouns, like “the disabled” or “the blind.” These tend to present a group of individuals as a monolith and suggests a lack of individual diversity within the group. Image: Example of a do guideline. Placeholder variable. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_1a388ca91b3dac07b8b9d41e693a811e0a4f3cbd5.png?width=750&format=png&optimize=medium) Image: Example of a don't guideline. Dummy variable. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_12215c42c43588b7fd9a9105f6e3f6345bfdb485a.png?width=750&format=png&optimize=medium) Preferred Avoid Disabled person or person with disabilities Differently abled or the disabled Blind person or person who is blind The blind Some phrases in common parlance that imply negativity are based on slurs against people with disabilities, such as “crazy” or “lame.” Never imply that a person is “suffering” from a disability or is a “victim” of a condition. Avoid appropriating terms from the disability community. Preferred Avoid Ridiculous or unpredictable Crazy Inconsiderate Tone-deaf Incompetent or bad Dumb or lame Keyanna has autism. Keyanna is suffering from autism. Placeholder variable Dummy variable Amir uses a wheelchair. Amir is confined to a wheelchair."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"type": "guideline",
|
|
35
|
+
"content": "Be clear and avoid stereotypes.\n\nWith imagery and language, avoid implying that a person has to look a certain way, be a certain size, or have a certain cognitive ability to do something. Depict more types of people as typical. Image: Example of a do guideline. This tutorial teaches cropping and usually takes 5 minutes. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_124bc820debd47d09f5906d12389717f1a10e28c1.png?width=750&format=png&optimize=medium) Image: Example of a don't guideline. Follow this fast, easy tutorial. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_19f42ceaff4d200a149259d1997cfae3e1638808f.png?width=750&format=png&optimize=medium) Preferred Avoid This tutorial teaches cropping and usually takes 5 minutes. Follow this fast, easy tutorial. This feature works best when you zoom out to 75%. This feature isn’t for the vision-impaired."
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"type": "guideline",
|
|
39
|
+
"content": "Avoid appropriating terms from underrepresented groups.\n\nBe aware of how words that are often associated with physical and mental health are often used as metaphors to describe interactions and product functionality. Image: Example of a do guideline. Coherence check. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_1b0a570fd23357daed6ee5e264ec5b8326414be6f.png?width=750&format=png&optimize=medium) Image: Example of a don't guideline. Sanity check. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_111b67af622d45a34e944d58d16912287e1b2e2ad.png?width=750&format=png&optimize=medium) Preferred Avoid Unavailable or locked or turned off or deactivated Grayed out Coherence check Sanity check Organize or organized OCD"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"type": "guideline",
|
|
43
|
+
"content": "Account for machine learning and AI.\n\nEnter metadata with caution. For example, don’t tag a photograph of a child with words like “crazy” or “weird.” Image: Example of a don't guideline. UI mockup showing a form with a large placeholder image area, a 'Tags' label, and a text input field containing a single tag chip labeled 'Crazy' with an active text cursor. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_190b76647c472a96e68eb4a2a396895832da538a7.png?width=750&format=png&optimize=medium)"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"type": "guideline",
|
|
47
|
+
"content": "Use neutral, precise, relevant descriptions.\n\nLet’s say you’re writing a persona. When describing a person's country of origin or race, be as descriptive as possible as to not generalize any race or ethnicity. Race is only pertinent to biographical and announcement-related content that involves significant, groundbreaking, or historical events. For capitalization, Adobe follows AP Stylebook guidelines: capitalize nationalities, peoples, races (all except white), and tribes."
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"type": "guideline",
|
|
51
|
+
"content": "Choose words carefully and understand historical significance.\n\nAdobe avoids using software terms such as “whitelist,” “blacklist,” “master,” and “slave.” Don’t use terms assigning value to racial characteristics, such as “dark pattern.” (Terms like \"dark mode,\" \"light theme,\" or \"black screen\" literally refer to color and brightness and don't assign good or bad values, so continue using them.) Image: Example of a do guideline. Legacy. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_18351e9324b727a617022c4fa7a520fa10bf6179b.png?width=750&format=png&optimize=medium) Image: Example of a don't guideline. Grandfather clause. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_164ef15d2cd8f0f5b55809dd2abb240ba5b5766db.png?width=750&format=png&optimize=medium) Preferred Avoid Use this format to provide contextual clarity: ( Result in past participle form ) ( object ) Examples: Shared domains, approved people, targeted sites For coding constructs: Allowlist Whitelist Use this format to provide contextual clarity: ( Result in past participle form ) ( object ) For coding constructs: Blocklist Blacklist Legacy Grandfather clause Futile undertaking or a project destined to fail Death march Primary or main or source (e.g., “ main track ”) “ Master ” descriptors Primary / secondary Master / slave"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"type": "guideline",
|
|
55
|
+
"content": "Be clear and avoid stereotypes.\n\nIf you want to use a certain idiomatic or casual phrase, research its history before doing so. For example, imperfect spellings or pronunciations of words can imply pejorative associations with an accent. Be on the lookout for proxy questions, such as relating postal codes to ethnicity in rejecting job candidates, or making pricing or marketing decisions based on the average income of postal codes."
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"type": "guideline",
|
|
59
|
+
"content": "Use plain language.\n\nSince English isn’t everyone’s first language, it’s best to write using clear, plain language — as well as avoid idioms and phrases that might be complicated for non-English speakers to understand. Plain language is more widely understood and, therefore, avoids alienating people. It especially avoids alienating people in ways that specifically belittle non-English speakers. For example, the conversational and casual phrases “long time no see” and “no can do” were originally used to belittle Native Americans. Image: Example of a do guideline. Sorry, something went wrong. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_19592eaedc34900d2aa16d15a70386bb9ccd17148.png?width=750&format=png&optimize=medium) Image: Example of a don't guideline. No can do. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_18e9557448586e8ad2d413900937f8932099077ea.png?width=750&format=png&optimize=medium) Preferred Avoid Welcome back Long time no see 2-step process Wax on, wax off Sorry, something went wrong No can do"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"type": "guideline",
|
|
63
|
+
"content": "Depict more types of people as typical.\n\nWe must focus on building successful experiences for all users. That means writing and designing in a way that depicts all skin types, names, and cultures as typical. We cannot keep centering white-skinned, Western cultures in our designs. Image: Example of a do guideline. UI mockup titled 'Introducing coediting' (step 1 of 2), showing four overlapping circular avatar photos in different colored rings (purple, blue, yellow, green), with a cursor hovering over the first avatar and a tooltip displaying the name 'Ayesha Wilson,' connected by a curved line indicating a hover interaction. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_173561d2b0362bcca77aeaba6586133cb79fb99c6.png?width=750&format=png&optimize=medium) Image: Example of a don't guideline. UI mockup titled 'Introducing coediting' (step 1 of 2), showing four overlapping circular avatar photos in different colored rings (purple, blue, yellow, green), with a cursor hovering over the first avatar and a tooltip displaying the name 'John Smith,' connected by a curved line indicating a hover interaction. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_10a9a65e9b14def281e2185bac817af10dff0ce3a.png?width=750&format=png&optimize=medium) Preferred Avoid Dark brown or beige or tan or peach, etc. Skin or flesh or nude (referring to color swatch) Critics Peanut gallery A broad range of name examples within a product experience (e.g., Ayesha, Ibrahim, Vignesh, Quynh) Only culturally white name examples within a product experience (e.g., John, Bill, Karen, Amy)"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"type": "guideline",
|
|
67
|
+
"content": "Be cautious of appropriating terms from underrepresented groups.\n\nHere’s a list of preferred words that are alternatives to common technology industry jargon. Image: Example of a do guideline. Expert. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_1cb3343dbe99abbdf43db13cf6c7bd826bacb904f.png?width=750&format=png&optimize=medium) Image: Example of a don't guideline. Guru. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_19045f2f94103c9130a672b9359d61145623e217f.png?width=750&format=png&optimize=medium) Preferred Avoid Native to the operating system or built-in feature Native Meeting Pow wow or circle the wagons Vision statement or strategic statement or value proposition Zen statement or Zen garden Role model or kindred spirit Spirit animal Guide Sherpa Authority or expert Guru or ninja"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"type": "guideline",
|
|
71
|
+
"content": "Be clear and avoid gendered language and stereotypes.\n\nRather than “he” or “she,” if you don’t know a person’s pronouns, make the phrase plural and use “they” instead. Use of “they” to describe one person is also accepted, although the syntax remains plural (e.g., “they are” = “that person is”). It’s also best to avoid using roles or stereotypes that have gendered roots (e.g., “businessman\" or “waitress”). Image: Example of a do guideline. They can fill out this form. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_11f4fc44c503c2e74074d1314b59e3ba53534177b.png?width=750&format=png&optimize=medium) Image: Example of a don't guideline. He/she can fill out this form. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_14eb1213b292de728d3ae57bcee81ffeb5ca4f012.png?width=750&format=png&optimize=medium) Preferred Avoid Server Waitress Businessperson Businessman Flight attendant Stewardess They He/she or (S)he A group of people or a group of women Guys or girls or ladies Parents Moms"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"type": "guideline",
|
|
75
|
+
"content": "Choose words carefully and understand historical significance.\n\nUse gender and sexuality descriptors as modifiers, not nouns (e.g., “transgender woman” rather than “a transgender,” “bisexual person” rather than “a bisexual”). A person’s pronouns are not opinion or preference, even if they may change over time (view Spectrum’s guidelines on pronouns). All of this helps us emphasize every person’s humanity, and keeps us from alienating people who aren’t cisgender and heterosexual. Image: Example of a do guideline. What are your pronouns? (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_168e25aded8844c4098a3e13fa36e868c505a615b.png?width=750&format=png&optimize=medium) Image: Example of a don't guideline. What are your preferred pronouns? (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_1d210ed4b5a99533380b6da0bd2af860b88029994.png?width=750&format=png&optimize=medium) Preferred Avoid Transgender people or trans people Transgendered people or transgenders or the transgendered or transexuals Trans women Trans-women A transgender man A transman Alejandra, a lesbian woman Alejandra is a lesbian Jing, a non-binary person Jing is a non-binary Saadi is cis Saadi is CIS What are your pronouns? What are your preferred pronouns? Jamal’s pronouns are he/him/his. Jamal prefers he/him pronouns. Wholehearted or impassioned Hysterical"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"type": "guideline",
|
|
79
|
+
"content": "Be specific and kind.\n\nKnow the difference between sex (male/female) and gender (man/woman). When collecting personal data from users, consider if it is really necessary to ask for a person’s gender. Data collection and forms, while useful to product builders, can feel intrusive when asking about gender. When you really do need the information, allow for both common and custom responses, self-identification, multiple selections, and the option to opt out of responding. Avoid asking proxy questions, for example, asking for someone’s gender when the information that is actually needed is their bike size. Image: Example of a do guideline. UI mockup of a 'Gender' dropdown field, open to show four options: Man, Woman (currently selected, indicated by a checkmark), Prefer not to answer, and Prefer to self-describe. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_104a2fe5be94e7d900c6368f6cc24d20f85d0012f.png?width=750&format=png&optimize=medium) Image: Example of a don't guideline. UI mockup of a 'Gender' dropdown field, open to show three options: Male, Female (currently selected, indicated by a checkmark), and Other. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_11fde27c76debb0ef7dbc1bd67858fa6c2cf5c569.png?width=750&format=png&optimize=medium) Preferred Avoid Prefer to self-describe and Prefer to not respond Other"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"type": "guideline",
|
|
83
|
+
"content": "Account for machine learning and AI.\n\nPeople globally identify with many genders and sexualities, so it's important to teach AI exactly that. It wasn’t until June 2018 that the World Health Organization (WHO) declassified being transgender as a mental illness, so even though humans have adjusted this perspective, machine learning and AI can still perpetuate these biases. Don’t use AI or machine learning to guess genders based on image recognition, text analysis, or anything else."
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
"sourceUrl": "https://spectrum.adobe.com/content/language-and-inclusivity/writing-about-people",
|
|
87
|
+
"lastUpdated": "2026-09-04",
|
|
88
|
+
"status": "published",
|
|
89
|
+
"tags": [
|
|
90
|
+
"writing",
|
|
91
|
+
"inclusive design",
|
|
92
|
+
"neutral language",
|
|
93
|
+
"person-first language",
|
|
94
|
+
"identity-first language",
|
|
95
|
+
"avoid stereotypes",
|
|
96
|
+
"self-identification",
|
|
97
|
+
"AI bias"
|
|
98
|
+
]
|
|
99
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/guideline.schema.json",
|
|
3
|
+
"$id": "https://opensource.adobe.com/spectrum-design-data/guidelines/writing-for-errors.json",
|
|
4
|
+
"name": "writing-for-errors",
|
|
5
|
+
"title": "Writing for errors",
|
|
6
|
+
"category": "designing",
|
|
7
|
+
"documentBlocks": [
|
|
8
|
+
{ "type": "purpose", "content": "Writing for errors" },
|
|
9
|
+
{
|
|
10
|
+
"type": "guideline",
|
|
11
|
+
"content": "An error occurs when users expect one thing to happen, but either something else — or nothing — happens. Errors can cause frustration, confusion, a loss of data, or more labor for users. These moments make it harder for people to get things done. At Adobe, the audiences for error messages span a wide variety of people. The language we use can vary depending on the audience and the context. But ultimately, these kinds of messages need to be in service of the end user, regardless of their skill sets or technical familiarity. These messages often bring frustrating news, and can be highly visible and memorable, so they need to be relevant, useful, and clear. We show users error messages to let them know what happened, what the cause of the error was, and what (if anything) they can do to resolve it."
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"type": "guideline",
|
|
15
|
+
"content": "For error scenarios, content and design are inseparable. It’s crucial to know what you need to say (the message), and how you’re going to say it (the design)."
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"type": "guideline",
|
|
19
|
+
"content": "Avoid showing a message whenever possible.\n\nThe best error message is no error happening at all. The message — and the error itself — are disruptive to a user’s experience and can stand in the way of them accomplishing their task. Make sure that the system can anticipate and address errors on the back end before showing an error message on the front end. Find ways to avoid the error altogether, like by using in-line validation, visual cues, and disabled states to guide users. Ensure your design is as inclusive as possible by anticipating and accommodating multiple spellings of words in search queries and results. Image: Key example of a correct way to avoid showing an error message in an interaction. A text area component, label Description (required), with two buttons in the disabled state, labels Cancel, Submit. (source: https://spectrum.adobe.com/content/media_1e61427ab0002f3e80d26c2e0ac11419704fbec57.png?width=750&format=png&optimize=medium) Use the disabled states of components to communicate that next steps are unavailable unless a user takes an action first. Image: Key example of an unsatisfactory error message design. A text area component, label Description (required), has two buttons in the active state, labels Cancel and Submit. An animation shows a cursor hovering over the text area, not entering any text, and clicking the Submit button. After clicking, a red error icon and a red in-line error message appear, with the message saying Enter your description. (source: https://spectrum.adobe.com/content/media_10ac9c52026aab5dbb320e4e2b9c020ce5bc85123.png?width=750&format=png&optimize=medium) Don't create unnecessary error messages as a workaround to unintuitive design."
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"type": "guideline",
|
|
23
|
+
"content": "Have the system automatically resolve errors.\n\nError messaging should be a last resort. Try whenever possible to design experiences in a way that the UI doesn’t rely on showing error messages or prompting direct user action to resolve an error. For example, if a user were to input “101” when a field can only accept numbers up to 100 (such as showing percentages), automatically revert the entered value to 100. Image: Key example of a design that automatically resolves an error. A user inputs a value of 101 percent into a text field, label Opacity. After the user input, the system automatically changes the value to 100 percent. (source: https://spectrum.adobe.com/content/media_15793c69928d79c629cd0b1aaba24496b0446d332.png?width=750&format=png&optimize=medium) Image: Key example of a design that does not resolve errors on the back end and shows an unnecessary error message. A user inputs a value of 101 percent into a text field, label Opacity. After the user input, the system shows a field error icon and an error message saying Enter a valid percentage. (source: https://spectrum.adobe.com/content/media_1682f75850766460bc478fa21e0520022ec72c8f0.png?width=750&format=png&optimize=medium)"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"type": "guideline",
|
|
27
|
+
"content": "Choose the message first, then the component.\n\nError messages appear in the wrong UI components all too often. A complex message is usually too long and too complicated for a toast, and a short and straightforward message is far too much for an alert dialog. Errors that are lower in signal or consequence shouldn’t warrant a dialog that blocks the entire experience, and errors that are high priority shouldn’t appear in a toast with a timeout of only a few seconds. Write out what the message should say, free of any UI constraints, to understand how you should say it. Then, determine the right component for the message. Learn which component to use, when. Image: Key example of a correct way to choose a proper design component for an error message. An error alert dialog includes an error icon, and contains a high-signal, complex error message. Dialog title, Unable to share. Dialog description, An error occurred while sharing your project. Please verify the email address and try again. One button, label OK. (source: https://spectrum.adobe.com/content/media_14db46b6962d8ca4b7347739733670c7c2eaf446d.png?width=750&format=png&optimize=medium) Image: Key example of an incorrect way to pair a design component with an error message. An error toast includes a message that is too long and high-signal for the component. Toast text, Unable to share. An error occurred while sharing your project. Please verify the email address and try again. (source: https://spectrum.adobe.com/content/media_122449620310426211b0e58d83482205950e4dfda.png?width=750&format=png&optimize=medium)"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"type": "guideline",
|
|
31
|
+
"content": "Regardless of the design component or message length, the most comprehensive error messages include three distinct communication parts: What happened The underlying cause (if possible) How to fix it Not every error message you'll write will follow this framework, but many will. Depending on your audience or the situation, it may not be necessary or relevant to communicate the underlying cause. Image: Diagram illustrating through labels the communication parts of an error message. The text of an error dialog, in 3 distinct communication parts. First part, the title, what happened. Text, Your file could not be saved. Second part, the underlying cause, first sentence of the dialog description. Text, There was an error in connecting to the server, so this file was not saved to your cloud documents. Third part, how to fix it or become unblocked, second sentence of the dialog description. Text, Please wait a few seconds and try saving the file again. If the problem continues, let us know. (source: https://spectrum.adobe.com/content/media_1f4851adc9e5f26d3552590fc83cf6adcd5eab90a.png?width=750&format=png&optimize=medium)"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"type": "guideline",
|
|
35
|
+
"content": "What happened.\n\nThis should be the first part of the message, like in a headline (if the UI element allows). Be sure to communicate the general outcome of the error. Use plain language and focus on what it means to the user. Image: Key example of a correct usage. Your files didn’t sync. (source: https://spectrum.adobe.com/content/media_13c953812a0b3a9aa2ebd267bc3109a9951099c76.png?width=750&format=png&optimize=medium) Image: Key example of an incorrect usage. FORBIDDEN This operation has failed to execute. (source: https://spectrum.adobe.com/content/media_171e1d7bb948c9d90dfdd3f6d9ea2aed7ef59bf53.png?width=750&format=png&optimize=medium)"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"type": "guideline",
|
|
39
|
+
"content": "The underlying cause.\n\nIt’s helpful to have an explanation of why something happened, if there’s space to include it. Explaining the cause is optional depending on the context; sometimes this can increase a user’s understanding, but sometimes it gets in the way of useful, usable information. Image: Key example of a correct usage. We're unable to install or update {appName} due to insufficient disk space. (Error code: 189) The installer can't download {appName} because Adobe’s servers aren’t reachable. Check the Adobe status page for an outage and retry the installation later. (Error code: 206) (source: https://spectrum.adobe.com/content/media_1346bfb9352b0bb235d3c474510c36be658c35916.png?width=750&format=png&optimize=medium) Image: Key example of an incorrect usage. We're unable to install or update {appName}. The installer cannot download {appName} because Adobe’s servers aren’t reachable. This may be due to user error, employee error, or something else. Check the Adobe status page for an outage and retry the installation later. (Error code: 206) (source: https://spectrum.adobe.com/content/media_1d8de2015fd403a20b7b6262389e8bac99b420bed.png?width=750&format=png&optimize=medium)"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"type": "guideline",
|
|
43
|
+
"content": "How to fix it.\n\nThis part tells the user what they can do about it. If there’s nothing for them to do, then explain what the product is doing. This should be as simple and actionable as possible. Offer a path forward within the error state itself, such as a “Try again” or “Go back” button, or a step-by-step resolution in the error message text. Linking to a help article can be useful, but only if that article is specific and descriptive to the error’s use case. Try to avoid generic, catch-all resolutions like “Contact your IT administrator for details.” Image: Unlabeled image (source: https://spectrum.adobe.com/content/media_14dff668c4712cec2e9dd021c4c0d16c27db0f8e5.png?width=750&format=png&optimize=medium) Image: Key example of an incorrect usage. Upload your files one more time. (source: https://spectrum.adobe.com/content/media_19b86aa2ae85d836e29ad4a172b58540ade1112a2.png?width=750&format=png&optimize=medium)"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"type": "guideline",
|
|
47
|
+
"content": "Error messaging, like all in-product content, prioritizes the humans that use interfaces over system technicalities."
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"type": "guideline",
|
|
51
|
+
"content": "Center the language around user goals, not system constraints.\n\nSometimes it seems like the best way to resolve an error is to explain the constraints of the system to the user. But, most users don’t care about the constraints of the system — they care about accomplishing their goals. Center the language around what the user is trying to accomplish, why that didn’t happen, and how they might resolve the error. Image: Key example of a correct usage. Accept the End User License Agreement terms. (source: https://spectrum.adobe.com/content/media_1194c219d34db23b7e826eeb5375dd15003f17dcd.png?width=750&format=png&optimize=medium) Image: Key example of an incorrect usage. There was a RAISE without a handler. (source: https://spectrum.adobe.com/content/media_18bba303711ef7520bb47f2d61b5bec940ab75dfe.png?width=750&format=png&optimize=medium)"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"type": "guideline",
|
|
55
|
+
"content": "Use plain language, and avoid jargon.\n\nUsers may not understand server architecture or client-side queries. Know your audience, and write your error messages in plain, usable language so that your user will understand what went wrong and how it’s being resolved. Technical terms are different than jargon. If you’re confident that your audience would be readily familiar with technical terms, and if such terms are relevant to the message, you can include them. Image: Key example of a correct usage. Due to a connection error, some results may be unavailable. (source: https://spectrum.adobe.com/content/media_12f51c5567eb92cbc3d65298e8f70db7b10f55e46.png?width=750&format=png&optimize=medium) Image: Key example of an incorrect usage. Due to a server-side connectivity failure, some results may be unavailable. (source: https://spectrum.adobe.com/content/media_12e5135ff0e69e83869e5cb69fb18f6914f130c9c.png?width=750&format=png&optimize=medium)"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"type": "guideline",
|
|
59
|
+
"content": "Don’t blame the user, even if the error is their fault.\n\nSome errors are outside of a user’s control, but they can happen because of a direct user action. While you want to tell a user what happened, don’t sound accusatory or that you’re blaming them — we want them to feel supported and taken care of in any experience. Image: Key example of a correct usage. Your computer appears to be offline. Connect to the internet and try again. (Error code: 206) (source: https://spectrum.adobe.com/content/media_185cc2d41591a04e2e820643856ff6bccc8c33436.png?width=750&format=png&optimize=medium) Image: Key example of an incorrect usage. You went offline. Connect to the internet and try again. (Error code: 206) (source: https://spectrum.adobe.com/content/media_18689b28dae936d0ddabfd37235a3e6efb168403f.png?width=750&format=png&optimize=medium)"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"type": "guideline",
|
|
63
|
+
"content": "Include error codes only if useful and relevant.\n\nAgain, think about your audience. Include an error code or other technical information if your users would benefit from having it in order to resolve the error. Put error codes at the end of the message so that readers aren’t potentially overwhelmed with information they may not understand at the start. Image: Key example of a correct usage. This profile is currently unavailable. Try reloading the page. (Error code: 10213) (source: https://spectrum.adobe.com/content/media_1efeb1dd17dc343aefc7c5b3ed41bd84aa5d095af.png?width=750&format=png&optimize=medium) This error message shows the error code as a reference for contacting tech support."
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"type": "guideline",
|
|
67
|
+
"content": "Error messages are opportunities to help users confidently move forward. When writing them, think about the most straightforward path to a solution, then clearly describe it."
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"type": "guideline",
|
|
71
|
+
"content": "Use positive framing to keep the focus on what users can do.\n\nWhile a user will want to know what went wrong, be as clear as possible about what they can do to fix the error, or provide them with an alternative workaround. Sometimes it’s simple (“try again in a few minutes”) and sometimes the only solution can be time-intensive or potentially frustrating (“contact your IT administrator”). Avoid putting the focus on the problem, what a user can’t do, or what they did incorrectly. Instead, offer context and help people understand what they can do. Image: Key example of a correct usage. Enter your system administrator password to continue. Check for an OS prompt and follow the instructions. The installer shut down unexpectedly. Please select Retry to restart the process. (Error code: 305) (source: https://spectrum.adobe.com/content/media_114c76fb236ba270f4e05cd2fe5206add7a0ac0e4.png?width=750&format=png&optimize=medium) Image: Key example of an incorrect usage. Enter your system administrator password to continue. The installer shut down unexpectedly. (source: https://spectrum.adobe.com/content/media_10ef359db76235b008fbf15e40252c09ecbf07669.png?width=750&format=png&optimize=medium)"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"type": "guideline",
|
|
75
|
+
"content": "Create error states that are specific to each case whenever possible.\n\nIt may be tempting to write a catch-all error message to accommodate dozens of similar scenarios, but that will tend to be wordier and less concise. When users need to understand multiple causes of the error — and also figure out which one applies in their scenario — that creates a lot of unnecessary cognitive load in an experience. Creating multiple, more specific error messages takes additional effort, but it ultimately creates a better user experience. Having these can also provide clearer insights and analytics that can help identify and resolve common pain points — and show you how to prevent errors from happening in your product in the first place. Image: Key example of a correct usage. Your wifi connection is unstable and affecting download speed. Try switching to an ethernet cable. (source: https://spectrum.adobe.com/content/media_1b322376f77d730247cca8ee098da38582abaa14c.png?width=750&format=png&optimize=medium) Image: Key example of an incorrect usage. There’s an issue wrong with your internet connection. It could be your wifi, router, modem, or ethernet cable. (source: https://spectrum.adobe.com/content/media_1d5417ca0dc7ba9a4c4e19a099d1d5c460a27649e.png?width=750&format=png&optimize=medium)"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"type": "guideline",
|
|
79
|
+
"content": "While the error should be specific, use generic language.\n\nGeneric language allows for better localization, and it also reduces the need to write many different versions of messages for similar use cases. It’s usually unnecessary to include specific filenames, usernames, or folders because a user can get that context from elsewhere in the UI. Image: Key example of a correct usage. Your document could not be saved. Please try again. (source: https://spectrum.adobe.com/content/media_13b3558b2aff04582028409bcf767930ec0709d4d.png?width=750&format=png&optimize=medium) Image: Key example of an incorrect usage. Your document “Final-proposal-May-Monthly-Meeting.indd” could not be saved to the library “May Proposals” (source: https://spectrum.adobe.com/content/media_14f412d6e89149021159b01597be0bf50a8509485.png?width=750&format=png&optimize=medium)"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"type": "guideline",
|
|
83
|
+
"content": "Using voice.\n\nAs with all other in-product writing, error messaging should follow Spectrum’s in-product voice principles: Rational (clear and understandable), Human (friendly, honest, and responsible), and Focused (concise and simple)."
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"type": "guideline",
|
|
87
|
+
"content": "Using tone.\n\nTone is a strategic tool to help a user accomplish goals and more easily relate to a system. Tone changes depending on the audience, context, and severity of an error. Here are a few tones for common error messages: Tone When to use Example Instructive For low-volume, low-consequence errors. When you just want to tell users about an error state. Unable to load this page. Reassuring For minor errors. When you know the user is worried about something, and want them to know there's help available. Our servers timed out and we couldn’t save your file. Please try again, and if the problem persists, contact your IT administrator. Supportive For big errors where something bad has happened. When we want to acknowledge that the user is upset and want to inform, guide, and support them. We’re sorry, but we couldn’t renew your subscription because your credit card has expired. You still have 90 days to recover your files and apps by renewing your subscription with an active card. Contact us if we can help you get set up!"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"type": "guideline",
|
|
91
|
+
"content": "Don’t apologize unless it’s warranted.\n\nApologizing for minor mistakes or when the system is not at fault sounds insincere, and it gets in the way of the important parts of a message. Save “sorry” for serious errors: when there’s data loss or something requires a user to take a major action to resolve the issue. Image: Key example of a correct usage. We couldn’t post your comment. Try again (source: https://spectrum.adobe.com/content/media_1319eac32780e566dc22113dd76637417489ca5f8.png?width=750&format=png&optimize=medium) Image: Key example of an incorrect usage. Oops! So sorry, but we couldn’t post your comment. Try again (source: https://spectrum.adobe.com/content/media_193c73440a77193769e109549cfe9841f62d7cdae.png?width=750&format=png&optimize=medium)"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"type": "guideline",
|
|
95
|
+
"content": "Use passive voice sparingly.\n\nTry to write in active voice, which is quicker and easier to parse. Passive voice is useful to soften a message that might otherwise come across as blunt or terse, especially when the error was caused through user action or inaction. Image: Key example of a correct usage. We couldn’t save your changes. Please try again. Your credit card could not be charged. Please add an active card to continue your subscription. (source: https://spectrum.adobe.com/content/media_14cb517f2d37c5e0ae241d7c3789f0c02817a1730.png?width=750&format=png&optimize=medium) Image: Key example of an incorrect usage. Your changes could not be saved. Please try again. You didn’t add a new card after your current card expired, so if you want to continue your subscription, add it now. (source: https://spectrum.adobe.com/content/media_1fa2c3cdb04cb5051867e25a51720583a774b1cb0.png?width=750&format=png&optimize=medium)"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"type": "guideline",
|
|
99
|
+
"content": "Own mistakes, and help users parse complicated actions with “we” and “you”.\n\nWe typically avoid referring to ourselves — meaning “we,” the interface — in UI copy because it adds unnecessary cognitive load. But, directly referring to the interface as \"we\" and to the user as \"you\" in an error message can be a clear and helpful way to answer the questions \"where did this go wrong?\" and \"who needs to take action to fix it?\" Image: Key example of a correct usage. Something went wrong and we couldn’t generate your report. Please try again in a few minutes. (source: https://spectrum.adobe.com/content/media_1e764f83c532512ea7bf6a5ecfebed18f012af61f.png?width=750&format=png&optimize=medium) Image: Key example of an incorrect usage. Experience Cloud encountered an error and this report couldn’t be generated. The user can try again in a few minutes. (source: https://spectrum.adobe.com/content/media_19094c5873c7fb7bc0c4bb1454ee7bcb34e254234.png?width=750&format=png&optimize=medium)"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"type": "guideline",
|
|
103
|
+
"content": "Choose your component based on your error message — not the other way around. Always have the error message ready before determining how to show it. When you have your error message ready, then consider how it will fit within the interaction design. Think about what user or system action triggers the error, how contextually or spatially relevant it is to where a user is in the UI, and what a user may be doing in the moment before the error would appear. Use this framework when deciding which component to use: Low High Consequence How consequential is the error? Low consequence It’s a simple error that can easily be resolved. High consequence It’s a high-stakes error, potentially destructive, and is a big deal to the user. Complication How complicated is the error? Low complication There’s not much we need to explain to the user beyond how it affects their experience right now. High complication The circumstances or points of failure are long or specific, and the user needs to know about it. Action Can the user do anything to resolve the error? Low action The user can’t do anything, or just needs to “try again.” High action The user needs to actively resolve the error, like change a setting or restart an app. Try keeping to one error message per component, to help users more easily parse the information. For multiple errors that can appear at once, like toasts, these will stack based on timing and severity to let users acknowledge each error individually. Spectrum has several different types of components for showing error messages. Here’s how to choose which would be the best for your use case. Image: Key example of an error alert dialog, including an error icon, showing a suitable error message. Dialog title, Unable to share. Dialog description, An error occurred while sharing your project. Please verify the email address and try again. One button, label OK. (source: https://spectrum.adobe.com/content/media_1463de475bb29f408667e6a85eda1f1de1d047f0a.png?width=750&format=png&optimize=medium)"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"type": "guideline",
|
|
107
|
+
"content": "Alert dialog.\n\nConsequence: High Complication: High Action: High Alert dialogs appear over the interface to show important information that a user needs to acknowledge or make a decision about before moving forward. This is a common error message component for letting someone know about a change or action they took or need to take, but it’s often more disruptive than it needs to be. Use alert dialogs consciously; even if the message is important, they are still highly interruptive to an experience. Alert dialogs are associated with task-level (rather than system-level) errors. Use these for consequential, complicated, timely, actionable errors that block a user from moving forward. Some examples of scenarios where an alert dialog may be appropriate are: A message telling the user that a file can’t be shared because of an invalid email address A user can’t sign on because their account has been compromised A CSV with a list of email addresses for a bulk upload couldn’t be processed because it was formatted incorrectly Image: Key example of a red, negative semantic variant alert banner, showing a suitable error message. Text, connection interrupted. (source: https://spectrum.adobe.com/content/media_1c158cc8845c98f858dead28f9e7c7b93dece71e8.png?width=750&format=png&optimize=medium)"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"type": "guideline",
|
|
111
|
+
"content": "Alert banner.\n\nConsequence: Low Complication: Low Action: High Alert banners show system-level, pressing, and high-signal messages. They’re meant to be noticed and prompt users to take an action. The red (negative) and grey (neutral) semantic variants are both associated with error messages. Use an alert banner for a message that isn’t directly related to an action that a user would have just taken, but is still high-signal and needs attention. It's also ideal for communicating connectivity errors. Image: Two key examples of using help text for error messaging with in-line validation. First example, a required text field in an error state, bordered in red and including a red error icon. Text field label, Credit card number. Error message in red text, Enter your credit card number. Second example, a required text field in an error state, bordered in red and including a red error icon. Text field label, Password. Error message in red text, Create a password with at least 8 characters. (source: https://spectrum.adobe.com/content/media_12da76201fe9cdd163460fb5a91930a95a92f894d.png?width=750&format=png&optimize=medium)"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"type": "guideline",
|
|
115
|
+
"content": "Help text.\n\nConsequence: Low Complication: Low Action: High Help text provides an in-line error message that’s associated with an input, giving more context and guidance to help a user successfully complete an interaction. These kinds of error messages communicate what to input or select, or sometimes how to do it. The message can include information such as hints for what kind of information needs to be input or selected to move forward in a flow, or share specific formatting examples or requirements. Multiple instances of help text showing in-line validation errors can be aggregated into an in-line alert. View the guidelines for writing error messages using help text. Image: Key example of a red, negative semantic variant in-line alert showing a suitable error message. Title, Unable to process payment. Description, There was an error processing your payment. Please check that your credit card information is correct, then try again. (source: https://spectrum.adobe.com/content/media_12788d4422ab1d9b36456574abf80117bd54c208f.png?width=750&format=png&optimize=medium)"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"type": "guideline",
|
|
119
|
+
"content": "In-line alert.\n\nConsequence: Any Complication: High Action: High In-line alerts display a non-modal message associated with objects in a view. These are often used in form validation, providing a place to aggregate feedback related to multiple fields into a single message for higher visibility. The red (negative) and orange (notice) semantic variants are for use with error messages. Use in-line alerts to combine multiple input errors into a single error message, or for cases when a dialog would be too interruptive to an experience but an error message still needs to be shown in order for a user to proceed with a task. Image: Key example of a red, negative semantic variant toast, showing a suitable error message. Text, Unable to delete file. (source: https://spectrum.adobe.com/content/media_12a8a23095f1c806cf0a461becbc1a211ad6cd451.png?width=750&format=png&optimize=medium)"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"type": "guideline",
|
|
123
|
+
"content": "Toast.\n\nConsequence: Low Complication: Low Action: Low Toasts display brief, temporary notifications. They’re noticeable but don’t disrupt the user experience, and they don’t require an action to be taken in response to the message. The red (negative) semantic variant is associated with an error message. Use toasts to communicate error messages that are contextual or triggered by a user action (e.g., moving an item, taking an action on something in a canvas). Whenever possible, include an in-line action on a toast with an error message so that a user can readily address it."
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
"sourceUrl": "https://spectrum.adobe.com/content/writing-for-errors",
|
|
127
|
+
"lastUpdated": "2026-09-04",
|
|
128
|
+
"status": "published",
|
|
129
|
+
"tags": [
|
|
130
|
+
"error messages",
|
|
131
|
+
"error prevention",
|
|
132
|
+
"inline validation",
|
|
133
|
+
"toast",
|
|
134
|
+
"alert dialog",
|
|
135
|
+
"disabled states",
|
|
136
|
+
"anatomy of an error message",
|
|
137
|
+
"underlying cause",
|
|
138
|
+
"automatic input correction"
|
|
139
|
+
]
|
|
140
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/guideline.schema.json",
|
|
3
|
+
"$id": "https://opensource.adobe.com/spectrum-design-data/guidelines/writing-for-onboarding.json",
|
|
4
|
+
"name": "writing-for-onboarding",
|
|
5
|
+
"title": "Writing for onboarding",
|
|
6
|
+
"category": "designing",
|
|
7
|
+
"documentBlocks": [
|
|
8
|
+
{ "type": "purpose", "content": "Writing for onboarding" },
|
|
9
|
+
{
|
|
10
|
+
"type": "guideline",
|
|
11
|
+
"content": "Onboarding is often used interchangeably with “new user experience,” but this term also refers to the process of introducing information for more experienced users about new products, new features, or new elements. Ongoing user education also falls under onboarding, since every time you teach a person something, you’re onboarding them onto that new concept. A product’s overall onboarding strategy becomes increasingly important over time and is the biggest factor in sustaining its growth and retention. When a product first launches, early adopters are more likely to engage with it and are invested in figuring out how it works. But later in that product’s life when other user groups with different motivations are trying it out, onboarding is a crucial way to maintain interest and ensure continued usage. Ultimately, onboarding is how a promised user experience bridges what is actually delivered. Creating valuable onboarding experiences within a product connects to even earlier communication moments about that product, such as marketing material. Writing for these experiences involves thinking systematically across messaging channels, writing content that accounts for levels of experience and goals, and ensuring that the information complexity of the message fits an appropriate design component. The result shows consistent value through \"a-ha\" moments that retain user interest."
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"type": "guideline",
|
|
15
|
+
"content": "Keep these points in mind when planning how to write and design for an onboarding experience:"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"type": "guideline",
|
|
19
|
+
"content": "Reflect what your users already know.\n\nAre your target users beginners? Advanced? What do they want to know? How much information can they handle at once?"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"type": "guideline",
|
|
23
|
+
"content": "Remember why your users are there.\n\nKeep onboarding top-of-mind as part of a user’s broader goals and experience. For example, the journey for someone using Photoshop to design is different than someone using Photoshop for photography."
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"type": "guideline",
|
|
27
|
+
"content": "Sequence topics.\n\nChoose a logical order for the steps that will help a user master the subject. This makes it easier to trim or divide educational content when needed. Also, be sure to mention any prerequisites that people may need to know before they begin."
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"type": "guideline",
|
|
31
|
+
"content": "Focus each tutorial on one tool or technique.\n\nDon’t try to combine too many skills or concepts into a single tutorial. Each tutorial should ideally focus on only one tool or technique. If there are multiple ways to accomplish a task, choose one way to highlight per tutorial."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"type": "guideline",
|
|
35
|
+
"content": "Don’t overload your users with steps.\n\nThe longer a tutorial is, the more likely a user will begin to disengage. Try to keep tutorials and product tours under 10 steps. If more steps are needed, consider splitting the subject matter into separate units."
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"type": "guideline",
|
|
39
|
+
"content": "Set accurate expectations.\n\nUse the first step of a tutorial to clarify what a person will leave knowing how to do, how many steps it will take, how much time it usually takes, the actual output, and so on."
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"type": "guideline",
|
|
43
|
+
"content": "Use lightweight language for learning.\n\nPeople are unlikely to engage with educational topics if they sound stuffy or unappealing. Adobe research has shown that people tend to think of educational content as either only geared toward beginners and/or too “heavy,” requiring a lot of brainpower and investment. Writing in a lightweight way to talk about the activity of learning can help bridge these two and create a more inclusive experience for different levels of expertise with a product. Words and phrases like the following are too heavy: learning, course, class, training, lesson, teaching, instruction, education, homework, exercise Words and phrases like these still accurately portray the content and its intent, but are lighter in tone: tutorial, try it out, explore, practice, do {something}, guided, guidance, session, video, developing skills, going deeper, show how, walk through, grow/develop skills Image: Key example of how to use lightweight language for learning. Title, Try editing your clips. Description, This session shows you how to start editing videos. Button with label, Take in-app tutorial. (source: https://spectrum.adobe.com/content/media_14e452fcbbbd3563b9644c922d19cb2bcbdfcfab1.png?width=750&format=png&optimize=medium) Frame educational content in a lightweight way using language like “try” and “shows you how.” Image: Key example showing how heavy or complex language is not helpful for learning. Title, Learn After Effects with our free course. Description, Take After Effects step by step in our series of short videos. Button with label, Open in browser. (source: https://spectrum.adobe.com/content/media_19c2b3db3fa228d6a97b5c68d1d627e2ff9beeea3.png?width=750&format=png&optimize=medium) Avoid using heavy words such as “course.”"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"type": "guideline",
|
|
47
|
+
"content": "Use jargon with caution.\n\n“Jargon” is words or expressions that specific technical or professional groups use that would be difficult for others to understand. When introducing new words and expressions, it’s important to do so in an inclusive way that makes people feel empowered, not lost. Jargon can be used in a product, but it must be taught judiciously and carefully. Avoid jargon that doesn’t pertain to a product or its industry Jargon is acceptable so long as it’s relevant. For example, a brand-new Photoshop user would likely want to learn jargon common in the photography industry in addition to the names of tools and parts of the app. Don't assume that they already know these things. Avoid buzzwords that a common reader wouldn’t understand, and don’t create new jargon. Use one piece of jargon per sentence It’s sometimes necessary to use jargon to communicate a technical detail. A good way to use technical terms while avoiding a heavy tone is to only use one of those terms per sentence. Explain, then name When you do need to use jargon — for example, “crop tool” (the name of a tool in Photoshop), “aperture” (a photography term), or “Learn” (the name for Adobe’s collection of educational videos and in-app tutorials) — define upon first reference, then give the name. Image: Key example of how to avoid using jargon. Title, Find new ways to hone your skills. Description, Our collection of videos and in-app tutorials, called Learn, is for all experience levels. (source: https://spectrum.adobe.com/content/media_1febbb522d00c09149d6f65af66cf365eb60431fa.png?width=750&format=png&optimize=medium) Define jargon like “Learn,” then explain what it’s called. Image: Key example of how speaking abstractly isn't helpful for encouraging people to learn. Title, Let's develop your skills. Start learning today. Description, Find tutorials for all our apps, track your progress, and revisit completed courses. (source: https://spectrum.adobe.com/content/media_1b128ccf024124644fb0546188ecbe853364747ea.png?width=750&format=png&optimize=medium) Don’t speak abstractly about jargon, especially without explaining why it’s important."
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"type": "guideline",
|
|
51
|
+
"content": "Avoid directly referring to the interface.\n\nUnless it’s absolutely necessary for user comprehension, don’t directly refer to interface elements. Directly referencing the UI is not accessible, and doing so also creates issues for scalability and future-proofing in a product. After all, the UI doesn’t look and act the same to all people. For example, Adobe uses the word “Learn” by itself to refer to a concept, content, and location — not “Learn tab” or “Learn section.” We ensure that our translation team has enough context about what the associated UI element is with the string so that it can be properly translated. We avoid saying things such as: tab, panel, menu, page, section (e.g., Learn tab, Learn panel, Learn menu, Learn page, Learn section) Instead, we use “Learn” by itself as a standalone proper noun: Go to Learn, find it in Learn, Learn has more tutorials Image: Key example of how to avoid directly referring to the interface. Title, Want more tutorials? Description, Find our collection of free tutorials in Learn. Button with label, Go to Learn. (source: https://spectrum.adobe.com/content/media_1d03307c27f2350ded601bab9eab99153ce7e8ac3.png?width=750&format=png&optimize=medium) Use as a standalone proper noun to refer to a UI element, place, and/or collection of content. Image: Key example of directly referring to the interface, which is not accessible. Title, Go to more tutorials. Description, Find our collection of free tutorials in the Learn tab. Button with label, Open Learn tab. (source: https://spectrum.adobe.com/content/media_13eadd7bfe3b5abc07a11de5f89c70505fc3f51ba.png?width=750&format=png&optimize=medium) Don’t refer to UI elements, such as “tab.”"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"type": "guideline",
|
|
55
|
+
"content": "Frame educational content as personalized and specific.\n\nEven if it may not be possible to personalize onboarding, a user still needs to feel like they're being shown content that matches their interests and skills — not a random assortment of topics. Try to feature specific material that would be directly relevant to someone, rather than describing everything available in a collection of educational content. Avoid catch-all words and phrases such as: collection, complete set, playlist, all tutorials Imply personalization with additive language like: this tutorial and others, this and many more videos, this and other subjects, advanced, beginner Image: Key example of how to frame educational content as personalized and specific. Title, Today's practice: titles and graphics. Description, Try this hands-on tutorial and many more in Learn. Button with label, Take in-app tutorial. (source: https://spectrum.adobe.com/content/media_10d4ecab26690ddfeef9bf8460c6e5e772389dcca.png?width=750&format=png&optimize=medium) Highlight relevant content or a unique angle before mentioning there’s more available. Image: Key example of how framing educational content as non-personal and broad is not ideal. Title, Go to more tutorials. Description, Find our collection of free tutorials on the web. Button with label, Open in browser. (source: https://spectrum.adobe.com/content/media_1810cab1ad5fb2495ffa8627c6ec6b8c153ae8ddf.png?width=750&format=png&optimize=medium) Don’t speak generically about collections of assorted content."
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"type": "guideline",
|
|
59
|
+
"content": "Set positive expectations.\n\nUsing a button label of “Open in browser” sets the expectation that linked content will not be shown in the same view, in-app. But, research has shown that going to a browser window from an app — as well as that button label phrasing — is demotivating and reduces engagement. When it’s necessary to send someone away from an app, tell them as much without explicitly talking about the medium of where the content will appear. When someone completes a tour or tutorial, prioritize the next actions that will take them back to the home view to try more tutorials on another subject, or to the next one in the series. Avoid explicit web- or browser-based language such as: open in browser, view on the web, view online Instead, try subtler approaches: go to, play video, check it out, find out more, back to Learn, back to in-app tutorials, all tutorials on {subject} Image: Key example of how to use language to set positive expectations. Title, Looking for more on color? Description, View all color tutorials to keep developing your skills. Button with label, Go to color tutorials. (source: https://spectrum.adobe.com/content/media_1d8939376ce3abc75c2394e2f7aa59eef5d7965e6.png?width=750&format=png&optimize=medium) Use “go to” to imply that a user will be leaving their current experience. Image: Key example of language that sets ambiguous or unpredictable expectations. Title, Learn Photoshop with our free course. Description, Take Photoshop step by step in our series of short videos. Button with label, Open in browser. (source: https://spectrum.adobe.com/content/media_19138757aa0443e0f482229b92d02c38621d4057b.png?width=750&format=png&optimize=medium) Don’t use “open in browser” as a call-to-action."
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"type": "guideline",
|
|
63
|
+
"content": "Prioritize in-app learning.\n\nIf possible, avoid highlighting any experiences in a “home” screen that would take anyone out of the product. Building in-app experiences increases the likelihood that someone will find value and therefore return again and again. Use words that call out an in-app experience such as: in-app, inside the app, in-app tutorial, alongside your work in the app, right here, without leaving the app Image: Key example of how to use language to prioritize in-app learning. Title, Start with the shape tools. Description, This session gives instructions alongside your work in the app. Button with label, Take in-app tutorial. (source: https://spectrum.adobe.com/content/media_126bf69477d555f0df6638883ba768dab4c1ee4d3.png?width=750&format=png&optimize=medium) Emphasize what someone can do without leaving their current experience. Image: Key example of language that doesn't talk about learning something in-app. Title, First up: Using the shape tools. Description, This speedy series teaches you how to use Illustrator. Button with label, Make an icon. (source: https://spectrum.adobe.com/content/media_131da33b9238f97638d8f18f3c20f572698153049.png?width=750&format=png&optimize=medium) Don’t hide the fact that a tutorial is in-app."
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"type": "guideline",
|
|
67
|
+
"content": "There are many ways to match educational messaging to a design that best accounts for information complexity and the experience of learning. Some of these methods are available as Spectrum components."
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"type": "guideline",
|
|
71
|
+
"content": "Banner.\n\nA banner shows a top or highly-ranked suggestion for someone. It includes bounded, actionable content that can be a hybrid of instructional and marketing language. A banner explains why someone should explore the suggested content and what they should expect from it. Use banners to drive people to experiences that correlate to either confirmed or hypothesized “a-ha” moments, or to just generally inform or educate about an onboarding experience. Image: Two examples of banners. Example 1, an illustration of a video player, in editing mode on a video frame of a person on a skateboard, on a purple background with an abstract design. Banner title, Try editing your clips. Description, This session shows you how to start editing videos. Button with label, Take in-app tutorial. Example 2, an illustration of a woman with dark hair wearing a red dress and multicolor flowers on her head, on a yellow background with abstract brushstrokes. Banner title, Introducing Adobe Fresco. Description, The world's largest brush collection that delivers a natural painting and drawing experience. Button with label, Learn more. (source: https://spectrum.adobe.com/content/media_1ee4ef6654684998cf68510cfa766b29d180d4b11.png?width=750&format=png&optimize=medium)"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"type": "guideline",
|
|
75
|
+
"content": "Card.\n\nA card directs people to content experiences which may be related to the current view. It presents onboarding content that is contextual and useful, but may not be as crucial to provoking an “a-ha” moment as what may be shown in a banner. Use cards to promote other beneficial experiences that are lower in hierarchy than banner destinations, or to just generally inform or educate about an onboarding experience. Image: Example of a card for Adobe Illustrator. An illustration of an astronaut in bright colors, with the Illustrator logo. Title, Get started with Illustrator. Description, Learn the basic tools and techniques for using Adobe Illustrator. 10 tutorials. 170 minutes. (source: https://spectrum.adobe.com/content/media_1ccc04d745480caeddfcda703860a84cd5912d5e6.png?width=750&format=png&optimize=medium) Image: Example of a card for a tutorial. An illustration of brightly colored plants and grass. Meta text, How to use. Title, Brush tool. Status, tutorial completed. (source: https://spectrum.adobe.com/content/media_1240990ffe2a4a95007ffb94567ef42b609038bd1.png?width=750&format=png&optimize=medium)"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"type": "guideline",
|
|
79
|
+
"content": "Coach marks are temporary messages that engage users to interact with the UI. They can be chained into a sequence to form a tour or tutorial. Use coach marks to educate about new or unfamiliar experiences that may be unique to the interface, or to guide users to other places in a product. Image: Example of a coach mark with an indicator. Title, Everything's in one spot. Coach mark 1 of 4. Description, In Files, you can view and organize your cloud documents and synced files. Button with label, Next. (source: https://spectrum.adobe.com/content/media_1c909b4fb8042f8612968cdddaecb3686c4258b50.png?width=750&format=png&optimize=medium) Image: Example of a coach mark with an illustration showing an interaction. Title, Pan camera. Coach mark 4 of 8. Description, Switch to the Hand tool then click and drag in the canvas to move your camera up, down, left, and right. Two buttons, Skip tour and Next. (source: https://spectrum.adobe.com/content/media_14c6233dbeeffdf83798ddfd047b4fe4aee5ff002.png?width=750&format=png&optimize=medium)"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"type": "guideline",
|
|
83
|
+
"content": "Empty state.\n\nAn empty state describes what people can do to add things to a view. Someone would see an empty state when they’ve either never added anything to this view, or if they’ve deleted all of what used to be there. Use an empty state to remind users how to add objects or data, and to reinforce or echo one of the more detailed onboarding mechanisms listed here. Image: Key example of an empty state. An illustration of the Adobe Creative Cloud logo connected to icons of tasks and objects such as editing, writing, photos, shapes, and videos. Title, Work smarter with Creative Cloud Libraries. Description, Share, reuse, and manage everything you need for a project. Group together images, colors, fonts, and more. Link, title Learn more about libraries. Two buttons, labels Create new library and Follow public libraries. (source: https://spectrum.adobe.com/content/media_13f615ceecd788e26ed9958a8ff393b69c1bbc8b7.png?width=750&format=png&optimize=medium) Image: Key example of an empty state. An illustration showing the action of dragging and dropping photos, documents, and files. Title, Drag and drop your file. Description, Select a file from your computer or search Adobe stock. In-line links in the description, Select and file and search Adobe Stock. (source: https://spectrum.adobe.com/content/media_161a649d3549d3dec6733493ff40516a6932acc9a.png?width=750&format=png&optimize=medium)"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"type": "guideline",
|
|
87
|
+
"content": "Modal.\n\nThere are two different kinds of modals. An informational modal is a popover window similar to a dialog that contains brief copy and an optional image or two. A rich modal is a popover window that contains a more in-depth content experience, such as an image carousel, video, or GIF. Use an informational model to let people know about a positive, minor change, such as a feature redesign. Use a rich modal to consolidate suggested content into one spot, to help people get to know a subject more deeply, or to show someone why they may want to try any minor benefits that may feel optional to the basic experience or workflow. Image: Example of a modal showing new features in Photoshop CC. Title, What’s new. 6 topics, Overview, Content-aware fill, Symmetry mode, Frame tool, Multiple undo mode, Live blending mode. Call-to-action button, label Next. Selected topic, Content-aware fill. Description, Heal images and adapt content more effectively by changing the source, rotation, scale, and more with the new content-aware fill workspace. (source: https://spectrum.adobe.com/content/media_194c7c6c3c9d799b7ea27b68a8098e76e79a810a6.png?width=750&format=png&optimize=medium)"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"type": "guideline",
|
|
91
|
+
"content": "Tooltip.\n\nA tooltip gives contextual help or information about a specific component on hover or focus. These can be text-only or rich content (accompanied by an animated GIF, related information, and/or calls-to-action to learn more). Use tooltips to encourage discovery and learning through UI interaction. They can also be used as lightweight catch-alls for information when no other onboarding technique may be appropriate for the message. Image: Example of a tooltip. Four icons, a file folder with a plus sign, a cloud with an arrow pointing to it, a bulleted list, and four squares. Tooltip indicating the file folder with a plus sign icon, label Create new folder. (source: https://spectrum.adobe.com/content/media_173a0f92ea8245369d997f8043075ba85dbd3c4b4.png?width=750&format=png&optimize=medium) Image: Example of a tooltip. Four icons, a file folder with a plus sign, a cloud with an arrow pointing to it, a bulleted list, and four squares. Tooltip indicating the bulleted list icon, label List view. (source: https://spectrum.adobe.com/content/media_1e7c5f4021be79cdbed3a929581696d3d70672597.png?width=750&format=png&optimize=medium)"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"type": "guideline",
|
|
95
|
+
"content": "Tour.\n\nA tour is a type of tutorial that introduces the UI. It can take the form of a series of coach marks or a video. Tours differ from other tutorials in that they are specifically used for orienting a user to the interface and helping them understand a basic workflow. Use a tour to show where things are in an experience. Use another onboarding method to show how to do something. Image: Example of a tour showing the parts of a menu and how to navigate it in an app. 3 sections, Main section, 2 items, Home, Apps. 2nd section, label Storage, 2 items, Document Cloud, Creative Cloud. 3rd section, label Shared, 3 items, Send and Track, Reviews, Signatures. Coach mark with indicator showing the Apps menu item. Title, Apps. Step 2 of 6 in tour. Description, Browse the Apps page to download or learn more about the apps in your Creative Cloud plan. Two buttons, labels Skip tour, Next. (source: https://spectrum.adobe.com/content/media_163a43661be0d772b8bfb17020f886bfee5817fc4.png?width=750&format=png&optimize=medium)"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"type": "guideline",
|
|
99
|
+
"content": "Triggered element.\n\nA triggered element is content that surfaces in response to an action. This usually takes the form of a toast or other dismissible pop-up, but it needs to explain where the content can be found again once dismissed. Use triggered elements to respond to repeated actions or activity such as frequent (or infrequent) usage of a feature. Image: Example of a neutral toast acting as a triggered element. Text, Saved to Tips Guide. Actions, View, close. (source: https://spectrum.adobe.com/content/media_1035962ec619cfef5266a650474eab047506fa73c.png?width=750&format=png&optimize=medium) Image: Example of a confirmation toast acting as a triggered element. Text, Copied to clipboard. Action, close. (source: https://spectrum.adobe.com/content/media_11ef1ba936efc26bc51e9a30a465f1603c702eb96.png?width=750&format=png&optimize=medium)"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"type": "guideline",
|
|
103
|
+
"content": "Tutorial.\n\nA tutorial provides practical information about a specific subject, tool, or technique. It builds on other onboarding experiences through written or video instructions. Use tutorials to help people reach a specific outcome after they’ve become familiar with where things are in a product. Image: Example of a tutorial for Adobe Photoshop. Title, Get started with Photoshop. 10 chapters. Get to know Photoshop, 21 minutes. Change the image size, 17 minutes. Work with layers, 20 minutes. Adjust the image quality, 16 minutes. Make selections, 14 minutes. Retouch images, 10 minutes. Use color, 10 minutes. Add text and shapes, 17 minutes. Combine images, 15 minutes. Apply filters, 7 minutes. Selected chapter, Get to know Photoshop. First step, an image of a bright red ladybug sitting on a flower. Title, 1. Open images. Description, Open images and create new images. (source: https://spectrum.adobe.com/content/media_1f6ae2a6a782798a07793b62bef1d4bf96ec37f7a.png?width=750&format=png&optimize=medium)"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"type": "guideline",
|
|
107
|
+
"content": "Video demo.\n\nA video demo shows a person completing a task. Use video demos to inspire people by portraying the experience of a workflow or product. Image: Example of a video demo for Lightroom mobile. Video player with Play button on a frame of a person in a forest touching a plant. Information about the demo, Category, Photography. Other platforms, Lighroom desktop. Information, Languages: Deutsch and 8 more. Title, Overview and key features. Description, Lightroom on mobile lets you craft and share pro-quality images from your smartphone or tablet using simple yet powerful tools built with Adobe Photoshop technology. Perfect your shots in a tap with more than 40 presets. Experiment with color, adjust clarity, and add vignettes. You can even connect to other Adobe apps like Photoshop Fix to retouch and refine your work. Link, Learn more. (source: https://spectrum.adobe.com/content/media_1063626fabfede1034ea750e61f5083249f7f902e.png?width=750&format=png&optimize=medium)"
|
|
108
|
+
}
|
|
109
|
+
],
|
|
110
|
+
"sourceUrl": "https://spectrum.adobe.com/content/writing-for-onboarding",
|
|
111
|
+
"lastUpdated": "2026-09-04",
|
|
112
|
+
"status": "published",
|
|
113
|
+
"tags": [
|
|
114
|
+
"onboarding",
|
|
115
|
+
"new user experience",
|
|
116
|
+
"in-app learning",
|
|
117
|
+
"first mile",
|
|
118
|
+
"Adobe Creative Cloud",
|
|
119
|
+
"Learn framework",
|
|
120
|
+
"user goals",
|
|
121
|
+
"tutorials"
|
|
122
|
+
]
|
|
123
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/guideline.schema.json",
|
|
3
|
+
"$id": "https://opensource.adobe.com/spectrum-design-data/guidelines/writing-for-readability.json",
|
|
4
|
+
"name": "writing-for-readability",
|
|
5
|
+
"title": "Writing for readability",
|
|
6
|
+
"category": "designing",
|
|
7
|
+
"documentBlocks": [
|
|
8
|
+
{ "type": "purpose", "content": "Writing for readability" },
|
|
9
|
+
{
|
|
10
|
+
"type": "guideline",
|
|
11
|
+
"content": "Writing for a 6th-grade reading level on the Flesch-Kincaid readability scale includes more people, not just those with disabilities that affect comprehension. Write with short sentences. Avoid adverbs and adjectives. Use simple verb tenses (past, present, future) and active voice. The Hemingway app is a useful tool for checking readability; Adobe Design’s Content Strategy team also uses Readable. Preferred Avoid Why We exported the file. Now you can open it in Illustrator. This file has been exported successfully to be opened in one of our other awesome products, Adobe Illustrator. Sentence length: 2 sentences at 4 and 7 words vs. 1 sentence at 18 words. “Exported” is simple past tense. “Has been exported” is past perfect tense. “Can open” is active voice. “To be opened” is passive voice. “Successfully” is an unnecessary adverb. “Awesome” is an unnecessary adjective. Flesch-Kincaid grade level: 4.8 vs. 13.1 (Readability scores from Readable) People using screen readers can hear 25 syllables per second, while folks at a 6th-grade reading level can read 3 words per second. Use this to estimate the amount of time it would take someone to read a piece of text."
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"type": "guideline",
|
|
15
|
+
"content": "Choose words consciously.\n\nMost common nouns and actions have synonyms that can add unnecessary complexity. Use words that would be at a 6th-grade reading level. Image: An example showing the correct usage. Help. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_1844b8b156b2f87131aae2d756bceb3ffe1cf0837.png?width=750&format=png&optimize=medium) Image: An example showing the incorrect usage. Assist. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_16067fca3f35f7faad8d77ba7015cfde586c2a7fc.png?width=750&format=png&optimize=medium) Preferred Avoid Buy Purchase Help Assist About Approximately Like Such as"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"type": "guideline",
|
|
19
|
+
"content": "Imagine that you are having a friendly conversation with your audience to provide them with helpful information. Using jargon, internal-only, or corporate language in UX writing assumes that people outside of an organization know what it means — even when people internally may not even know what it means. Avoid internal language and jargon. If you have to use it, explain the point in clear language and provide in-line context on first reference. Avoid idioms, especially those with roots intended to belittle non-native English speakers, such as “long time no see.” Don’t rely on symbols or emoji since these rely on cultural references, making them inherently exclusive. Emoji also don’t translate well, so avoiding them will save you time and effort in having to write separate strings for localization."
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"type": "guideline",
|
|
23
|
+
"content": "Avoid internal jargon without explaining what it means.\n\nPut yourself in the mindset of someone who's new to our products, and new to the industry where our products are used. Do they understand the jargon we use every day? Are we giving enough context for them to understand? Image: An example showing the correct usage. Please accept the Terms of Service before continuing. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_1af0b6d0d56faae5d7362957f0a00ef3c496364fe.png?width=750&format=png&optimize=medium) Image: An example showing the incorrect usage. There was a RAISE without a handler. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_184c1f97b56242ff6177372a5393d55756084dc77.png?width=750&format=png&optimize=medium) Preferred Avoid Creative Cloud Files CC Files XD cloud documents, a new way to collaborate on any device Introducing XD cloud docs! Please accept the Terms of Service before continuing. There was a RAISE without a handler."
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"type": "guideline",
|
|
27
|
+
"content": "Avoid colloquial language and slang.\n\nSlang and colloquialisms don’t make sense to all generations. Avoid ageism by using plain, clear language. Image: An example showing the correct usage. Learn more. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_11fde3bc1f3c1c5efff6dc951b5f248247ccd60de.png?width=750&format=png&optimize=medium) Image: An example showing the incorrect usage. Get the deetz. (source: https://spectrum.adobe.com/content/language-and-inclusivity/media_1d554b7ba72764b3114ab6b0e3007bf466ae485ca.png?width=750&format=png&optimize=medium) Preferred Avoid Select any that apply Choose whatever blows your hair back Agree to terms and conditions It be like that sometimes Learn more Get the deetz"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"type": "guideline",
|
|
31
|
+
"content": "Keep the following in mind when you’re writing, to help the greatest number of people understand what you write."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"type": "guideline",
|
|
35
|
+
"content": "Layout.\n\nLeft-align running text (this will be mirrored along with the UI for right-to-left languages). Full justification of text creates text rivers, or alignment of spaces that creates running gaps through the text. This makes text especially difficult for readers with dyslexia. Avoid switching alignments in a single view. Have line lengths at a maximum of 50-75 characters. Use one column per page."
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"type": "guideline",
|
|
39
|
+
"content": "Grammar and mechanics.\n\nUse sentence case. Sentence case is easier to read and is more natural and approachable. Never use all caps except for an acronym. Use camel case for hashtags to help screen readers parse the words correctly (e.g., “#CamelCase”)."
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"type": "guideline",
|
|
43
|
+
"content": "Interactions.\n\nAvoid “clear” and ”reset” actions on forms. Someone could select these by accident and erase a lot of painstaking work. Let people save forms so that they can leave and come back. Provide keywords before or inside links."
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"type": "guideline",
|
|
47
|
+
"content": "Localization.\n\nExplain branded or technical terms before using them. When using an uncommon abbreviation or acronym, write out the full term on first use and follow it with the shortened version in parentheses. You can also use <abbr> or <acronym> in HTML. Avoid using homonyms (e.g., “bow before the king” vs. “put a bow on it”), or make their meaning clear via context."
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
"sourceUrl": "https://spectrum.adobe.com/content/language-and-inclusivity/writing-for-readability",
|
|
51
|
+
"lastUpdated": "2026-09-04",
|
|
52
|
+
"status": "published",
|
|
53
|
+
"tags": [
|
|
54
|
+
"writing",
|
|
55
|
+
"readability",
|
|
56
|
+
"plain language",
|
|
57
|
+
"localization",
|
|
58
|
+
"internationalization",
|
|
59
|
+
"UX writing",
|
|
60
|
+
"jargon",
|
|
61
|
+
"passive voice",
|
|
62
|
+
"active voice",
|
|
63
|
+
"dyslexia accessibility",
|
|
64
|
+
"Flesch-Kincaid"
|
|
65
|
+
]
|
|
66
|
+
}
|