|
Last week I read a post by designer and frontend dev, Theodore Soti: Stop clearing forms with JavaScript.
The browser already knows how.
I still see a lot of apps using custom code to track inputs and reset state.
But for many forms, you can just use the native reset button.
That reset button restores every field to its initial value.
Text inputs. Checkboxes. Radios. Selects. Textareas.
No event listeners.
No state management. No missed fields and strange edge cases.
It’s native.
It’s instant. And it works everywhere.
I love the spirit of this. Theodore is calling out something real - many solutions are over-engineered. Custom code where native would do. More complexity, more cost. But as much as I’m a fan of using what browsers give you for free, I want to point out that many native HTML elements are terrible UX. For example:
The list is long. Theodore’s
Making users think = bad UX. “But what about something like clearing filters?”This is a good use case. But When a user selects filters and hits submit, the form resets to it’s default state as it was when the page loaded. That means it will reset to the same filters the user already chose - not an empty form. So yes, users want to clear their filters. But In short:
I used to work as a frontend engineer. I hated when designers ignored perfectly good native elements to make me build something custom - to make things look good. So I understand Theodore’s instinct completely. And it’s one I still share. But: Just because it’s native doesn’t mean it guarantees good UX. The lucky thing about the reset button is that the solution is simple: Don’t use one - doesn’t matter if it’s native or not. But unlike If you want to know which elements you can’t just scrap and how to replace them with something better, you might like my course, Form Design Mastery: https://formdesignmastery.com Cheers, |
Join 10,000+ designers, content designers and engineers who get my free weekly newsletter with evidence-based design tips (in 3 minutes or less). Mostly forms UX, but not always.
Last week, someone paid me to review their form flow. One thing they wanted advice about was interruption pages. Coincidentally, the following day the GOV.UK Design System added the interruption page pattern. Interruption pages are designed to pause the user within a journey - usually to warn them about a possible mistake or give them important information before they continue. Here’s an example from the GOV.UK Design System: It has: An h1 heading to ask a simple question A paragraph to...
Last week, Kate Ivey-Williams, the Head of UCD on my programme, asked me: “What do you think your role is as a designer?” I said: “Errr... I design products that are easy to use... errr... I realise that’s a rubbish answer...” Kate saved me: “Don’t worry, I put you on the spot” But even so, as a designer you should be ready to be put on the spot because: If you aren’t able to explain what you do, it’s much harder for your teammates and stakeholders to value what you do. I messaged Kate later...
Last week, I ran a live training on file upload UX. Every day leading up to the event, I was stressed, constantly thinking: “Shall I just purchase one month of Zoom?” Let me explain: I use Circle to run my courses and it comes with something called Live Rooms. It’s like Zoom. But Live Rooms is better than Zoom because: it’s quicker and easier to set up for me it comes with my Circle subscription for free it automatically posts the recording afterward the call it has better UX for my students...