I am developing the front-end for a web application that will be the latest product of my company.

There is a part of the application where the user clicks on a button, and a popup window is displayed.

The window has a grid that has selectable rows that make for choices. There are several other fields that are read-only and display data depending on the grid row the user clicks on.

A button, called 'Start' is also there, and can be clicked to take you to a new form. The button must be enabled or disabled, depending on the grid choice ( some choices may not be available ).

I was told to make it so that the first choice is always selected when the popup shows up. I feel like this is wrong, and here is why :

  1. This can be confusing to the user. There is a label that reads 'Select XYZ'. The user is expected to make a selection ( which is the only thing to be done in this pop-up ) and click the Start button. With a pre-selection, this step might be skipped / forgotten, and can lead to the user clicking Start just because the button is enabled and perhaps they forgot they had to change their selection.

  2. This is like writing code so there can be more code to be written. This counter-intuitive feature has to be implemented, and then more code has to be written to prevent further user mistakes. Now stuff such as checking whether the first choice enables the Start button has to be taken care of.

This is my own opinion and I would like to know if I am right or wrong, if the truth is somewhere in between, or if it's just a matter of opinion.

  • 3
    Unless that is the option selected 99% of the time, your thinking is correct. Because this is a point in the form where a person has to make a conscious decision, forcing them to select something, rather than defaulting to a selection makes a lot of sense
    – DA01
    Jan 15, 2014 at 15:54

5 Answers 5


Normally, I would recommend against making a user's choice for them. You run the risk of the user getting into difficulties because of an option they missed.

There are times when it would be a time saver but they are few and far between. If you take the example of a web form that the captures names and addresses of users who mostly come from the same country, it would be acceptable to pre-populate the country name but not to populate the honorific.


I would distinguish two cases:

  1. You require the user to make the choice
    In this case, don't preselect anything. For example, Accept/Decline license radio buttons. It would not make sense to preselect something here.

  2. You don't require the user to make the choice, but a choice must be made
    In this case, preselect the most sensible default. For example, the Image quality option of an image program. This gives the user a value to start from.


I wouldn't say that it's a question of good or bad practice. It's more a business decision than anything. I've had many times where the business decision is to default yes/no questions to yes because they wanted people to opt in and it was up to the user to change it to no if they didn't want to opt in. So this depends on what you are working on, who is making the decisions.

Also, it would depend on what form element(s) you are referring to. Are you talking about a checkbox, a group of radio buttons, a drop down list? If you are talking yes/no, you should be using checkboxes, which obviously default to either yes or no. Otherwise, drop down lists or radio buttons typically have default listitems that are set to 'Please choose...', 'Please select...', or something more specific.

That said, I am a firm believer in always having default values or watermarks. It makes validation so much easier and it's so much cleaner from a UX perspective.

  • In this case, there is only one selection to be made. It is a grid of rows which correspond to choices - think of dropdown box. There are no other elements except for the button and labels. Also, it's not a business decision. Default values can be wrong values.
    – hermann
    Jan 15, 2014 at 16:19
  • Without more background information, it's really hard to give an opinion on your specific example because we don't know the why behind the decision they've made to default to the first selection. Jan 15, 2014 at 16:22
  • This is what I'm saying. There is no reasoning behind this. It's not a marketing trick, not a business decision, not a time-saver. It shouldn't be there in the first place. You can think of it as filling out a tax form. This is an app where in most cases you have to make careful steps and decisions. No shortcuts.
    – hermann
    Jan 15, 2014 at 16:24
  • You said, "I was told to make it so that the first choice is always selected," so I was curious as to what the reasoning was for them telling you that. Are you saying you asked them and they said, "I don't know, just do it."? If so, just do what they want, it's their decision, ultimately. Again, without an image that shows exactly what you are talking about, it's really hard to visualize what's going on from the current description. Jan 15, 2014 at 16:29
  • It was more of a suggestion by the other developer that works on the project. I am only a junior so I tend not to question whatever it is they ask me to do. He basically said 'It would be good if the first choice is selected by default'. But I don't think he put much thought into it.
    – hermann
    Jan 15, 2014 at 16:32

Completely depends on the context and circumstances in my opinion. I've had some fields pre-filled plenty of times online that I found useful but this is only really good usability if a large majority of the intended audience falls into the selection that will be pre-selected.

Perhaps one scenario is a dropdown select for 'country' on a web app that targets 90% UK market for example. Pre-selected for UK would probably be useful.

Interesting to hear further thoughts on this though.


... and then more code has to be written to prevent further user mistakes. Now stuff such as checking whether the first choice enables the Start button has to be taken care of.

If you do decide to pre-select a row

The client code should invoke the same row selection event handler as if the user themselves clicked on the row. You would likely call click() on the row element or whichever subscribes to the click event.

This is important because you do not want to duplicate the event code.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.