@rio-cloud/uikit-mcp 1.1.9 → 1.1.11
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/README.md +2 -1
- package/dist/doc-metadata.json +334 -94
- package/dist/docs/components/accentBar.md +110 -116
- package/dist/docs/components/activity.md +1 -1
- package/dist/docs/components/analyticsAnalysisOverlay.md +630 -0
- package/dist/docs/components/animatedNumber.md +2 -2
- package/dist/docs/components/animatedTextReveal.md +53 -55
- package/dist/docs/components/animations.md +21 -21
- package/dist/docs/components/appHeader.md +27 -38
- package/dist/docs/components/appLayout.md +23 -77
- package/dist/docs/components/appNavigationBar.md +1 -1
- package/dist/docs/components/areaCharts.md +57 -61
- package/dist/docs/components/aspectRatioPlaceholder.md +1 -1
- package/dist/docs/components/assetTree.md +429 -342
- package/dist/docs/components/autosuggests.md +1 -1
- package/dist/docs/components/avatar.md +1 -1
- package/dist/docs/components/banner.md +2 -2
- package/dist/docs/components/barCharts.md +530 -414
- package/dist/docs/components/barList.md +10 -10
- package/dist/docs/components/basicMap.md +104 -39
- package/dist/docs/components/bottomSheet.md +2 -2
- package/dist/docs/components/button.md +8 -2
- package/dist/docs/components/buttonToolbar.md +1 -1
- package/dist/docs/components/calendarStripe.md +59 -63
- package/dist/docs/components/card.md +1 -1
- package/dist/docs/components/carousel.md +1 -1
- package/dist/docs/components/chartColors.md +1 -1
- package/dist/docs/components/chartsGettingStarted.md +1 -1
- package/dist/docs/components/chat.md +2 -2
- package/dist/docs/components/checkbox.md +15 -10
- package/dist/docs/components/circularProgress.md +6 -6
- package/dist/docs/components/clearableInput.md +1 -1
- package/dist/docs/components/collapse.md +2 -2
- package/dist/docs/components/composedCharts.md +63 -51
- package/dist/docs/components/contentLoader.md +1 -1
- package/dist/docs/components/dataTabs.md +33 -33
- package/dist/docs/components/datepickers.md +693 -685
- package/dist/docs/components/dayPicker.md +5624 -0
- package/dist/docs/components/dayPickerCalendar.md +5289 -0
- package/dist/docs/components/dialogs.md +17 -19
- package/dist/docs/components/divider.md +1 -1
- package/dist/docs/components/dropdowns.md +3264 -3276
- package/dist/docs/components/editableContent.md +91 -91
- package/dist/docs/components/expander.md +4 -1
- package/dist/docs/components/fade.md +1 -1
- package/dist/docs/components/fadeExpander.md +1 -1
- package/dist/docs/components/fadeUp.md +32 -36
- package/dist/docs/components/feedback.md +1 -1
- package/dist/docs/components/filePickers.md +1 -1
- package/dist/docs/components/formLabel.md +29 -31
- package/dist/docs/components/groupedItemList.md +3 -7
- package/dist/docs/components/htmlTable.md +5074 -0
- package/dist/docs/components/iconList.md +4 -4
- package/dist/docs/components/imagePreloader.md +1 -1
- package/dist/docs/components/labeledElement.md +1 -1
- package/dist/docs/components/licensePlate.md +1 -1
- package/dist/docs/components/lineCharts.md +172 -170
- package/dist/docs/components/listMenu.md +15 -12
- package/dist/docs/components/loadMore.md +4 -2
- package/dist/docs/components/mainNavigation.md +1 -1
- package/dist/docs/components/mapCircle.md +10 -1
- package/dist/docs/components/mapCluster.md +25 -1
- package/dist/docs/components/mapContext.md +12 -4
- package/dist/docs/components/mapDraggableMarker.md +12 -1
- package/dist/docs/components/mapGettingStarted.md +39 -1
- package/dist/docs/components/mapInfoBubble.md +129 -2
- package/dist/docs/components/mapLayerGroup.md +10 -1
- package/dist/docs/components/mapMarker.md +10 -1
- package/dist/docs/components/mapPolygon.md +288 -85
- package/dist/docs/components/mapRoute.md +262 -172
- package/dist/docs/components/mapSettings.md +28 -1
- package/dist/docs/components/mapUtils.md +1 -1
- package/dist/docs/components/mapViewportHistory.md +287 -0
- package/dist/docs/components/multiselects.md +217 -18
- package/dist/docs/components/noData.md +1 -1
- package/dist/docs/components/notifications.md +2 -2
- package/dist/docs/components/numbercontrol.md +15 -15
- package/dist/docs/components/onboarding.md +1 -1
- package/dist/docs/components/page.md +1 -1
- package/dist/docs/components/pager.md +1 -1
- package/dist/docs/components/pieCharts.md +237 -211
- package/dist/docs/components/popover.md +1 -1
- package/dist/docs/components/position.md +1 -1
- package/dist/docs/components/radialBarCharts.md +446 -398
- package/dist/docs/components/radioCardGroup.md +1 -1
- package/dist/docs/components/radiobutton.md +98 -98
- package/dist/docs/components/releaseNotes.md +1 -1
- package/dist/docs/components/resizer.md +1 -1
- package/dist/docs/components/responsiveColumnStripe.md +1 -1
- package/dist/docs/components/responsiveVideo.md +1 -1
- package/dist/docs/components/rioglyph.md +1 -1
- package/dist/docs/components/rules.md +41 -47
- package/dist/docs/components/saveableInput.md +252 -252
- package/dist/docs/components/selects.md +332 -161
- package/dist/docs/components/sidebar.md +1 -1
- package/dist/docs/components/sliders.md +1 -1
- package/dist/docs/components/smoothScrollbars.md +19 -13
- package/dist/docs/components/spinners.md +1 -1
- package/dist/docs/components/states.md +15 -1
- package/dist/docs/components/statsWidgets.md +1 -1
- package/dist/docs/components/statusBar.md +3 -1
- package/dist/docs/components/stepButton.md +1 -1
- package/dist/docs/components/steppedProgressBars.md +9 -11
- package/dist/docs/components/subNavigation.md +1 -1
- package/dist/docs/components/supportMarker.md +1 -1
- package/dist/docs/components/svgImage.md +1 -1
- package/dist/docs/components/switch.md +5 -1
- package/dist/docs/components/table.md +21361 -0
- package/dist/docs/components/tableControls.md +982 -0
- package/dist/docs/components/tagManager.md +1 -1
- package/dist/docs/components/tags.md +1 -1
- package/dist/docs/components/teaser.md +1 -1
- package/dist/docs/components/textTruncateMiddle.md +1 -1
- package/dist/docs/components/timeline.md +1 -1
- package/dist/docs/components/timepicker.md +3 -1
- package/dist/docs/components/toggleButton.md +3 -1
- package/dist/docs/components/tooltip.md +8 -2
- package/dist/docs/components/tracker.md +1 -1
- package/dist/docs/components/virtualList.md +60 -60
- package/dist/docs/foundations.md +761 -3077
- package/dist/docs/start/changelog.md +73 -3
- package/dist/docs/start/goodtoknow.md +5 -1
- package/dist/docs/start/guidelines/color-combinations.md +5 -1
- package/dist/docs/start/guidelines/custom-css.md +26 -2
- package/dist/docs/start/guidelines/custom-rioglyph.md +20 -2
- package/dist/docs/start/guidelines/formatting.md +2254 -249
- package/dist/docs/start/guidelines/iframe.md +53 -19
- package/dist/docs/start/guidelines/obfuscate-data.md +24 -2
- package/dist/docs/start/guidelines/print-css.md +16 -2
- package/dist/docs/start/guidelines/spinner.md +1 -1
- package/dist/docs/start/guidelines/state-in-url.md +1138 -11
- package/dist/docs/start/guidelines/supported-browsers.md +9 -2
- package/dist/docs/start/guidelines/writing.md +228 -2
- package/dist/docs/start/howto.md +155 -13
- package/dist/docs/start/intro.md +40 -2
- package/dist/docs/start/responsiveness.md +27 -1
- package/dist/docs/templates/ai-assistant.md +311 -0
- package/dist/docs/templates/common-table.md +814 -0
- package/dist/docs/templates/detail-views.md +846 -0
- package/dist/docs/templates/expandable-details.md +214 -0
- package/dist/docs/templates/feature-cards.md +479 -0
- package/dist/docs/templates/form-summary.md +179 -0
- package/dist/docs/templates/form-toggle.md +329 -0
- package/dist/docs/templates/list-blocks.md +872 -0
- package/dist/docs/templates/loading-progress.md +100 -0
- package/dist/docs/templates/options-panel.md +132 -0
- package/dist/docs/templates/panel-variants.md +137 -0
- package/dist/docs/templates/progress-cards.md +541 -0
- package/dist/docs/templates/progress-success.md +125 -0
- package/dist/docs/templates/settings-form.md +401 -0
- package/dist/docs/templates/stats-blocks.md +1245 -0
- package/dist/docs/templates/table-panel.md +310 -0
- package/dist/docs/templates/usage-cards.md +199 -0
- package/dist/docs/utilities/classNames.md +89 -1
- package/dist/docs/utilities/deviceUtils.md +2 -2
- package/dist/docs/utilities/featureToggles.md +182 -2
- package/dist/docs/utilities/fuelTypeUtils.md +27 -29
- package/dist/docs/utilities/getTrackingAttributes.md +322 -0
- package/dist/docs/utilities/routeUtils.md +211 -3
- package/dist/docs/utilities/useAfterMount.md +1 -1
- package/dist/docs/utilities/useAutoAnimate.md +1 -1
- package/dist/docs/utilities/useAverage.md +1 -1
- package/dist/docs/utilities/useClickOutside.md +1 -1
- package/dist/docs/utilities/useClipboard.md +2 -2
- package/dist/docs/utilities/useCookies.md +1 -1
- package/dist/docs/utilities/useCount.md +1 -1
- package/dist/docs/utilities/useDarkMode.md +5 -4
- package/dist/docs/utilities/useDebugInfo.md +3 -3
- package/dist/docs/utilities/useDraggableElement.md +281 -0
- package/dist/docs/utilities/useEffectOnce.md +1 -1
- package/dist/docs/utilities/useElapsedTime.md +1 -1
- package/dist/docs/utilities/useElementSize.md +1 -1
- package/dist/docs/utilities/useEsc.md +1 -1
- package/dist/docs/utilities/useEvent.md +1 -1
- package/dist/docs/utilities/useFocusTrap.md +1 -1
- package/dist/docs/utilities/useFullscreen.md +1 -1
- package/dist/docs/utilities/useHover.md +1 -1
- package/dist/docs/utilities/useIncomingPostMessages.md +1 -1
- package/dist/docs/utilities/useInterval.md +1 -1
- package/dist/docs/utilities/useIsFocusWithin.md +1 -1
- package/dist/docs/utilities/useKey.md +8 -10
- package/dist/docs/utilities/useLocalStorage.md +1 -1
- package/dist/docs/utilities/useLocationSuggestions.md +1 -1
- package/dist/docs/utilities/useMax.md +1 -1
- package/dist/docs/utilities/useMin.md +1 -1
- package/dist/docs/utilities/useMutationObserver.md +1 -1
- package/dist/docs/utilities/useOnScreen.md +1 -1
- package/dist/docs/utilities/useOnlineStatus.md +1 -1
- package/dist/docs/utilities/usePostMessage.md +2 -2
- package/dist/docs/utilities/usePostMessageSender.md +1 -1
- package/dist/docs/utilities/usePrevious.md +110 -2
- package/dist/docs/utilities/useResizeObserver.md +35 -15
- package/dist/docs/utilities/useRioCookieConsent.md +1 -1
- package/dist/docs/utilities/useScrollPosition.md +3 -6
- package/dist/docs/utilities/useSearch.md +1 -3
- package/dist/docs/utilities/useSearchHighlight.md +1 -1
- package/dist/docs/utilities/useSorting.md +370 -239
- package/dist/docs/utilities/useStateWithValidation.md +1 -1
- package/dist/docs/utilities/useSum.md +1 -1
- package/dist/docs/utilities/useTableExport.md +364 -288
- package/dist/docs/utilities/useTableSelection.md +88 -92
- package/dist/docs/utilities/useTimeout.md +1 -1
- package/dist/docs/utilities/useToggle.md +1 -1
- package/dist/docs/utilities/useUrlState.md +1 -1
- package/dist/docs/utilities/useWindowResize.md +1 -1
- package/dist/index.mjs +173 -69
- package/dist/search-synonyms.json +214 -76
- package/dist/version.json +2 -2
- package/package.json +4 -5
- package/dist/docs/components/mapRouteGenerator.md +0 -6
- package/dist/docs/components/tables.md +0 -8
|
@@ -3,8 +3,15 @@
|
|
|
3
3
|
*Category:* Getting started
|
|
4
4
|
*Section:* Guidelines
|
|
5
5
|
*Source:* https://uikit.developers.rio.cloud/#/start/guidelines/supported-browsers
|
|
6
|
-
*Captured:* 2026-
|
|
6
|
+
*Captured:* 2026-04-27T14:57:06.000Z
|
|
7
7
|
|
|
8
8
|
We currently support the following browsers:
|
|
9
9
|
|
|
10
|
-
## Supported Browsers
|
|
10
|
+
## Supported Browsers
|
|
11
|
+
|
|
12
|
+
| Browser | Version | Platform |
|
|
13
|
+
| --- | --- | --- |
|
|
14
|
+
| Mozilla Firefox | >= 140 | Windows / macOS |
|
|
15
|
+
| Google Chrome | last 5 versions | Windows / macOS |
|
|
16
|
+
| Microsoft Edge | last 5 versions | Windows |
|
|
17
|
+
| Apple Safari | last 5 versions | macOS / iOS |
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*Category:* Getting started
|
|
4
4
|
*Section:* Guidelines
|
|
5
5
|
*Source:* https://uikit.developers.rio.cloud/#/start/guidelines/writing
|
|
6
|
-
*Captured:* 2026-
|
|
6
|
+
*Captured:* 2026-04-27T14:57:06.810Z
|
|
7
7
|
|
|
8
8
|
UX writing doesn't receive as much attention as it should. In the past, digital experiences featured words written by different individuals - ranging from designers to engineers — at various times and in diverse styles, all without a centralized guide.
|
|
9
9
|
|
|
@@ -13,6 +13,10 @@ Consequently, the language sometimes proves to be confusing, lacking consistency
|
|
|
13
13
|
|
|
14
14
|
A good understanding of UX writing plays a pivotal role in creating better digital experiences. If the language within your product is intricate, uninspiring, or unfriendly, it’s likely that users will perceive your product in the same way — complex, uninspiring, and unfriendly.
|
|
15
15
|
|
|
16
|
+
Sources:
|
|
17
|
+
|
|
18
|
+
This guide is heavily inspired by the following guides:
|
|
19
|
+
|
|
16
20
|
- Microsoft Writing Style Guide
|
|
17
21
|
- Intuit content design
|
|
18
22
|
- Google’s content design
|
|
@@ -66,14 +70,22 @@ A good understanding of UX writing plays a pivotal role in creating better digit
|
|
|
66
70
|
|
|
67
71
|
## Voice and tone
|
|
68
72
|
|
|
73
|
+
In the same way that products should maintain a consistent look and behavior, they should also maintain a consistent style of communication. Maintain a unified voice while adjusting the tone to suit the specific context of the situation.
|
|
74
|
+
|
|
75
|
+
In general, try to be
|
|
76
|
+
|
|
69
77
|
- Clear and understandable
|
|
70
78
|
- Friendly, honest, and responsible
|
|
71
79
|
- Concise and simple
|
|
72
80
|
|
|
73
81
|
## Write like you speak
|
|
74
82
|
|
|
83
|
+
Write like you speak
|
|
84
|
+
|
|
75
85
|
Read your text aloud. Does it sound like something a real person would say? Be friendly and conversational. No. Robot. Words.
|
|
76
86
|
|
|
87
|
+
Example
|
|
88
|
+
|
|
77
89
|
> You need an ID that looks like this: "someone@example.com"
|
|
78
90
|
|
|
79
91
|
> Invalid ID
|
|
@@ -92,6 +104,8 @@ Read your text aloud. Does it sound like something a real person would say? Be f
|
|
|
92
104
|
|
|
93
105
|
## Project friendliness with contractions
|
|
94
106
|
|
|
107
|
+
Project friendliness with contractions
|
|
108
|
+
|
|
95
109
|
Use contractions: it’s, you’ll, you’re, we’re, let’s To sound more conversational and natural. Use commonly understood contractions to keep sentences from feeling out-of-touch, robotic, or overly formal.
|
|
96
110
|
|
|
97
111
|
However, sometimes "do not" can give more emphasis than "don't” when caution is needed.
|
|
@@ -100,22 +114,32 @@ However, sometimes "do not" can give more emphasis than "don't” when caution i
|
|
|
100
114
|
- Be mindful of how many contractions you use in a sentence. Too many contractions can make things difficult to read.
|
|
101
115
|
- Avoid using contractions when dealing with legal concerns, payment processing, and account security. Casual isn’t always the best style when handling sensitive information.
|
|
102
116
|
|
|
117
|
+
Example
|
|
118
|
+
|
|
103
119
|
> To help you avoid traffic, remember anniversaries, and in general do more, RIO needs to know what you’re interested in, what’s on your calendar, and who you’re doing things with. The business is closed
|
|
104
120
|
|
|
105
121
|
> To help you avoid traffic, remember anniversaries, and in general do more, RIO needs to know what you are interested in, what is on your calendar, and who you are doing things with. The business's closed
|
|
106
122
|
|
|
107
123
|
## Get to the point fast
|
|
108
124
|
|
|
125
|
+
Get to the point fast
|
|
126
|
+
|
|
109
127
|
Lead with what’s most important. Front-load keywords for scanning. Make customer choices and next steps obvious.
|
|
110
128
|
|
|
129
|
+
Example
|
|
130
|
+
|
|
111
131
|
> Save time by creating a document template that includes the styles, formats, and page layouts you use most often. Then use the template whenever you create a new document.
|
|
112
132
|
|
|
113
133
|
> Templates provide a starting point for creating new documents. A template can include the styles, formats, and page layouts you use frequently. Consider creating a template if you often use the same page layout and style for documents.
|
|
114
134
|
|
|
115
135
|
## Be brief
|
|
116
136
|
|
|
137
|
+
Be brief
|
|
138
|
+
|
|
117
139
|
Give customers just enough information to make decisions confidently. Prune every excess word.
|
|
118
140
|
|
|
141
|
+
Example
|
|
142
|
+
|
|
119
143
|
> Create a chart that's just right for your data by using the Recommended Charts command on the Insert tab.
|
|
120
144
|
|
|
121
145
|
> The Recommended Charts command on the Insert tab recommends charts that are likely to represent your data well. Use the command when you want to visually present data, and you're not sure how to do it.
|
|
@@ -126,12 +150,16 @@ Give customers just enough information to make decisions confidently. Prune ever
|
|
|
126
150
|
|
|
127
151
|
## Addressing users clearly
|
|
128
152
|
|
|
153
|
+
Addressing users clearly
|
|
154
|
+
|
|
129
155
|
When addressing the user directly, it's important to use the second person pronouns 'you' or 'your'' rather than 'my' or 'I.' This choice of words, utilizing 'you,' creates trust and mutual understanding, whereas 'my' can potentially cause confusion among our users. I is also helping the user to feel like the UI is talking to them and referring to their actions.
|
|
130
156
|
|
|
131
157
|
Don’t combine first and second person. Avoid mixing 'me' or 'my' with 'you' or 'your.'
|
|
132
158
|
|
|
133
159
|
An exception to this rule are found in agreements or acknowledgments. For example, “I agree to the terms of service.”
|
|
134
160
|
|
|
161
|
+
Example
|
|
162
|
+
|
|
135
163
|
> Profile and settings Lorem ipsum dolor sit amet consectetur adipisicing elit. Aliquam velit commodi sunt nostrum nisi? Voluptas eos dolorum error amet esse. Fugit consequatur obcaecati deleniti! Corrupti praesentium molestiae voluptate a rem.
|
|
136
164
|
|
|
137
165
|
> My profile & settings Lorem ipsum dolor sit amet consectetur adipisicing elit. Aliquam velit commodi sunt nostrum nisi? Voluptas eos dolorum error amet esse. Fugit consequatur obcaecati deleniti! Corrupti praesentium molestiae voluptate a rem.
|
|
@@ -142,6 +170,8 @@ An exception to this rule are found in agreements or acknowledgments. For exampl
|
|
|
142
170
|
|
|
143
171
|
## Active and passive voice
|
|
144
172
|
|
|
173
|
+
Active and passive voice
|
|
174
|
+
|
|
145
175
|
Use active voice in most cases and use passive voice sparingly.
|
|
146
176
|
|
|
147
177
|
- With active voice, sentences are simpler, shorter, clearer, and more conversational.
|
|
@@ -153,6 +183,8 @@ Using present tense and an active voice shortens and simplifies our sentences. P
|
|
|
153
183
|
|
|
154
184
|
One exception is when you want to specifically emphasize the action over the subject. In some cases, this is fine: Your account was flagged by our Abuse team.
|
|
155
185
|
|
|
186
|
+
Example
|
|
187
|
+
|
|
156
188
|
> John Doe resolved your comment Your payment has been declined Something went wrong
|
|
157
189
|
|
|
158
190
|
> Your comment was resolved by John Doe We declined your payment An error happened
|
|
@@ -167,8 +199,12 @@ One exception is when you want to specifically emphasize the action over the sub
|
|
|
167
199
|
|
|
168
200
|
## Focus your message
|
|
169
201
|
|
|
202
|
+
Focus your message
|
|
203
|
+
|
|
170
204
|
Create a hierarchy of information. Lead with the main point or the most important content, in sentences, paragraphs, sections, and pages.
|
|
171
205
|
|
|
206
|
+
Example
|
|
207
|
+
|
|
172
208
|
> To remove a photo from this album, drag it to the trash.
|
|
173
209
|
|
|
174
210
|
> Drag a photo to the trash to remove it from this album.
|
|
@@ -177,6 +213,8 @@ Create a hierarchy of information. Lead with the main point or the most importan
|
|
|
177
213
|
|
|
178
214
|
## Title case vs. sentence case
|
|
179
215
|
|
|
216
|
+
Title case vs. sentence case
|
|
217
|
+
|
|
180
218
|
In most products and websites today, there are two ways to capitalize words:
|
|
181
219
|
|
|
182
220
|
- Title case: Capitalize every word. This Is Title Case.
|
|
@@ -186,8 +224,12 @@ Even though title case looks more formal, serious and provides symmetry especial
|
|
|
186
224
|
|
|
187
225
|
Sentence case on the other hand is much easier to read especially when the text gets long. It is also easier to define and easier to explain to designers and engineers. No rules for what to capitalize and what no. Sentence case also looks more friendly and casual. It feels more natural and approachable.
|
|
188
226
|
|
|
227
|
+
A more detailed comparison between the two cases can be found at: https://www.everyinteraction.com/articles/title-case-vs-sentence-case-in-ui/
|
|
228
|
+
|
|
189
229
|
## Sentence case rules
|
|
190
230
|
|
|
231
|
+
Sentence case rules
|
|
232
|
+
|
|
191
233
|
Use sentence case, even in headings and titles, labels and buttons.
|
|
192
234
|
|
|
193
235
|
Sentence case is friendly. It helps support the approachable RIO style and brand personality. It also makes translation a bit easier.
|
|
@@ -198,6 +240,8 @@ Sentence case improves consistency. In an environment of many independent teams,
|
|
|
198
240
|
|
|
199
241
|
Proper nouns, Products, and branded terms may also be capitalized.
|
|
200
242
|
|
|
243
|
+
Example
|
|
244
|
+
|
|
201
245
|
> Create new partner Company name of the partner Cancel Add partner
|
|
202
246
|
|
|
203
247
|
> Create New Partner Company Name of the Partner Cancel Add Partner
|
|
@@ -208,8 +252,12 @@ Proper nouns, Products, and branded terms may also be capitalized.
|
|
|
208
252
|
|
|
209
253
|
## When in doubt, don’t capitalize
|
|
210
254
|
|
|
255
|
+
When in doubt, don’t capitalize
|
|
256
|
+
|
|
211
257
|
Default to sentence-style capitalization. Capitalize only the first word of a heading or phrase and any proper nouns or names. Never Use Title Capitalization (Like This).
|
|
212
258
|
|
|
259
|
+
Example
|
|
260
|
+
|
|
213
261
|
> Find a RIO partner New RIO customer Limited-time offer Join us online
|
|
214
262
|
|
|
215
263
|
> Find a RIO Partner New RIO Customer Limited-Time Offer Join Us Online
|
|
@@ -232,6 +280,8 @@ In contrast, examples of common nouns include:
|
|
|
232
280
|
|
|
233
281
|
## Use ALL CAPS only when you should
|
|
234
282
|
|
|
283
|
+
Use ALL CAPS only when you should
|
|
284
|
+
|
|
235
285
|
Avoid using ALL CAPITAL LETTERS. It’s like screaming, and it may present additional difficulty for reading longer texts. We occasionally display all capital letters in headings on marketing pages, badges (such as NEW, PLUS, or FREE), or navigation labels but of these uses are exceptions.
|
|
236
286
|
|
|
237
287
|
There are capitalization exceptions on some marketing pages. To attract new customers and encourage action, marketers might capitalize the word free or some catch phrases. Research proves that the capitals are effective for conversion, but the promotional tone of the capital letters is out of place in the in-product conversation.
|
|
@@ -240,6 +290,8 @@ There are capitalization exceptions on some marketing pages. To attract new cust
|
|
|
240
290
|
|
|
241
291
|
## Skip periods and unnecessary punctuation (" : ! ?")
|
|
242
292
|
|
|
293
|
+
Skip periods and unnecessary punctuation (" : ! ?")
|
|
294
|
+
|
|
243
295
|
Skip end punctuation on titles, headings, subheads, UI titles, and items in a list that are three or fewer words. Save the periods for paragraphs and body text. This helps readers scan text more easily.
|
|
244
296
|
|
|
245
297
|
- Labels
|
|
@@ -251,26 +303,40 @@ Skip end punctuation on titles, headings, subheads, UI titles, and items in a li
|
|
|
251
303
|
- Long or complex sentences, if it suits the context
|
|
252
304
|
- Any sentence followed by a link. Links themselves should not be full sentences.
|
|
253
305
|
|
|
306
|
+
Example
|
|
307
|
+
|
|
254
308
|
> Move a tile 1. Press and hold the tile.
|
|
255
309
|
|
|
256
310
|
> Move a tile. 1. Press and hold the tile.
|
|
257
311
|
|
|
258
312
|
## Skip colons in headings
|
|
259
313
|
|
|
314
|
+
Skip colons in headings
|
|
315
|
+
|
|
260
316
|
For headings on lists of items, do not use colons. For lists within body text, use a colon.
|
|
261
317
|
|
|
262
318
|
## Use exclamation points sparingly
|
|
263
319
|
|
|
320
|
+
Use exclamation points sparingly
|
|
321
|
+
|
|
264
322
|
Exclamation points can come across as shouting or overly friendly.
|
|
265
323
|
|
|
324
|
+
Example
|
|
325
|
+
|
|
266
326
|
> Congratulations! You created your first connection
|
|
267
327
|
|
|
268
328
|
> No contracts! Save a contract and it’ll appear here
|
|
269
329
|
|
|
330
|
+
Exclamation marks can be used to emphasize celebratory momentsAvoid using exclamation marks for empty states and common tasks. Save it for bigger accomplishments
|
|
331
|
+
|
|
270
332
|
## Remember the last comma
|
|
271
333
|
|
|
334
|
+
Remember the last comma
|
|
335
|
+
|
|
272
336
|
In a list of three or more items, include a comma before the conjunction. Don't use it followed by an ampersand. The comma that comes before the conjunction is known as the Oxford or serial comma.
|
|
273
337
|
|
|
338
|
+
Example
|
|
339
|
+
|
|
274
340
|
> Android, iOS, and Windows
|
|
275
341
|
|
|
276
342
|
> Android, iOS and Windows
|
|
@@ -279,6 +345,8 @@ In a list of three or more items, include a comma before the conjunction. Don't
|
|
|
279
345
|
|
|
280
346
|
## Buttons
|
|
281
347
|
|
|
348
|
+
Buttons
|
|
349
|
+
|
|
282
350
|
Button texts should always include verbs. Keep things clear and concise, and use sentence case. It’s OK to use an ampersand in button text.
|
|
283
351
|
|
|
284
352
|
Pair action verbs with nouns. Is the user saving details, downloading an invoice, or editing an order? Pairing tells the user exactly what will happen.
|
|
@@ -290,6 +358,8 @@ Pair action verbs with nouns. Is the user saving details, downloading an invoice
|
|
|
290
358
|
- Explain what’s going to happen next
|
|
291
359
|
- Be concise
|
|
292
360
|
|
|
361
|
+
Example
|
|
362
|
+
|
|
293
363
|
> Back Remove component Add new vehicle
|
|
294
364
|
|
|
295
365
|
> Back Remove Add New Vehicle
|
|
@@ -298,6 +368,8 @@ Pair action verbs with nouns. Is the user saving details, downloading an invoice
|
|
|
298
368
|
|
|
299
369
|
Ambiguous button labels, such as yes/no, submit/cancel, or abort/continue provide minimal information to the user. This requires the user to read the dialog text in order to complete the task, making them prone to misinterpretation and adding extra effort for users.
|
|
300
370
|
|
|
371
|
+
Example
|
|
372
|
+
|
|
301
373
|
> Edit order? Are you sure you want to edit this existing order? Never mind Edit order
|
|
302
374
|
|
|
303
375
|
> Edit order? Are you sure you want to edit this existing order? Cancel Edit
|
|
@@ -314,10 +386,14 @@ To help users, always use clear words on buttons that tell them exactly what wil
|
|
|
314
386
|
|
|
315
387
|
If you use the same words on the buttons as you do in the title or header, it makes everything easier to understand and encourages users to take the right action. This way, you avoid confusing labels like confirm/cancel. Also, if you use a word like 'keep' on the second button, it makes it really easy for users to not accidentally cancel something.
|
|
316
388
|
|
|
389
|
+
Example
|
|
390
|
+
|
|
317
391
|
> Cancel your order? Keep order Cancel order
|
|
318
392
|
|
|
319
393
|
> Cancel your order? Cancel Confirm
|
|
320
394
|
|
|
395
|
+
Source: https://medium.com/sainsburys-customer-experience/a-quick-guide-to-writing-better-button-labels-69daecff3497
|
|
396
|
+
|
|
321
397
|
**Don’t truncate button text**
|
|
322
398
|
|
|
323
399
|
Avoid truncating button text, as it can confuse users about the buttons intention.
|
|
@@ -326,6 +402,8 @@ Strive for concise button text, and consider using labels if needed.
|
|
|
326
402
|
|
|
327
403
|
If your buttons have longer text that doesn't fit due to limited space, stack them to ensure clarity, especially in narrow containers with multiple buttons.
|
|
328
404
|
|
|
405
|
+
Example
|
|
406
|
+
|
|
329
407
|
> Save & continue Submit application
|
|
330
408
|
|
|
331
409
|
> Save and continue editing Submit application for review
|
|
@@ -336,6 +414,8 @@ If your buttons have longer text that doesn't fit due to limited space, stack th
|
|
|
336
414
|
|
|
337
415
|
## Forms
|
|
338
416
|
|
|
417
|
+
Forms
|
|
418
|
+
|
|
339
419
|
**General form guidelines**
|
|
340
420
|
|
|
341
421
|
Please follow these rules when implementing and designing form in your service
|
|
@@ -358,6 +438,8 @@ Please follow these rules when implementing and designing form in your service
|
|
|
358
438
|
|
|
359
439
|
By using techniques like debouncing, on-blur validation, and friendly error messages, you can provide a balanced and user-friendly validation experience.
|
|
360
440
|
|
|
441
|
+
Example
|
|
442
|
+
|
|
361
443
|
> Name Email address Password Phone number (optional) In case we need to call you for further details
|
|
362
444
|
|
|
363
445
|
> Name* Email address* Password* Phone number
|
|
@@ -372,6 +454,8 @@ When using the * character to mark required fields, please add the explanation f
|
|
|
372
454
|
|
|
373
455
|
## Input placeholder
|
|
374
456
|
|
|
457
|
+
Input placeholder
|
|
458
|
+
|
|
375
459
|
Placeholder text for form inputs generally should not contain a trailing "..." (ellipsis). The purpose of a placeholder is to provide a short hint to the user about what to enter in the field, and adding an ellipsis can create unnecessary visual clutter and may be confusing.
|
|
376
460
|
|
|
377
461
|
**Best practices for placeholder text**
|
|
@@ -390,12 +474,16 @@ Placeholder text for form inputs generally should not contain a trailing "..." (
|
|
|
390
474
|
- "New message"
|
|
391
475
|
- "Enter keywords (e.g., documentation, examples)"
|
|
392
476
|
|
|
477
|
+
Example
|
|
478
|
+
|
|
393
479
|
> Password Your password must include 1 lowercase letter and 1 uppercase letter as well as a special character
|
|
394
480
|
|
|
395
481
|
> Password
|
|
396
482
|
|
|
397
483
|
## Form labels and placeholders
|
|
398
484
|
|
|
485
|
+
Form labels and placeholders
|
|
486
|
+
|
|
399
487
|
When designing forms, it is crucial to use labels and placeholders effectively to ensure a clear and user-friendly experience.
|
|
400
488
|
|
|
401
489
|
**Differentiating labels and placeholders**
|
|
@@ -406,30 +494,46 @@ When designing forms, it is crucial to use labels and placeholders effectively t
|
|
|
406
494
|
- Special cases for placeholders In most cases, search fields can use a placeholder with CTA text instead of a label. This approach simplifies the form and enhances usability. It can also be applied to other input fields where a label would be unnecessary and would complicate the design, such as message inputs, comment sections, and chat windows.
|
|
407
495
|
- Appropriate styling Form labels should not be styled as headlines. Headline styles are generally too prominent and can distract from the form's usability. Labels should be clear and readable, ensuring they complement the form design without overwhelming it. Headlines should be used for an entire form or a form section to provide clear grouping and structure. For more detailed grouping within a form, you may use the <fieldset> element with a <legend> to create a clearly defined section, which helps users understand the organization and purpose of different parts of the form. This approach enhances readability and navigability, making the form more user-friendly.
|
|
408
496
|
|
|
497
|
+
Form labels should not be styled as headlines. Headline styles are generally too prominent and can distract from the form's usability. Labels should be clear and readable, ensuring they complement the form design without overwhelming it.
|
|
498
|
+
|
|
499
|
+
Headlines should be used for an entire form or a form section to provide clear grouping and structure. For more detailed grouping within a form, you may use the <fieldset> element with a <legend> to create a clearly defined section, which helps users understand the organization and purpose of different parts of the form. This approach enhances readability and navigability, making the form more user-friendly.
|
|
500
|
+
|
|
501
|
+
Example
|
|
502
|
+
|
|
409
503
|
> Email* Form section using fieldset Lorem ipsum
|
|
410
504
|
|
|
411
505
|
> Name Email* Search features
|
|
412
506
|
|
|
413
507
|
## Dialogs
|
|
414
508
|
|
|
509
|
+
Dialogs
|
|
510
|
+
|
|
415
511
|
Avoid presenting users with unclear choices. “Cancel” doesn't make sense here because no clear action is proposed.
|
|
416
512
|
|
|
513
|
+
Example
|
|
514
|
+
|
|
417
515
|
> Not part of your order The selected item is not part of you order and cannot be assigned Ok
|
|
418
516
|
|
|
419
517
|
> Not part of your order The selected item is not part of you order and cannot be assigned Cancel Ok
|
|
420
518
|
|
|
421
519
|
## Error states
|
|
422
520
|
|
|
521
|
+
Error states
|
|
522
|
+
|
|
423
523
|
Always use the header and the description of a state when using components like ErrorState, NotFoundState, EmptyState, or any other state.
|
|
424
524
|
|
|
425
525
|
Leaving out the message and using the headline for the user action feels like shouting to the user.
|
|
426
526
|
|
|
527
|
+
Example
|
|
528
|
+
|
|
427
529
|
> You have no vehicle selected Please select a single vehicle from the list of your vehicles on the left hand side of your screen
|
|
428
530
|
|
|
429
531
|
> Please select exactly one vehicle
|
|
430
532
|
|
|
431
533
|
## Notifications
|
|
432
534
|
|
|
535
|
+
Notifications
|
|
536
|
+
|
|
433
537
|
This guide outlines the best practices for crafting notification messages. The aim is to ensure consistency, clarity, and brevity across all notification messages.
|
|
434
538
|
|
|
435
539
|
**General notification guideline**
|
|
@@ -457,6 +561,8 @@ Naming the subject first in notifications is a common and effective best practic
|
|
|
457
561
|
- The file could not be uploaded
|
|
458
562
|
- Your changes could not be saved
|
|
459
563
|
|
|
564
|
+
Example
|
|
565
|
+
|
|
460
566
|
> Your request has been submitted Data load error Something went wrong while loading your data. Please refresh the page. Invalid input Please check your email address and try again Appointment not scheduled There’s a conflict with your calendar. Please choose a different time. New feature: Order tracking You can now easily track your orders directly from your account. Check it out today! Account review completed Your account details are up to date. No further action is required.
|
|
461
567
|
|
|
462
568
|
> Completed successfully The form has been submitted Error JSON parse error: Unexpected token < in JSON at position 0 Invalid Input was incorrect Error The appointment wasn’t scheduled because of a conflict with your calendar. Scheduling failed. We’ve added a new feature that lets you track your orders more easily. Try it out today and see how it can improve your experience! Account info: Your account details were recently reviewed, and everything seems to be in order. There’s nothing you need to do at this time.
|
|
@@ -522,6 +628,8 @@ All success notifications for clipboard actions should follow this structure: "<
|
|
|
522
628
|
- Name copied to clipboard
|
|
523
629
|
- Text copied to clipboard
|
|
524
630
|
|
|
631
|
+
Example
|
|
632
|
+
|
|
525
633
|
> Coordinates copied to clipboard
|
|
526
634
|
|
|
527
635
|
> 48.11293, 11.53486 Copied to clipboard.
|
|
@@ -530,6 +638,8 @@ All success notifications for clipboard actions should follow this structure: "<
|
|
|
530
638
|
|
|
531
639
|
## Errors in general
|
|
532
640
|
|
|
641
|
+
Errors in general
|
|
642
|
+
|
|
533
643
|
Errors can cause frustration, confusion, a loss of data, or more work for the user. These moments make it harder for them to finish their task.
|
|
534
644
|
|
|
535
645
|
No matter the design component or the length of the message, the most thorough error messages consist of three clear communication elements
|
|
@@ -538,40 +648,68 @@ No matter the design component or the length of the message, the most thorough e
|
|
|
538
648
|
- The underlying cause (if possible)
|
|
539
649
|
- How to fix it
|
|
540
650
|
|
|
651
|
+
What happened
|
|
652
|
+
|
|
653
|
+
The underlying cause
|
|
654
|
+
|
|
655
|
+
How to fix it
|
|
656
|
+
|
|
657
|
+
Example
|
|
658
|
+
|
|
659
|
+
Your request could not be savedWhat happenedThere was an error in connecting to the server, so this request was not added to the list of support requests.The underlying causePlease wait a few seconds and try saving the request again. If the problem continues, please let our support team know.How to fix it or to become unblocked
|
|
660
|
+
|
|
541
661
|
## Avoid showing a message whenever possible
|
|
542
662
|
|
|
663
|
+
Avoid showing a message whenever possible
|
|
664
|
+
|
|
543
665
|
The best error message is no error happening at all.
|
|
544
666
|
|
|
545
667
|
Find ways to avoid the error altogether, like by using in-line validation, visual cues, and disabled states to guide users.
|
|
546
668
|
|
|
669
|
+
Example
|
|
670
|
+
|
|
547
671
|
> Description (required) Submit
|
|
548
672
|
|
|
549
673
|
> Description (required) Description required Submit
|
|
550
674
|
|
|
675
|
+
Utilize the "disabled" feature of elements to show that users need to do something before they can move onDon't create unnecessary error messages as a workaround to unintuitive design
|
|
676
|
+
|
|
551
677
|
## Have the system automatically resolve errors
|
|
552
678
|
|
|
679
|
+
Have the system automatically resolve errors
|
|
680
|
+
|
|
553
681
|
Avoid using error messages as the first solution. Instead, design things so that the user interface doesn't need to show errors or ask users to fix problems whenever you can.
|
|
554
682
|
|
|
555
683
|
For instance, if a user types "101" into a field that should only allow numbers up to 100, like percentages, the system should automatically change the value to 100.
|
|
556
684
|
|
|
685
|
+
Example
|
|
686
|
+
|
|
557
687
|
> Input that auto-corrects %
|
|
558
688
|
|
|
559
689
|
> Input that allows invalid data Invalid input. Please enter a maximum of 100% %
|
|
560
690
|
|
|
561
691
|
## Use plain language, and avoid jargon
|
|
562
692
|
|
|
693
|
+
Use plain language, and avoid jargon
|
|
694
|
+
|
|
563
695
|
Your Users 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.
|
|
564
696
|
|
|
565
697
|
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.
|
|
566
698
|
|
|
699
|
+
Example
|
|
700
|
+
|
|
567
701
|
> We had trouble processing your request because the server's pathway to the data was slow. We're working to fix it.
|
|
568
702
|
|
|
569
703
|
> Your request encountered a server-side bottleneck due to inefficient API endpoint routing
|
|
570
704
|
|
|
705
|
+
More information the error message topic can be found here: https://spectrum.adobe.com/page/writing-for-errors
|
|
706
|
+
|
|
571
707
|
## Commonly misspelled or misformatted words
|
|
572
708
|
|
|
573
709
|
## List of commonly misspelled words
|
|
574
710
|
|
|
711
|
+
List of commonly misspelled words
|
|
712
|
+
|
|
575
713
|
There are quite a few words that are commonly written incorrectly or inconsistently in software and UI texts. Here are some frequent ones
|
|
576
714
|
|
|
577
715
|
- Login vs. log in ✅ Correct: Log in (verb) / Login (noun, adjective) ❌ Incorrect: Login to your account (should be Log in to your account)
|
|
@@ -588,48 +726,136 @@ There are quite a few words that are commonly written incorrectly or inconsisten
|
|
|
588
726
|
- 2FA vs. two-factor authentication ✅ Correct: Two-factor authentication (2FA) ❌ Incorrect: 2FA authentication (redundant)
|
|
589
727
|
- Wi-fi vs. wifi vs. WiFi ✅ Correct: Wi-Fi ❌ Incorrect: WiFi (often seen but not the official spelling)
|
|
590
728
|
|
|
729
|
+
Login vs. log in
|
|
730
|
+
|
|
591
731
|
- ✅ Correct: Log in (verb) / Login (noun, adjective)
|
|
592
732
|
- ❌ Incorrect: Login to your account (should be Log in to your account)
|
|
593
733
|
|
|
734
|
+
✅ Correct:
|
|
735
|
+
|
|
736
|
+
❌ Incorrect:
|
|
737
|
+
|
|
738
|
+
Sign up vs. signup
|
|
739
|
+
|
|
594
740
|
- ✅ Correct: Sign up (verb) / Signup (noun, adjective)
|
|
595
741
|
- ❌ Incorrect: Create a sign up (should be Create a signup)
|
|
596
742
|
|
|
743
|
+
✅ Correct:
|
|
744
|
+
|
|
745
|
+
❌ Incorrect:
|
|
746
|
+
|
|
747
|
+
Log out vs. logout
|
|
748
|
+
|
|
597
749
|
- ✅ Correct: Log out (verb) / Logout (noun, adjective)
|
|
598
750
|
- ❌ Incorrect: Please logout (should be Please log out)
|
|
599
751
|
|
|
752
|
+
✅ Correct:
|
|
753
|
+
|
|
754
|
+
❌ Incorrect:
|
|
755
|
+
|
|
756
|
+
Cancel vs. abort
|
|
757
|
+
|
|
600
758
|
- ✅ Preferred: Cancel (stop an action before it completes, more user friendly)
|
|
601
759
|
- ✅ Correct but technical: Abort (To forcefully stop a process. Used in more technical contexts, like system failures - e.g., "Process aborted due to an error")
|
|
602
760
|
- ❌ Incorrect in general UI: Abort (too harsh for standard user actions)
|
|
603
761
|
|
|
762
|
+
✅ Preferred:
|
|
763
|
+
|
|
764
|
+
✅ Correct but technical:
|
|
765
|
+
|
|
766
|
+
❌ Incorrect in general UI:
|
|
767
|
+
|
|
768
|
+
Email vs. e-mail
|
|
769
|
+
|
|
604
770
|
- ✅ Correct: Email (correct and widely used in software, more modern, should be capitalized at the start of a sentence)
|
|
605
771
|
- ✅ Correct within copy: email (standard when it's in the middle of a sentence, as it's a common noun, e.g., "Please enter your email address.")
|
|
606
772
|
- ❌ Incorrect: E-mail (technically correct but outdated)
|
|
607
773
|
|
|
774
|
+
✅ Correct:
|
|
775
|
+
|
|
776
|
+
✅ Correct within copy:
|
|
777
|
+
|
|
778
|
+
❌ Incorrect:
|
|
779
|
+
|
|
780
|
+
Email vs. e-mail in German context 🇩🇪
|
|
781
|
+
|
|
608
782
|
- ✅ Correct in German UI: E-Mail (official and correct)
|
|
609
783
|
- ❌ Incorrect: Email (while gaining popularity, "Email" is still considered incorrect in formal German writing)
|
|
610
784
|
- ❌ Incorrect: email without capitalization in German
|
|
611
785
|
|
|
786
|
+
✅ Correct in German UI:
|
|
787
|
+
|
|
788
|
+
❌ Incorrect:
|
|
789
|
+
|
|
790
|
+
❌ Incorrect:
|
|
791
|
+
|
|
612
792
|
- ✅ Correct: E-Mail-Adresse (official and correct)
|
|
613
793
|
- ❌ Incorrect: Email-Adresse without capitalization in German
|
|
614
794
|
|
|
795
|
+
✅ Correct:
|
|
796
|
+
|
|
797
|
+
❌ Incorrect:
|
|
798
|
+
|
|
799
|
+
Username vs. user name
|
|
800
|
+
|
|
615
801
|
- ✅ Correct: Username
|
|
616
802
|
- ❌ Incorrect: User name (though some older UIs still use this)
|
|
617
803
|
|
|
804
|
+
✅ Correct:
|
|
805
|
+
|
|
806
|
+
❌ Incorrect:
|
|
807
|
+
|
|
618
808
|
- 🟢 Preferred: Last name (even in en-GB UI)
|
|
619
809
|
- ✅ Formal: Surname (less common in UI, more in official documents)
|
|
620
810
|
- ❌ Incorrect: Lastname (should be two words: Last name)
|
|
621
811
|
|
|
812
|
+
🟢 Preferred:
|
|
813
|
+
|
|
814
|
+
✅ Formal:
|
|
815
|
+
|
|
816
|
+
❌ Incorrect:
|
|
817
|
+
|
|
818
|
+
Last name vs. surname in German context 🇩🇪
|
|
819
|
+
|
|
622
820
|
- 🟢 German UI: Nachname
|
|
623
821
|
- ✅ Official forms: Familienname (but avoid in casual UI)
|
|
624
822
|
|
|
823
|
+
🟢 German UI:
|
|
824
|
+
|
|
825
|
+
✅ Official forms:
|
|
826
|
+
|
|
827
|
+
Ok vs. okay
|
|
828
|
+
|
|
625
829
|
- ✅ Correct: OK (most common in UI)
|
|
626
830
|
- ❌ Incorrect: Okay (too informal for UI)
|
|
627
831
|
|
|
832
|
+
✅ Correct:
|
|
833
|
+
|
|
834
|
+
❌ Incorrect:
|
|
835
|
+
|
|
836
|
+
Home page vs. homepage
|
|
837
|
+
|
|
628
838
|
- ✅ Correct: Home page (two words)
|
|
629
839
|
- ❌ Incorrect: Homepage (often used but technically incorrect)
|
|
630
840
|
|
|
841
|
+
✅ Correct:
|
|
842
|
+
|
|
843
|
+
❌ Incorrect:
|
|
844
|
+
|
|
845
|
+
2FA vs. two-factor authentication
|
|
846
|
+
|
|
631
847
|
- ✅ Correct: Two-factor authentication (2FA)
|
|
632
848
|
- ❌ Incorrect: 2FA authentication (redundant)
|
|
633
849
|
|
|
850
|
+
✅ Correct:
|
|
851
|
+
|
|
852
|
+
❌ Incorrect:
|
|
853
|
+
|
|
854
|
+
Wi-fi vs. wifi vs. WiFi
|
|
855
|
+
|
|
634
856
|
- ✅ Correct: Wi-Fi
|
|
635
|
-
- ❌ Incorrect: WiFi (often seen but not the official spelling)
|
|
857
|
+
- ❌ Incorrect: WiFi (often seen but not the official spelling)
|
|
858
|
+
|
|
859
|
+
✅ Correct:
|
|
860
|
+
|
|
861
|
+
❌ Incorrect:
|