Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/guidelines/language/dialogs-and-buttons.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 11
sidebar_position: 10
sidebar_label: Dialogs and buttons
title: Dialogs and buttons
doc-type: 'banner'
Expand Down
2 changes: 1 addition & 1 deletion docs/guidelines/language/formatting/_category_.json
Comment thread
tokyojen marked this conversation as resolved.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"label": "Formatting",
"position": 5
"position": 7
}
2 changes: 1 addition & 1 deletion docs/guidelines/language/frequent-app-functions.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 8
sidebar_position: 9
sidebar_label: Frequent app functions
title: Frequent app functions
doc-type: 'banner'
Expand Down
2 changes: 1 addition & 1 deletion docs/guidelines/language/main-menu-functions.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 7
sidebar_position: 8
sidebar_label: Main menu functions and labels
title: Main menu functions and labels
doc-type: 'banner'
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"label": "Menu functions and UI labels",
"position": 6
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,274 @@
---
sidebar_position: 2
sidebar_label: Logging in and out
title: Logging in and out
doc-type: 'banner'
component-tabs: ['']
no_single_tab: true
description: 'Consistent login/logout text reduces confusion, builds trust, and improves usability across all user interactions. It is also critical for accurate translation and localization for international software.'
---

#

## General rules

Use “log in” and “log out” as the action verbs instead of “sign in” or “sign out” for consistency.

<div className="dos-and-donts" markdown>
<div className="dos" markdown>
- Log out
- Log in to get started
- Log in with Microsoft ID
</div>
<div className="donts" markdown>
- Log off
- Sign out
</div>
</div>

Use “login” and “logout” as the nouns instead of “signoff” or “logoff” for consistency.

<div className="dos-and-donts" markdown>
<div className="dos" markdown>
- Logout
- The login button is located on the top right corner of the screen.
- After logout, you’ll be directed to the homepage.
</div>
<div className="donts" markdown>
- Logoff
</div>
</div>

Use “create account” instead of “register” for consistency and transparency.

<div className="dos-and-donts" markdown>
<div className="dos" markdown>
- Create account
- Register
</div>
<div className="donts" markdown>
- Join
- Enroll
- Sign up
</div>
</div>

Provide feedback and guidance when there are unexpected errors during login.

<div className="dos-and-donts" markdown>
<div className="dos" markdown>
- Unexpected error during login. Open homepage and try again.
</div>
<div className="donts" markdown>
- An unexpected error occurred during login.
</div>
</div>

Provide clear actions when users need to log in again or have been logged out unexpectedly.

<div className="dos-and-donts" markdown>
<div className="dos" markdown>
- Session expired due to inactivity. Log in to continue working.
- Session expired due to inactivity. Log in again to continue working.
</div>
<div className="donts" markdown>
- Your session has expired.
</div>
</div>

Avoid generic “refresh” or “reload” buttons, instead move users forward with concrete actions.

<div className="dos-and-donts" markdown>
<div className="dos" markdown>
- Failed to log in. Check your credentials and try again.
</div>
<div className="donts" markdown>
- Login failed. Refresh page.
</div>
</div>

Avoid using question prompts to make texts leaner and avoid punctuation issues.

<div className="dos-and-donts" markdown>
<div className="dos" markdown>
- Forgot password
- Request new password
- Create account
</div>
<div className="donts" markdown>
- Forgot your password?
- Don’t have an account? Register now
- Already have an account?
</div>
</div>

Clearly explain password policy to avoid frustration or user friction.

<div className="dos-and-donts" markdown>
<div className="dos" markdown>
- Minimum 12 characters<br/>
Minimum 1 uppercase letter (A-Z)<br/>
Minimum 1 number<br/>
Minimum 1 special character (!@#$%^&*)
</div>
<div className="donts" markdown>
- Ensure you meet the password criteria.
</div>
</div>
Comment thread
tokyojen marked this conversation as resolved.

Guide users when they add invalid input to support password creation.

<div className="dos-and-donts" markdown>
<div className="dos" markdown>
- Matches one of your last 3 passwords
- Uses invalid characters
- Missing a lower case letter
- Contains spaces
- Contains your username
</div>
<div className="donts" markdown>
- Wrong password format
- Invalid
- Error
- Try again
- Password error code: 5467
</div>
</div>

Show real-time password strength.

<div className="dos-and-donts" markdown>
<div className="dos" markdown>
- Weak
- Fair
- Strong
- Very strong
</div>
<div className="donts" markdown>
- Not strong enough
</div>
</div>

Avoid using password or password-related jargon or abbreviations.

<div className="dos-and-donts" markdown>
<div className="dos" markdown>
- One-time password
</div>
<div className="donts" markdown>
- OTP
</div>
</div>

Use “change password” instead of “update password” for consistency.

<div className="dos-and-donts" markdown>
<div className="dos" markdown>
- Change password
</div>
<div className="donts" markdown>
- Update password
</div>
</div>

Use “email” or “email address” as both are acceptable.

<div className="dos-and-donts" markdown>
<div className="dos" markdown>
- Enter a valid email.
- Enter a valid email address.
- Enter your email below to receive a password reset link.
- Incorrect email or password. Check your details and try again.
</div>
</div>

Use * consistently to indicate [required fields](../../../components/forms-field/code.mdx#required-indicator) depending on space limitations.

<div className="dos-and-donts" markdown>
<div className="dos" markdown>
- First name*
</div>
</div>

Use “verify” and “verification” when users need to authenticate with their credentials.

<div className="dos-and-donts" markdown>
<div className="dos" markdown>
- Verification code
- Verify your account
</div>
<div className="donts" markdown>
- Validate
- Confirm
- Authenticate
</div>
</div>

Use “first name” and “last name” instead of “surname”, “given name” or “Christian name”.
Comment thread
tokyojen marked this conversation as resolved.

<div className="dos-and-donts" markdown>
<div className="dos" markdown>
- First name / Last name
</div>
<div className="donts" markdown>
- Given name / Surname
</div>
</div>

Use “ZIP code” (US English) instead of “postcode” (UK) as we use the American English variation.
Comment thread
tokyojen marked this conversation as resolved.

<div className="dos-and-donts" markdown>
<div className="dos" markdown>
- Enter ZIP code
</div>
<div className="donts" markdown>
- Enter postcode
</div>
</div>

Use generic password error messages to avoid leaking information.
Comment thread
tokyojen marked this conversation as resolved.

<div className="dos-and-donts" markdown>
<div className="dos" markdown>
- Failed to log in. Incorrect username or password.
- Failed to log in. Incorrect user email or password.
</div>
<div className="donts" markdown>
- 1 number was incorrect on this password. Try again.
</div>
</div>

Use generic password recovery messages to avoid leaking information.

<div className="dos-and-donts" markdown>
<div className="dos" markdown>
- If that email address is in our database, we will send you an email to reset your password.
- If your email address is registered, you’ll receive a password reset email.
</div>
<div className="donts" markdown>
- Account is locked.
</div>
</div>

Use specific authentication terms and use them consistently within workflows to avoid confusion.

<div className="dos-and-donts" markdown>
<div className="dos" markdown>
- Code / Authentication code / Code verified
</div>
<div className="donts" markdown>
- Code / Token / Passcode / Digits
</div>
</div>

## Dos and Don’ts

* Do explain compliance requirements when applicable, e.g. “Required by company security policy”
* Do use consistent terminology to reduce user friction and frustration
* Do show password policies before users start writing within the UI
* Don’t use questions such as “Forgot your password?”

## Related

* [Onboarding](./onboarding.md)
* [Names and titles](../formatting/names-titles.mdx)
Loading
Loading