Functionality operated with a single pointer must: Not fire on the down event, fire on the up-event along with a way to abort or undo, reverse the function on the up-event, or completing the function on the down event is essential.
When testing any functionality with a cursor or tap gesture, ensure that at least one of the following criteria is met.
The function must not fire at all on the "down" event. It would fire only when the mouse click is released or a touch is released. This implies that functions like drag and drop, which start on the down event are not considered.
A function begins on the down event but finishes on the up event, there needs to be a way to cancel or undo the function before completion. A drag-and-drop function would fall under this category.
A function that starts on the down event is canceled on the up event.
A function must fire on the down-event, such as when emulating keyboards or keypads. Interacting with most web functions like buttons, links, and form inputs are never cases that must fire on the down event.