Disabled buttons don’t have to suck
Three alternative solutions other than just disabling buttons
A disabled button is used to visually communicate that the action is unavailable because certain conditions aren’t met. However— when it lacks feedback, context, and guidance— the experience may feel frustrating, confusing, and inaccessible.
“Why can’t I click this?”, “What am I supposed to do?”, “How come it’s not available anymore?.” Let’s look at three alternative solutions that make encounters with disabled buttons less frustrating.
Disclaimer: This article hopes to encourage readers to provide more clarity and context other than just disabling options. Situations may vary and so does the best solution. Use your best judgement 😉
1. Only show what’s actionable
How important is it for the user to access the disabled element now? Do they need to know something is unavailable to them? Does displaying a disabled action provide any value? Will they still be able to fulfill the task without it?
👍 Consider removing options that are unavailable or not applicable. Show actions that are only relevant and useful to the user at a given time.
Examples:
• Page links that can’t be accessed by users with limited access.
• Actions that are available based on the user’s privacy preferences.
• Filters that are not applicable to the selected items.
2. Provide context
Is it evident why the user is blocked from performing an action? Will they figure out what is required to continue?
Text and disabled button
👍 Consider pairing a disabled action with additional information.
Examples:
• A selection is needed to proceed.
• A line item is needed to calculate the cost and show payment options.
• A setting should be enabled to use the feature.
Tooltip
👍 Consider using a tooltip to describe why the action is unavailable.
Examples:
• An action is not available due to a limitation.
• An input is required to access other options.
3. Enable by default, then show error as needed
How likely will users input an incorrect value or submit an incomplete form? Is this the only way we can validate the form?
👍 Sometimes validation can only occur after form submit. This is okay as long as the error is expected to happen very rarely. Make sure to indicate what fields are required and what fields are optional so users have a greater chance of accomplishing the form on their first try.
Example:
• Forms with minimal input fields like login and forgot password page.
Thanks for reading. I’m quite passionate about web accessibility and wrote an article on how to test your designs with a screen reader. I hope to inspire designers to consider accessibility early on in their design process. ✨