…Paved With Good Intentions
Overall, my experience with the USPS web site has been a pleasant one. I recently sold several items on eBay and printed many labels. It saves me a trip the Post Office and for that I’ll suffer through most anything, which is a strange selling point - the in-person experience is so bad yet I still patronize the company. Fortunately they’ve done decent work and their UI gets the job done. It’s as much as I can ask from the government :-)
This one particular interaction always trips me up: When you fill out an email address and click on the “Notify recipient” checkbox, the check mark disappears!

We won’t take too much time to bemoan the inclusion of a group box around a single control ;-)The developer is attempting to solve a problem that doesn’t exist via the use of “helpful” JavaScript.
<input type="text" id="deliveryEmail" onchange="checkEmailAddress('deliveryEmail', 'emailNotification')"/>
The issue is one of placement. If the check box was not next in the component flow, this would work perfectly. Because it is next in line, this is what happens:
- Fill out email.
- Click checkbox.
- Email field loses focus.
- JavaScript checks the checkbox.
- My click unchecks the checkbox.
The more important issue to consider is that this JavaScript is attempting to solve a problem that doesn’t exist, akin to pages that automatically advance the tab order when you’ve completed filling out a field.
Developers are attempting to address the false goal of minimizing clicks. What they fail to understand is that these easy component navigation clicks are invisible to users. They understand that to type or check something you have to click on it. Why break that expectation? I’m typing in one field and without purposefully navigating to another, my focus has changed?
Some people may notice it but I suspect most people are clicking anyway, so they get no benefit. Other people navigating with the keyboard are frustrated because their navigation model is broken.
Don’t pull the rug out from under your users.