Elements communicate what actions are possible and which are not, reducing misclicks and misuse.
A list of input fields and buttons
DisabledEnabled
Use visual cues to indicate interactive elementsMake clickable and non-clickable elements look the sameShow disabled states for unavailable actionsAllow actions without any visual affordanceUse consistent patterns across the interfaceChange interaction patterns arbitrarily
Clear Input Expectations
The system makes requirements explicit so users know what is expected before acting.
Password strength indicator
Strength
State format and constraints upfrontReveal requirements only after submissionUse labels and helper text togetherRely on placeholder text aloneShow character limits before typingLet users discover limits by trial and error
Constraint-Based Design
The interface prevents errors by limiting what users can do, making invalid actions impossible rather than recoverable.
Date range
Bug report
Current behaviorFonts should be easier to customize.
Expected behaviorActually, there is no way to change the font style of the date range.
Component affected mds-input-date-range
Constrain inputs to valid optionsAllow invalid data and handle it laterGuide users with progressive disclosureOverwhelm users with unrestricted choicesPrevent impossible states by designRely solely on error messages for prevention
Delete your account. This action will permanently delete your account and all your data,
including any content you've created, messages received, and any other data associated
with your account.
Delete
Are you sure you want to delete this item? This action cannot be undone.
Cancel
Confirm deletion
Notifications
Notify me when I receive a direct message
Email messages
Delete your account. This action will permanently delete your account and all your data,
including any content you've created, messages received, and any other data associated
with your account.
Delete
The account has been deleted, you will be logged out of your account.
Thank you for using our service.
Go to homepage
Require confirmation for irreversible actionsExecute destructive actions immediatelyUse clear, specific warning messagesUse vague confirmations like "Are you sure?"Differentiate destructive actions visuallyStyle destructive and safe actions the same
Error-Resistant Flows
User journeys are designed to reduce the likelihood of mistakes, especially in critical paths.
A form with a select field
Certificate found
Mario Rossi3918VW88DX7
Continue
Certificate not found
Please create a new certificate first to continue.
Create new certificate
Break complex tasks into manageable stepsForce users through long, dense formsProvide a final review before commitmentSubmit critical actions without user reviewDesign flows around common user goalsOptimize flows only for edge cases
Real-Time Validation
Errors are caught while the user is acting, not after submission, reducing frustration and rework.
File upload
Validate inputs as users interactShow all errors only after form submissionUse clear, actionable error messagesDisplay generic or technical error textConfirm valid input positivelyOnly communicate when something is wrong
Safe Defaults
The system preselects options that minimize risk and reflect the most common or least harmful choice.
off
on
Medical CertificateArchived3918VW88DX7
Medical Certificate3918VW88DX7
Medical Certificate successfully deleted.
Choose defaults that protect usersPreselect risky or irreversible optionsBase defaults on common user behaviorUse defaults that benefit only the systemAllow users to change defaults easilyHide or lock default choices
Related references and bibliographypotentially outdated
Articles & Posts
Jordan Bowman — How Designers Can Prevent User Errors
The term “user error” implies that it’s the user’s fault when they do something wrong. But in the vast majority of cases, the fault actually rests with the designer for having created an interface that is confusing or makes it too easy for the user to make a mistake. https://www.uxtools.co/blog/how-designers-can-prevent-user-errors
Tubik — Effective Practices on Preventing Errors in User Interfaces
No. 5 of the top 10 UX design heuristics is to prevent interaction problems from occurring in the first place: either eliminate error-prone conditions or check for them and present users with a confirmation dialog. https://www.nngroup.com/videos/usability-heuristic-error-prevention/