Wednesday, June 15, 2011

Dependent Selections in Web Form Design

This morning, after reading that Samuel L. Jackson had narrated "Go the Fuck to Sleep" for, I registered on so that I could download it. While entering additional information about myself, I was presented with the following page:

After entering part of my Canadian address, I reached the State/Province drop-down (HTML Select control):

As you can see, there aren't any Canadian provinces listed. In order to see these, you have to go down several additional controls to the Country drop-down and select Canada:

Having done so, you can go back again to the State/Province drop-down and select from a list of Canadian provinces:

Ultimately, this works reasonably well for Americans, but for those of us in the rest of the world, the form gets in your way. A less technical user might not actually realize how to get the State/Province list to reflect realistic values for their location without trial-and-error. It seems like a bad idea to have one control's values (state/province) dependent on another's (country), while at the same time offering the dependent control first.

There are solutions, although none of them are perfect:
  • You could use ip-based geolocation to try and get a fix on the country of the user who's signing up for the form. This kind of geolocation wouldn't always be right, but it might make sure that the only people who have to deal with the out-of-order controls are those who can't be easily geolocated.
  • You could put the country drop-down before the province/state drop-down. This would be an unusual order for address fields, and therefore might cause some minor confusion, but if you designed your form well, you could compensate for that somewhat.
  • You could use geolocation and a country-first design by asking, up front, "It looks like you're in Canada. Is that right?" and then proceed to tailor the form to the user based on their answer.
  • You could use free-form text for state/province with auto-suggest and guess the country based on the specified state/province.
It would be interesting to catalogue existing solutions to this problem and see what approaches are the most common.

No comments:

Post a Comment