The principle of User Control and Freedom states, “Users often perform actions by mistake. They need a clearly marked “emergency exit” to leave the unwanted action without having to go through an extended process.”
Fortunately, Salesforce already has some built-in mechanisms to support this. One example is how they offer Previous and Next buttons in screen flows.
You can also customize these buttons to be more context specific. If the next step in a screen flow processes opportunities, instead of using the standard and generic “Next” label, you can relabel it as “Process Opportunities”. This tells users more details about what will happen next, so they can decide when they are ready to click the button.
Another example is offering the ability to start and cancel an apex job they started. Let’s say you have built a mechanism that creates thousands of .pdf files asynchronously.
The user determines when to initiate this operation by clicking a button called “Create .pdfs”. The screen flow prompts for a confirmation before starting the job. Once started, if the user wants to cancel this asynchronous job, there’s a button called “Cancel Job”, located in the same place they initiated the operation.
The takeaway
Provide users a sense of control by offering options such as back, cancel, close and undo. Label buttons with specific information, so they understand what will happen before they click.