Web forms

Web forms. They are used everywhere.
Yet I have seen so many things done in them, that have made it difficult for even myself (a tech-savvy user, a web developer) to fill in. This should not happen.

Filling in web forms is required for many reasons, yet to many users it’s possibly the most tedious part of the user experience. This is understandable; it requires typing in information, having to find your credit card if you’re making a purchase, remembering your email and phone number, and often making mistakes and having to start over.

In order to not have our users ragequit in the middle of filling out our form, we should at least make it as easy as possible, and not hinder their experience even more.

Here are some things (in no particular order), that I have witnessed happening in web forms, and that I absolutely don’t think you should do. Some are more opinionated, others are common sense.

  • If it takes more than one try to fill out a form (barring typos, etc) you’re doing it wrong.
  • If you’re using custom JavaScript controls that break in certain browsers or make the experience harder rather than easier, you’re doing it wrong. Find another way to present your input field. I would much rather have to type in my birthday than deal with a JavaScript calendar that displays incorrectly and in which I have to manually go back 21 years to find my birth year.
  • If you’re using your own autocompletion script without disabling the browser’s, your punishment should be having to fill out your own form. Seriously, it’s nearly impossible to select something from a JQuery drop-down when your browser’s autocompletion is displayed on top of it. Just disable autocomplete for that input and move on.
  • For most forms, if your form takes more than 2 minutes to fill out (not taking typing speed into account), you’re doing it wrong. If it has to be a long form, please at least consider breaking it in different parts.
  • On the same note, if the form is something that you know takes a long time to fill out (e.g. job application forms with many/long questions) and you expire sessions after 30 minutes (I’ve had this exact thing happen…), your punishment should be having to fill out your own form.
  • If my grandmother can’t figure out your form on the first try, you’re doing it wrong.
  • If your form isn’t usable from a screenreader, your code should be able to take your ability to see away.
  • If your form requires JavaScript, seriously re-think it. JavaScript can be used to make the experience faster and easier to the user, but for the most part your average form should not require it. This is particularly bad if you have the submit button disabled by default with no explanation. Never, ever, do that.
  • If your form loses the filled in data after an error, you should have to fill out your own form 10 times.
  • If your form doesn’t make it clear where the error is, you’re doing it wrong.
  • If your form has required disabled fields that are automatically filled in based on other input… (Yes, I’ve seen forms that do it. It never, ever works well. Ever.)
  • Bear in mind that people on the Internet don’t read. They skim through text. Therefore, if most forms do something one way, you should probably not try to do it the opposite way. What do I mean with this? Today I saw this:

    “Are you under 18? [ ] No [ ] Yes”

    99% of forms I’ve seen usually have “Yes” radio buttons first. I accidentally selected the wrong option in the form I’m talking about, and it actually managed to confuse me. I know this may just be me reading even less than the average user, but i would personally rephrase the question: “Are you over 18? [ ] Yes [ ] No”. This is both closer to what most forms do with age questions (asking that you’re over the required age), and closer to (at least my) expectations of the order of Yes/No buttons.

What do you think? Do you agree with the above, or am I just grumpy and nitpicky?


  1. Yes, I absolutely agree and I never manage to fill in a web form only once! For me the worse that may happen is to do a mistake, not telling you what it is, and make a huge form blank to fill it again!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.