User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm working on some forms that I see as complex.

Step 1: 3 radio buttons (a, b, c)
Step 2: 2 radio buttons (yes, no)
Step 3: input fields, amount varies based on the combination of step 1 & step 2 selections. Step 4-6: not required, non-conditional.

If I select "a", "b" or "c" in step 1, and then select "no" in step 2, i don't see step 3.
If i select "a" in step 1 and then select "yes" in step 2, i see 3 input fields in step 3.
If I select "b" in step 1 and then select "yes" in step 2, i see 5 input fields in step 3.
If I select "c" in step 1 and then select "yes" in step 2, i see 1 input field in step 3.

What is best practice for loading conditional inputs on page load? Should the input fields be disabled until the pre-conditions are met? If it's disabled, what does step 3 look like on page load (meaning, what input fields are displayed -- 3, 5, 1)?

share|improve this question

The typical convention is to use progressive disclosure, adding items to the interface as the user provides data. This helps keep the form quite small and non-intimidating.

If you cannot do this, I do not recommend using 'progressive removal', where items are removed, as this can actually be quite jarring. When an item a user hasn't quite parsed is suddenly removed from view, users seemed quite unnerved in tests.

You may also find it helps to make the dependent fields seem 'subordinate' to their controlling fields, using techniques like grouping or indentation to make the dependent objects seem to 'belong' to the controls that manage them. This will help communicate the action of the form.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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