[whatwg] <input placeholder="">
Ian Hickson
ian at hixie.ch
Mon Nov 17 02:05:47 PST 2008
On Wed, 21 Feb 2007, Wolfram Kriesing wrote:
>
> I was searching, but didnt find a hint-attribute for an input. The
> more often we are using inline editing, the more the need for the
> following is rising, imho:
>
> <input type="whatever" hint="Enter your title here" />
>
> The text "Enter your title here" is shown as the value while no value is
> given, or when the field is empty, upon focusing the element this string
> disappears. If no value was entered this text is shown again ... I guess
> its clear what I think of here, a lot of apps already have that.
On Mon, 21 May 2007, Stijn Peeters wrote:
>
> It is becoming increasingly common to have an input field clear its
> value when it is first focused. Though in a lot of cases this is
> actually wrong usage of the value="" attribute for something which
> should actually be done with <label> (such as a search box filled with
> "Enter search query here" that becomes empty when you first click it),
> it is possible to come up with legitimate use cases; the first thing
> that comes to mind are input fields with placeholder or default values
> that may need to be changed. This goes well together with WF2's new
> abilities for prefilling forms.
>
> It makes sense to clear these values when the field is focused, as the
> user will probably want to insert a new value rather than edit the value
> that is currently in it. Currently this is mostly done through
> javascript, which is not necessarily a bad thing, but seeing that
> attributes such as autofocus="" have also found their way into the
> spec, I suppose this is also inside the scope of Web Forms 2 or HTML5.
> As for the attribute name, clearonfocus="" with "clearonfocus" as the
> only possible value (indicating the input field or textarea should be
> cleared upon focusing it) would probably be most suitable.
On Mon, 21 May 2007, Anne van Kesteren wrote:
>
> WebKit implements a placeholder= attribute which seems more suitable for
> this purpose.
On Mon, 29 Sep 2008, Andy Lyttle wrote:
>
> There's one particular feature that would be easy to adopt without
> supporting the rest, and that's the "placeholder" option. Currently,
> lots of sites are implementing placeholder text through a combination of
> creative CSS and JavaScript hacking, but each site has to reinvent the
> wheel, and very often the wheel gets reinvented badly (examples below).
> Making it a standard feature of HTML would eliminate the need for all
> the extra scripting and improve accessibility, and consistent behavior
> would make a better user experience.
>
> The desired behavior is for the placeholder text to appear in the field
> with a gray color when the field is not focused and the value is empty.
> Of course the meaning of "gray" is up to the browser. The placeholder
> option was originally intended for search fields, but it's useful for
> other input types as well, and Safari already supports it on all text
> input fields. The HTML simply looks like:
>
> <input name="zip" placeholder="Zip Code">
>
> Here are a bunch of examples of sites that currently use JavaScript and
> CSS tricks in an attempt to simulate this behavior, to varying degrees
> of success [...]
On Mon, 29 Sep 2008, Maciej Stachowiak wrote:
>
> I would love to see the placeholder="" attribute become standard parts
> of HTML5. We invented these extensions originally for non-Web content,
> but they seem useful for the Web and of interest to Web content authors.
On Fri, 3 Oct 2008, Tab Atkins Jr. wrote:
>
> Man, I could *really* see the "hint" function being viable and quite
> useful. It offers up a completely new-and-useful semantic, and there's
> no particular place it should already go. I'd accept this as a new
> attribute without reservation if it was renamed @hint, so it's
> absolutely clear what the semantic for it is.
>
> We can then delay any questions of generalizing this function with CSS
> until later, and get this pushed into html5 immediately.
>
> For now, people wanting to use hint-like appearance for their labels but
> stay semantic can just use the established javascript hackery.
On Fri, 3 Oct 2008, Andy Lyttle wrote:
>
> The only reason to use placeholder instead of hint is that Apple already
> implemented placeholder. Documentation should explain that placeholder
> is to be used for hints, not for labels (and people can then ignore the
> documentation and use it for labels anyway, but at least we tried).
On Sat, 4 Oct 2008, Tab Atkins Jr. wrote:
>
> Well, we don't really have interop yet, since *only* Webkit implements
> it currently, and officially only on a single non-standard input type
> (though it happens to apply to text and similar input types). If we can
> shift the name over *now*, before FF implements it fully, it would
> probably be fine.
>
> On the other hand, I don't want to be one of those jerks who tries to
> block a feature solely because they don't like its name. However, it's
> a proven fact that most people don't look at documentation *ever*, and
> so having the name provide a perfectly intuitive hint for what the
> attribute is supposed to do would probably be best. At the very least
> it would set up some cognitive dissonance for people using it as a
> label, hopefully.
On Sat, 4 Oct 2008, Maciej Stachowiak wrote:
>
> I think "placeholder" is as good a name as "hint"; it may sound less
> "semantic" but it's more clear that it would result in a tooltip like
> "title" would. That being said, it would not be an excessive burden for
> us to support "hint" as well as "placeholder" for compatibility.
Added, called placeholder="".
On Wed, 21 Feb 2007, Alexey Feldgendler wrote:
>
> From the semantic standpoint, I believe this is what the title attribute
> expresses.
No, title="" is for a longer hint.
On Tue, 22 May 2007, Charles Iliya Krempeaux wrote:
>
> It's a Usability issue mixed with a Graphical design / aesthetics
> issue.,
>
> You need a label for the field... but don't want to put one beside it.
> So the label goes inside the field... until you click on it. (At which
> point the label disappears.)
This isn't a label replacement really. The only time that I can think of
where omitting the label might work is for the type=search idea, if we add
it, since then the shape of the field is self-explanatory. But that would
be true regardless of placeholder=""'s existence.
On Wed, 23 May 2007, Matthew Paul Thomas wrote:
>
> I don't understand. What use is a default value if you can't edit it?
> Why not make the field empty to begin with?
On Fri, 25 May 2007, Matthew Paul Thomas wrote:
>
> No, we already addressed the label use case. I asked specifically about
> the default value use case.
I don't know what you are asking for here.
On Mon, 29 Sep 2008, Garrett Smith wrote:
>
> |placeholder| sounds a little like |alt|. Alt is a property and an
> attribute on INPUT.
>
> How to specify alternate text:
> http://www.w3.org/TR/html401/struct/objects.html#adef-alt
On Tue, 30 Sep 2008, Benjamin Hawkes-Lewis wrote:
>
> How is placeholder content for a form field alternative text?
On Tue, 30 Sep 2008, Jonas Sicking wrote:
>
> The alt text is for situations where the <input> can not be displayed at
> all. For example an <input type=image> where the image fails to load or
> the user has disabled. Or you could imagine in theory if the UA
> supported turning off form controls entirely.
>
> The placeholder is content that is displayed along with a rendered form
> control.
>
> Thus placeholder is used along with the form control, alt is used
> instead of it.
On Tue, 30 Sep 2008, Garrett Smith wrote:
>
> If and until user enters text, the "alternate" text is displayed.
>
> The confusing part is that successfully rendered inputs would be
> rendered and still use the alt.
>
> The good part is that it would be (or should be) accessible for screen
> readers.
On Tue, 30 Sep 2008, Andy Lyttle wrote:
>
> But alt here as you're describing it doesn't mean the same thing as alt
> anywhere else. On an image, alt text says "this means the same thing as
> what's supposed to be displayed." A placeholder does NOT mean the same
> thing as whatever the user is going to enter.
>
> On the bright side, doing what you suggest shouldn't break anything
> because I'm sure nobody's using it. However, I don't think that just
> because we have an existing property defined that's used on other tags
> with a different meaning, we should reuse that property for this meaning
> instead of defining a new property.
On Tue, 30 Sep 2008, Tab Atkins Jr. wrote:
>
> Agreed. Using @alt is a semantic hack.
alt="" is about not dispaying images, it has nothing to do with
placeholder values. I think it would be highly confusing to mix the two
cases here.
On Tue, 30 Sep 2008, Nils Dagsson Moskopp wrote:
>
> No, I meant to abolish the placeholder attribute alltogether and render
> the title attribute as greyed-sut inside the search box instead, because
>
> * semantically, the title attribute conveys the same information.
>
> * it is already there in many pages.
On Tue, 30 Sep 2008, Andy Lyttle wrote:
>
> Except that:
>
> 1) the title attribute doesn't behave this way on any other element
>
> 2) there's no reason it shouldn't be possible to have both a placeholder
> AND a tooltip
>
> 3) anybody who is currently using the title attribute doesn't expect it
> to be displayed as a placeholder, so we would break things for them
> (especially if their title string is too long to fit inside a small
> field)
We can't really change the behavior of title="" now, it'd have all kinds
of weird unexpected effects on existing pages.
On Tue, 30 Sep 2008, Andy Lyttle wrote:
>
> As I understand it, it was sort of an accident that Safari supports
> placeholder on anything other than search fields, but there's no reason
> it shouldn't apply to all text input fields including textarea.
>
> I've just filed https://bugs.webkit.org/show_bug.cgi?id=21248
I've made it (in the spec) apply to types text, email, url, and password.
On Wed, 1 Oct 2008, Kristof Zelechovski wrote:
>
> Please demonstrate a *valid* example of a placeholder containing a hint.
Included examples in the spec.
On Wed, 1 Oct 2008, Kristof Zelechovski wrote:
>
> Accessing attributes as properties is discouraged and considered
> becoming obsolete; it should not be expected to work for new attributes.
As far as HTML5 is concerned, DOM attributes aren't deprecated. I am
disregarding DOM2's IMHO misguided advice.
On Wed, 1 Oct 2008, Garrett Smith wrote:
>
> Other INPUT attributes work don't reflect.
I have no idea what this means.
> The way I would imagine |placeholder| would work (and imagining is about
> all I can do at this point) is that |input.placeholder| would be a DOM
> property. It wouldn't necessarily reflect[1] the attribute value;
> changing input.placeholder would not affect the actual HTML attribute.
I've defined it so that it does.
On Thu, 2 Oct 2008, Tab Atkins Jr. wrote:
>
> [There are cases where the placeholder definitely] can't be argued to be
> a label.
>
> Of course, it's still not in any way semantic. The only difference
> between "(optional)" being displayed near the input and being displayed
> *within* the input is one of aesthetics. The meaning of the document
> isn't changed one iota. This leans me even more toward a CSS solution.
I don't see any harm to having this in the language really. We don't
disallow UAs from rendering this after the control.
On Sat, 4 Oct 2008, Kristof Zelechovski wrote:
>
> What happens if a hint and a value are both specified?
On Sat, 4 Oct 2008, Tab Atkins Jr. wrote:
>
> The value would display. The hint only displays when the input is both
> empty and not focussed. @value negates the first condition.
On Sat, 4 Oct 2008, Kristof Zelechovski wrote:
>
> Does the hint display if the input control gets cleared after loading?
>
> IMHO, The hint should not disappear on focus. It should remain until a
> new value is entered.
So specified.
On Sat, 4 Oct 2008, Nils Dagsson Moskopp wrote:
>
> This is a BAD idea for consistency reasons - historically only selected
> text disappears on input.
Well the exact details are up to the UA. Certainly following platform
conventions is the best option.
On Thu, 23 Oct 2008, Andy Lyttle wrote:
>
> It's *very* common to use the first <option> in a <select> as a
> non-choice such as "Choose one...", setting the value to something
> unique (often "" but it could be something else if "" is a valid choice)
> so it can be treated as a non-selection. This serves *precisely* the
> same purpose as the placeholder attribute on text input fields, which I
> had assumed wouldn't be valid for <select>.
>
> I suggest that the placeholder attribute should indeed apply to
> <select>, and the behavior should be similar to the current practice of
> using the first <option>. In particular, the placeholder should appear
> both on the collapsed menu, and at the top of the open menu, although it
> should not be selectable.
>
> But the question is, when the menu is collapsed, when should the
> placeholder be displayed instead of one of the options? Any time the
> value is ""? Only until the user selects something? Somebody smarter
> than me, please figure this out. :-)
I've not made it apply to <select>, though it's an interesting idea. I'll
revisit this later -- there's certainly a problem that we might want to
solve around this issue.
[...snip lots of other feedback along the same lines...]
--
Ian Hickson U+1047E )\._.,--....,'``. fL
http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,.
Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
More information about the whatwg
mailing list