8

I read (and believe) this article that data entry tips in HTML placeholders are generally harmful and should be avoided.

In-context descriptions or hints can help clarify what goes inside each form field, and therefore improve completion and conversion rates. There are many ways to provide hints...Unfortunately, user testing continually shows that placeholders in form fields often hurt usability more than help it.

I'm starting to see placeholders being used for default values, and it seems this would be a better use for them. They would represent what the field will "do" if no value is entered, and are thus a literal placeholder for no value.

The idea is that, while a placeholder hint disappears when the user most needs it (when they are interacting with the field) a placeholder default value disappears when the user has decided they don't want it.

Example:

If you leave the breed field empty, this form will return all available dogs regardless of breed. The "Any" placeholder denotes that.

Form with default value of "Any" in input field for "Breed"

NOTE: Please don't get hung up on "breed" - it could just as easily be "postal code" or anything else that accepts free-form entry. This question is about placeholders, not about when to use different kinds of input elements.

Is there any analysis to back up/refute whether this is a good pratice? Does anyone have experience trying this?

Ref: https://stackoverflow.com/questions/17800328/show-placeholder-instead-of-the-default-value-in-html-form

  • I would recommend selecting an option most people would relate to or might know. For example - Pomeranian. This will ensure that the user knows what the example relates to. In contrast, let's say you select a rare breed as an example, people would be confused. – Swapnil Borkar Jun 15 '16 at 12:56
  • Please note, my question assumes we are following Nielsen Norman's advice in the referenced article, and NOT using placeholders to give guidance on filling out the form. Thanks. – Tim Grant Jun 15 '16 at 16:09
  • 1
    Timster, I think you're misreading the article from Nielsen. The article, is mainly about replacing labels with placeholders, which is the exact opposite to your case. While some parts of the article (barring interpretation) may apply to your specific case, it's quite unrelated. If you take that article off, I think you'll get better and more accurate answers to a very interesting question – Devin Jun 16 '16 at 17:35
  • Thanks for the feedback @Devin. The article is about more than replacing labels, see: "Even when using labels, placing important hints or instructions within a form field can still cause the 7 issues mentioned above" So, use "Use placeholders for tips" is what I don't want to do. The article, and its quotes, are there to try to explain that position. – Tim Grant Jun 16 '16 at 17:43
  • One more comment, I'm OK with a frame challenge here - that using placeholders for hints is OK, contrary to NNg's findings. But that challenge would need to be backed up with some kind of hard data, not "In my experience" anecdotes. (I've used placeholders for hints a lot, but I'm giving it up as a bad practice, based on NNg's conclusions.) – Tim Grant Jun 16 '16 at 18:19
4

I am not an english native speaker so I only knew of the term placeholder when I entered Web design/development. So I just searched Wikipedia about the meaning of the word and read this interesting (for me) information (emphasis is mine):

These placeholders typically function grammatically as nouns and can be used for people (e.g. John Doe, Jane Doe), objects (e.g. widget), locations ("Main Street"), or places (e.g. Anytown, USA). They share a property with pronouns, because their referents must be supplied by context; but, unlike a pronoun, they may be used with no referent—the important part of the communication is not the thing nominally referred to by the placeholder, but the context in which the placeholder occurs.


Placeholder as a generic example:

If I understand correctly, placeholders are generic examples in a certain context. They might be real cases but I guess the more generic the better to understand it is an example.

So Placeholders shouldn't substitute labels and shouldn't substitute extra information needed to complete the input.

In your example it might be tricky to use a generic example as breed. A concrete case could work but the more specific the placeholder the more difficult it is to understand that it is supposed to be generic.


Placeholder as the default value:

It is useful if you want to reduce the amount of interactions but it is a bit more complex to understand. Also it is not working as a generic example as there is no "Any" breed.

This case is tricky because it is a simplified version of:

mockup

download bmml source – Wireframes created with Balsamiq Mockups

(In the image, "Any" and "Pomeranian" text should have lower opacity)


Conclusion:

Generally I would stick to using placeholders as generic examples (one example, by the way).

  • It helps understand the expected value to be entered
  • It is no longer needed once read and on focus
  • It doesn't assign checkbox functionality to inputs (as the "Any" does)
  • It is not left empty which can lead the user to question what or how is the value expected to be entered
  • A generic example is useful as in some occasions labels are not 100% clear or are ambiguous
6

If its acting as a value then why not have it as a value?

The placeholder text should be used to hint at the type of entry that is required. In your particular scenario I would either set the value attribute to Any instead of the placeholder attribute. Then if the user wants to change the value they can, else they leave it as Any and tap Select.

Better

Better still, set the placeholder attribute to something like e.g. Pomeranian instead to give better indication of the type of entry required. Then return all if the user leaves it blank or if they enter Any. Helper text near to the input saying something like Leave blank to return all would also be useful.

enter image description here

  • Hmm, but your "better" suggestion is what Nielsen Norman has found is "harmful." – Tim Grant Jun 15 '16 at 15:04
  • 1
    @timster I have to disagree. e.g. Pomeranian is clearly a hint. It does not impact the ability of the user to understand what value to put into the field. – nightning Jun 15 '16 at 18:59
  • @nightning, Thanks for your input. I lend a lot of credence to Nielsen Norman group's findings. Do you disagree with their article (posted in the question) or do you disagree with how I'm interpreting the article? – Tim Grant Jun 15 '16 at 19:13
  • @timster Interpretation of the article. – nightning Jun 15 '16 at 20:01
  • 1
    @timster I agree that important labels and information should not be used in non dynamic placeholders. However e.g. Pomeranian is merely a 'hint'. IMO and in my practice, this is the kind of data I use for placeholders. – Dave Haigh Jun 16 '16 at 7:58
4

Straight away I assumed Any wasn't a value I could leave there, however the form was insisting I enter Any value. Slightly misleading in my opinion.

How about using a select, or a filtering select for these values and having Any as the default value instead?

I understand there are many breeds of dogs, however - so this may not work too well either.

Possibly just a label above this field saying "Leave blank to indicate any breed." perhaps?

  • 4
    Its right next to the Any Key. Geez. Everyone knows that. – user67695 Jun 15 '16 at 13:51
  • There are several hundred internationally recognized purebred breeds of dog, and yet more that are only recognized in a single or a few countries, plus breed nicknames and cute names for various mixes. Very few people are familiar with more than a few. (Source: I have one of the less common ones myself. Practically nobody knows what they are like.) – a CVn Jun 15 '16 at 14:31
  • That's fine I understand that @MichaelKjörling, the ideal UI component for this would be a filtering-select: dojotoolkit.org/reference-guide/1.10/dijit/form/… Though this is quite a targeted solution, it would be an effective one. – Jack hardcastle Jun 15 '16 at 14:33
  • Thanks for the feedback. @Michael Kjörling has this right about dog breeds, and then add that folks add new terms that are not official breeds but come into common usage, like "Llapsapoo." Filtering-selecting is not always feasible, as the data might be available through an API (in this case, it is) and there's no interface for querying currently available breeds. -- But the question isn't whether a select box would be better for this particular case, that was just an example. It could be a postal code or Township field. – Tim Grant Jun 15 '16 at 15:16
2

I actually agree with Tim's suggestion and think that using placeholders for default values makes total sense.

1) By using Tim's suggestion, the user can distinguish between fields the user has typed from values calculated by the application. Putting default values as input can work for some scenarios but for technical forms with lots of input, users want to know what is actually input and what is a default value provided by the app.

2) By using placeholders, the default value disappears when a value is provided, is a good metaphor for what a default value is (a preselected option adopted by a computer program or other mechanism when no alternative is specified by the user or programmer).

3) Quite often default values are internally assumed without the user knowing because there is no easy way to show in the UI all the default values that a form with several input fields can assume. This fixes this issue by providing with a consistent approach that doesn't take any real state of the form.

1

Placeholder Accessibility

Having read the article you referenced, Placeholders in Form Fields Are Harmful, while placeholders may not be actively harmful, they're at least not as useful as you think. And if it's not helpful, why do it?

From an accessiblity (and an "avoiding litigation") standpoint, placeholders are often omitted by screen readers: W3.org Tutorials: Accessibility for forms. If it's an element that's likely to be skipped, then you wouldn't want to provide essential/useful information there. And if it doesn't serve an essential, useful purpose, why have it cluttering up the UI at all? If I make no choice in a filtering field, I would expect that my results would include everything - searching for "washing machines" on an appliance store site where I don't specify a brand should give me washing machines they sell, regardless of brand. I don't need a placeholder to tell me "this is everything."

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.