Gradients. Don’t you just love their multi-coloured wowness. And drop shadows – where would we be without them? And forms… yeeaaaaah! Wait, they’re a bit boring, aren’t they?
Whilst designers (sorry, I don’t want to paint everyone with the same brush!) have been doing their darndest to create fancy feature panels, bold backgrounds and tricky transitions; there’s the runt of the litter that seems to always be neglected. The after-thought.
We all hate filling out forms on web pages but they are a necessary evil – conveying information from one party to another for a specific purpose. Therefore, why shouldn’t this part of a web page be given the same treatment, the same amount of time and resources, as any other? Unfortunately, it does seem to be the case that forms are often chucked together (I’m guilty of it too!) with minimal thought but a form is often the best way of communicating with your audience so that makes them pretty important right?
In this article I’m going to share a few tips that may make your web forms easier for your visitors to use.
1. Top-aligned labels
One of the biggest factors contributing towards ‘web form frustration’ is that the user is actually forced to THINK about what they are doing rather than just absorbing information. Looking at something on a web page usually ellicits a response – ‘that looks pretty’, ‘this product looks interesting’, ‘I wonder what this does’ – and the user then CHOOSES an appropriate action – ‘I’m going to click/touch this’, ‘I’m not going to click/touch this’. This is generally a smooth experience that the user feels comfortable with and they continue to browse on their merry way.
With web forms, the user doesn’t have an option other than to fill in the fields laid out in front of them. Therefore, they have to look at something, absorb the information, process what the information is telling them and then figure out for themselves what to do. Obviously, over the years, forms have developed certain conventions which everyone is aware of but that doesn’t mean that there aren’t improvements and efficiencies to be made. One particular step at which these improvements can be made is during the ‘processing’ stage. The clearer and easier you make it for the user to determine what they need to do next, the better the form experience and the less ‘web form frustration’ is felt.
Here we can apply some basic human and typographical conventions. Look around you. Whether it’s a book, road sign, billboard or other assortment of text, it is always easier and quicker to read something ‘long and thin’ than something ‘short and fat’ – where more words are stacked on top of each other than written side-by-side. This is why newspapers have columns – humans are lazy and it is easier to read a little bit across and start a new line than it is to read a big long line before moving to the next one. This same logic can be applied to form elements.
A top-aligned label is easier for the user to process and recognise the associated input field. The focus of the eye naturally starts on the left and the user immediately groups the label and input together before reading and processing what the label actually says. Moving onto the next label and input group is also easier as the user just moves their gaze downwards rather than ‘returning’ from the previous line.

Compare that with a layout where the label is aligned to the left (or even right) of the input field and the user has the extra step of recognising where the associated input is, as they haven’t spotted it yet, as well as encountering the ‘returning’ issue when they move on.

Try filling out a form with top-aligned labels and one with left-aligned labels – the top-aligned form just seems to flow better.
Top-aligned labels are also a lot better suited to handheld devices. With limited horizontal screen space, top-aligned labels are an absolute must when using forms on a mobile device as making your users scroll horizonatally is a cardinal sin.
One slight cost of having top-aligned labels is that the length of the web page will, inevitably, be longer than if using left-aligned labels. However, as we’ve discussed, the user will find ‘long and thin’ easier to process anyway so this is a sacrifice worth making.
2. Use the same form for the password reminder
The thing that maxes out ‘web page frustration’ is not having the information required to complete an input. One such case is forgetting your password. We’ve all done it and sometimes it’s a very laborious process trying to recover it.
Commonly, the password reminder process is triggered by clicking a link near to the password box. This is simple enough and works well. Often, however, this link will take you, the user, to a different page entirely where you have to process some more information before finally getting to the point where you get your password back. Sometimes a modal window is used, which is a better solution than sending the user off to another page, but it is still fairly intrusive. Why not switch a few things around, show a message and use the same form? The following example shows how the ‘forgot password?’ link fires a transition from the login form to the reminder form. It’s clear that this is a different form but it’s taken a tenth of the time it would (and looks a lot nicer!) than sending a user off to a different page.
Checkout this awesome password reminder example…
The wonderful Codrops have also produced a good example of this technique.
3. ‘Review and check’ email address inputs
One of the things I find most baffling about web forms is that the user is asked to repeat information they have already entered. There are two very common examples of this – email address and password fields. Firstly, the email address input. How many of you just copy and paste what you typed in the first box into the second box? Come on, hands up. Everyone does it including the person who built the form so what is the purpose of typing the same information twice? The answer is to ensure that the email address entered was indeed correct as this is obviously the best (and often only) way of communicating with the user. This is perfectly understandable and a hugely important check to make but why does the user have to repeat what they’ve already written? Why not ask them to review what they wrote previously and confirm it is correct?
This review can very easily be carried out with the use of a checkbox. The user checks the box next to the email address input to confirm they have written their email address correctly. Review and check.

Now, the user could, in theory, just check the box without reviewing what they wrote in the email address field and this could lead to mistakes. But with the duplicate field method, if the user is just copying and pasting anyway then these mistakes will still happen. It’s often argued that you should imagine your mother is using your web page (why is it always mums who are crap at using computers?!) and she should be able to understand and use it but why should all users be treated as the lowest common demoninator? The email field is probably the most important one on the form and the user knows it – it’s been hammered into them through years of repeatedly having to copy it to a second box! – so they WILL take care. The likely result of using the ‘review and check’ method is that there will be the same amount of mistakes made but the experience for the majority of users will be a lot smoother and less painful.
This leads us on nicely to the other repeat offender – the password field.
4. ‘Show password’ button
The password field is a slightly different but equally frustrating case. The user cannot copy and paste their entry from the first box to the second so the ‘auto-pilot’ mistakes won’t happen but, unlike the email address field, the user cannot actually see what they’ve typed. Therefore, if a failure happens there is no choice open to the user but to completely start over and fill out BOTH boxes again. So by typing one character incorrectly, the user has to fill out, essentially, the same input field FOUR times! Madness.
Now, obviously, the password field has certain security considerations surrounding it so, whilst it isn’t quite as simple as having a checkbox for the user to tick, a similar solution can be implemented to streamline the user experience.
Through the use of a nifty jQuery plugin*, we can insert a hidden duplicate input field with an accompanying button or checkbox which, when clicked, will ‘swap’ the password input for a regular input showing the password text (it hides one and shows the other depending on the state of the button). This means that the user can check their password and make sure it is correct before they submit the form.


There are a couple of obvious pitfalls with this method however meaning some refining is needed. Showing your password on screen isn’t advisable but how often do you type in important passwords with someone looking over your shoulder? This is a minor issue but a much larger one is using this method on a sign-up form. If the user types in their password, doesn’t check it and then submits the form, there is no reason why the information wouldn’t be correct but if it is incorrect then there is no recourse for the user and this would obviously lead to problems. Potentially, you could force the user to click the check button at least once but then this method becomes as equally intrusive and confusing for the user as the duplicate input method.
Another solution is to add a checkbox to accompany the form which acts as a confirmation much like the ‘review and check’ email address method discussed above.

NB. jQuery plugins
- Trevor Davis’ ‘Show Password’ plugin
- Andreas Lagerkvist’s ‘Show Password 1.0′ plugin
- ProThemer ‘showPassword’ plugin
5. Have the newsletter sign-up checkbox unticked by default
For me, this is an act of common courtesy. If a user WANTS to hear about your company’s latest and greatest product then they will tick that little box themselves. Or they might visit your Twitter or Facebook page. Spamming with weekly, monthly or in some cases daily(!) emails telling people information they don’t really want to know does not endear you to them – it downright pisses them off. People don’t like to feel as though they have been tricked but that is exactly what pre-ticked newsletter sign-ups do. Why do you want to send an email – which will cost your company money! – to someone who most probably doesn’t want to hear what you have got to say?
Advertise your newsletter on the sign-up screen. Make it loud and proud and maybe say what is regularly included – that way you are genuinely inticing users into hearing your message and they will appreciate it rather than feeling duped.
It’s amazing how a small gesture like this is appreciated and casts you in a more human light to a user. That is infinitely more successful in promoting your product than a spam newsletter can be.
6. Make use of HTML5 input properties today!
To round up, I’m going to get a little more technical on y’all.
HTML5. Many people shy away when that initialisation is muttered, usually for one of two reasons; either they are scared of having to learn the ‘new’ markup or they know browser support isn’t universal just yet so they don’t bother.
But many HTML5 features CAN be used today quite safely and one area in which this is most relevant is with form elements. Several new input types and input attributes have been introduced into the HTML5 spec. They include the datepicker input, colour picker input, required attribute and a few others and in many modern browsers these will work out-of-the-box. Unfortunately, their styling is native so it could be very detrimental to your UI should the browser chuck in a validation message or two. And on browsers that don’t support them it provides a really bad and potentially unusable experience for the user.
However, some inputs and attributes can be used in the knowledge that they will be safely implemented across all browsers.
Email, URL and number input types
One trick tip regarding forms is that, if a browser doesn’t support the input type you have specified then it will revert to a standard text box input. For inputs such as a colour picker, this is not an acceptable solution but for fields like email address and URL, this is a perfectly acceptable example of graceful degradation.
For mobile users, where the keyboard layout can be particularly important in helping the user, these inputs are of particular importance and should be used generously.



Placeholder and autofocus input attributes
Two HTML5 attributes of a particularly subtle nature are placeholder and autofocus. Placeholder puts your specified text into the input box until the user focuses on the input, at which point the text disappears to leave the user free to fill in the input. For years, we’ve been hacking this solution into our forms and now it’s in the spec by default – magic! You can even use CSS to style the text in some browsers by using the custom attribute selectors ::-webkit-input-placeholder and :-moz-placeholder{color: red;} (yes, the colons are correct).
The autofocus attribute simply places the cursor into the input field on page load enabling the user to start typing straight away – typically this would be the first input in your form. For obvious usability reasons, autofocus is not supported by mobile browsers.
So there you have it, six tips to improving your website forms. These techniques can be used in nearly all situations, in all browsers with no regard as to whether CSS and/or JS is turned on so why not give them a go!


