<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>New Webmasters &#187; useability</title>
	<atom:link href="http://newwebmasters.net/category/useability/feed/" rel="self" type="application/rss+xml" />
	<link>http://newwebmasters.net</link>
	<description>Build a Better Website</description>
	<lastBuildDate>Sun, 03 Jan 2010 23:12:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Golden Rules of Designing Good Forms</title>
		<link>http://newwebmasters.net/useability/good-forms/</link>
		<comments>http://newwebmasters.net/useability/good-forms/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 21:51:16 +0000</pubDate>
		<dc:creator>corbyboy</dc:creator>
				<category><![CDATA[useability]]></category>
		<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://newwebmasters.net/?p=661</guid>
		<description><![CDATA[You should feel honoured every time a user fills out a form on your website. Learn how to make the best of the opportunity and make them as good as possible.]]></description>
			<content:encoded><![CDATA[<p>You should feel honoured every time a user fills out a form on your website.</p>
<p>Whether they are ordering a product, subscribing to a newsletter, or just filling out a survey, you as a website owner are always getting something out of it. For this reason, you should be bending over backwards to make your forms as simple, quick and painless as possible. By doing this, you will get more survey responses, sales and newsletter subscriptions, and your users will be more happy and have a better impression of your website.</p>
<p>Here are the golden rules that you should stick to when designing forms.</p>
<h2>Only Request Essential Information</h2>
<p>If somebody is subscribing to an email newsletter, do you really need their postal address? Probably not. Generally all you should need is their email address and possibly a name for personalisation reasons. If you do need their postal address, make it very clear to them why you need this information and what you will do with it.</p>
<h2>Add Some Accessiblility Tweaks</h2>
<p>There are a lot of ways to make forms more accessible using javascript and CSS. Here are some of the best ones to use.</p>
<ul>
<li><strong>Automatic focus.</strong> Use javascript to set the cursor in the first field of the form automatically &#8211; just like Google do.</li>
<li><strong>Use the &lt;fieldset&gt; tag</strong> The &lt;fieldset&gt; fieldset tag is used to group related sections of a form, such as address details.</li>
<li><strong>Use the &lt;label&gt; tag.</strong> This tag links a form field label to the appropriate form field. User can click the label to focus on the correct field &#8211; especially useful for those tiny radio buttons. It also lets screen readers know the appropriate labels for each form element.</li>
</ul>
<h2>Never Make Me Format My Data</h2>
<p>One very important rule to always remember is to never require data entered in a certain format. If a user wishes to put a space between every block of four digits when they enter their credit card number, they should never be penalised for it. If your payment processor requires data in a specific format, simply take the input data and convert it to that format.</p>
<p>The same goes for telephone numbers. Never <em>require</em> a space between the dialing code and the telephone number. Likewise, if a user wishes to put brackets around the dialing code, you form should be flexible enough to cope with this.</p>
<p>This rule applies to all sorts of formatted data: Social Security (USA) and National Insurance (UK) numbers, etc (add more examples). Dates are another area where you need to be careful. Using a javscript date picker is always preferable to manually entering dates as you don&#8217;t need to worry about some users entering a DD/MM/YY format and others using a MM/DD/YY format.</p>
<p>Here is an example from an excellent online research company called <a href="https://www.itsyourview.com/icm2005/home.aspx">It&#8217;s Your View</a>.</p>
<div class="captionfull"><img src="http://newwebmasters.net/wp-content/uploads/2009/03/accept-any-format.png" alt="Accept Any Format of Input" title="Accept Any Format of Input" width="750" height="114" /></div>
<p>If you can&#8217;t read the screenshot it tells you to enter your date of birth in a very specific way. It wants the data in the format dd-mmm-yy and you have to use the three letter abbreviation of the month. This is much too restrictive.</p>
<p>In the same survey you are also presented with this screen to enter your postal code.</p>
<div class="captionfull"><img src="http://newwebmasters.net/wp-content/uploads/2009/03/bad-postcode-format.png" alt="Postcode Format Not Accepted" title="Postcode Format Not Accepted" width="750" height="133" /></div>
<p>This screenshot shows the error message that the survey showed when I entered my postal code in the &#8220;wrong&#8221; format. Again, it wants the data entered in a very specific format. It wants all the letters entered in upper case and a space in the appropriate place. This is making your users work too hard to fill in a few questions. Surely if the system can detect that the letters are in lowercase, it can convert them to uppercase?</p>
<h2>Validate The Form on The Client Side</h2>
<div class="captionright"><img src="http://newwebmasters.net/wp-content/uploads/2009/03/lastfm-user-validation.png" alt="Last.fm User-side Validation" title="Last.fm Client-side Validation" width="313" height="139" /></div>
<p>It is always imperative that form data is validated and cleaned up on the server side. In fact it is so essential, that it shouldn&#8217;t even need mentioning.</p>
<p>From a useability point of view, it is also good practice to validate the form on the client side too. This generally involves using javascript to check that all the fields are complete and data is in the correct format. While that last bit might sound like a contradiction of the previous rule, remember that some data should always take a particular format. Email addresses are the classic example.</p>
<p>It is always better for the user to know immediately if he has made any mistakes entering data rather than waiting for the form to be submitted, checked and then returned to him with some error messages. Last.fm will check your username and email format as you type, so if they are incorrect you know before you submit the form. See the screenshot on the right</p>
<h2>Give Good Error Message</h2>
<p>Simply highlighting a field in red is not a satisfactory way of highlighting an error.</p>
<p>Error messages should be clear and concise and tell the user not only what they have done wrong, but how they should go about fixing it.</p>
<h2>Please Don&#8217;t Repeat Yourself, Please</h2>
<p>Constructing complicated, dynamic surveys where the path of the questions depends on the answers that you gave previously are very complicated to code. For that reason there are companies that specialise in building these types of surveys. </p>
<p>When you are designing a long survey, it is important to make sure that the information you are requesting in really necessary.  This brings us to one specific example: repeating yourself.</p>
<p>As an example, here is a screenshot from another It&#8217;s Your View survey. Compare the two questions in the screenshot below.</p>
<div class="captionfull"><img src="http://newwebmasters.net/wp-content/uploads/2009/03/repeated-questions.png" alt="Repeated Questions" title="Repeated Questions" width="750" height="353" /></div>
<p>While they are not exactly the same question, think how easily these two questions could be combined together.</p>
<h2>Summary</h2>
<p>While &lt;form&gt; might be a simple html tag, there is a lot to think about when you are building one. Hopefully this article has given you an insight on how to build the best forms for you, and for your users.</p>
]]></content:encoded>
			<wfw:commentRss>http://newwebmasters.net/useability/good-forms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
