Then, I actually did some research.
First, there are instances where reset buttons have a place. From Jakob Nielsen's post Reset and Cancel Buttons (http://www.useit.com/alertbox/20000416.html): Reset can be useful for forms that satisfy both of the following criteria:
- the form is filled-in repeatedly by the same user
- the data to be entered differs significantly from one use of the form to the next
For cancel buttons, my "never ever" opinion was flawed because I refused to see the reset or cancel button from the viewpoint of users unlike myself. I spend a lot of time building these things (as most of you do). I know how forms work. After actually sitting down with users that don't, and people that don't spend that much time online, I found another thing to be true: People are afraid that form data will be submitted even if you hit the back button. They want the Cancel button to ensure their data won't be collected against their will.
A point the article makes but then ignores is the button's layout & design. Layout for these buttons is key. If they have to be used, they shouldn't inputs or buttons. I've found that the best design for these is a plain text Reset or Cancel link that's opposite the Submit or Next button. An alert is also key. Using one can instill confidence, assuring the user that their information will be cleared and not submitted.
However, there are a number of reasons these buttons could fade out of use, not limited to the following:
- Users are becoming more familiar with the way the web works. They understand that form data isn't submitted until a submit button is clicked. Because of this, forms are generally a trusted interactive element.
- With the widespread use of AJAX, it's only a matter of time before form data is collected in the user session before a submit button is clicked. It's already being used in some places to track successful conversions & Lead Dropouts (Sitecore OMS is one). If this becomes common, forms will revert to being less trusted. Reset and Cancel buttons won't fix this, though.
The rule I follow is much the same as it's always been: Don't use Cancel or Reset buttons. Though now, I understand the exceptions and plan accordingly. Think about the target audience for each specific form and include the appropriate functionality.