Fog Creek Software
Discussion Board

How important are labels?

How important is it to label the fields on a form?  I have seen applications that do not label any of the fields and other applications label all of the fields.  I am able to figure out the ones with no labels due to the context and or the arrangement of the fields on the form.  For example, I can tell when a name and address block is on the form simply by it's shape.

How do you label your fields?  All or none?  Maybe just some?

Dave B.
Thursday, October 16, 2003

Unless you're building a special purpose data entry app where screen real estate is at a premium and users can be trained, label them all... always.

Not everyone has used computer entry forms for 10 years.  If there's a chance such a person might be using your application or webform, label every last one of them even if they seem obvious.

Mister Fancypants
Thursday, October 16, 2003

Ok, great! I'll label everything.

Now, does it matter where the labels are placed?  At the left or top of the fields?  And does this vary by country?  For example, let's say that I placed my labels at the left of the fields.  Then I decide to sell my (UNICODE enabled hehe) application in East/West Asian countries, would I then have to place my labels on the right side?  I know some languages are read right to left.

Dave B.
Thursday, October 16, 2003

If you're localizing an application, you pretty much have to plan on redoing the layout of your dialogs. Even switching to other RTL languages can have issues: German language works take up more (20%? 50%? I can't remember) space on average than English, for example, so you need to redo your layout when using German so things look good.

Chris Tavares
Thursday, October 16, 2003

Thanks Chris.  I guess I should look into storing the strings in the database so they can easily be converted.  (Or as a  string table resource.)  Any suggestions on which is better?

Dave B.
Thursday, October 16, 2003

One option would be to put all the resources (ie strings, menus, dialogs etc) into a DLL rather doing the norm and binding them to the executable.

In theory this would mean localizing for another language would only require the production of a new resource DLL and the choice of language could be done at runtime.

Jussi (
Thursday, October 16, 2003

Don't do this! -

John Topley (
Friday, October 17, 2003

Be nice to screen readers (for vision-impaired folks) and use the LABEL tag to explicitly associate a label with a field.

Friday, October 17, 2003

be nice to EVERYONE and use the "for" attribute of teh LABEL tag.

For example, witness what happens when you do

<input id="rbYes" type="radio" value="yes" name="question1" /><label for="rbYes">Yes</label>

<input id="rbNo" type="radio" value="no" name="question1" /><label for="rbNo">No</label>

you get  ( ) Yes  ( ) No  and clicking on the word yes or no will check the appropriate radio button.

Sprinkle in some CSS to underline and/or change the cursor on a label:hover and you've got a more user friendly form.

Richard Ponton
Friday, October 17, 2003

*  Recent Topics

*  Fog Creek Home