In Jakob Nielsen’s recent Alertbox, he talks about how annoying it can be to have to select something (in this case, state) from a dropdown menu while moving through a form. I agree — it forces the user to stop what they are doing and focus on the finicky dropdown menu. Personally, I like to tab through the fields, and, although it is possible to get through the dropdown without picking up the mouse, I often find myself having to do so to correct an error.
I do, however, think that Jake is being short-sighted with his recommendation to offer a text box that asks users to enter the two-digit state code instead. With all the advances we’ve made in AJAXy auto-fill form technology, why not use something similar to the USAIR airport code field generator that I mentioned back in August? There are only so 50 states, so a simple table of all the possible entries would be somewhat easy to build, and this way the user has instant confirmation that they are typing the correct state.
The auto-fill would be even more effective if it provided the entire state name; the one thing Jake fails to mention is the fact that users probably don’t know every state code (if, say, they are mailing something to a friend or family member elsewhere). It would be rather easy for someone to think MA was the state abbreviation for Maine, for example, if they were from New Mexico and didn’t think of Massachusetts (especially with the pathetic state of geography knowledge in this country).