<div dir="ltr">On Tue, Sep 30, 2008 at 4:10 AM, Andy Lyttle <span dir="ltr"><<a href="mailto:whatwg@phroggy.com">whatwg@phroggy.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I do not like this idea at all.  That is what LABEL is for, and disappearing<br>
"it's so kewl" text is as annoying as BLINK and BGSOUND.<br>
Chris<br>
</blockquote>
<br></div>
The <label> tag is great for labels that are displayed outside the input box (in front of, above, etc.). The placeholder attribute is intended more as a hint than a label, and is displayed inside the input box without taking up any additional space on the page.  An example might be:<br>

<br>
<label for="where">Get local weather forecast:</label><br>
<input type="search" name="where" id="where" placeholder="City, State"><br>
<br>
Using the "alt" attribute has been suggested here, but no implementation uses "alt" in this way, while "placeholder" is already supported by one major browser (and since it really isn't alternate text, using "alt" doesn't make any sense).  Another suggestion was to use the "title" attribute, which is a better idea, but "title" is generally implemented as a tooltip that doesn't appear until you hover over the element, which is not the desired behavior.  It's perfectly legitimate to use a <label> tag AND title AND placeholder attributes, for three subtly different purposes.</blockquote>
Hm.  I have a problem with your example.  "Get local weather forecast" isn't a semantic <label> for the field - it doesn't describe what the field is for.  It describes what the *form* is for, and so should be a <legend> or <hn>.  "City, State" actually describes the use of the <input> itself, and should be the label.<br>
</div><br>I'd suspect that *all* examples where placeholder text is used (definitely all the examples I know of personally) are most semantically served by a <label> with the text.  Iirc, I once saw a nice javascript solution that mutated the DOM to remove the <label> and use its text as a placeholder.  Thus, I think this is best served by a CSS directive that does exactly that.  External vs placeholder text is a display issue - semantically, both are labels for the field.<br>
<br>The only question would be whether to make this a property of <label> or <input>...  Probably <label> - targetting <input> would result in action-at-a-distance.<br><br>~TJ<br></div>