Using placeholder data
Video: Using placeholder dataOne of the nice things about a HTML5 is the focus on usability and improving the user experience. One of the improvements to form usability is the addition of placeholder text to help guide the user through the form requirements. Honestly, it's one of my favorite additions to forms in HTML5. So, let's go ahead and try it out on our own form. So, again, we have the trails.htm file open and this one is open from the 05_03 folder. I am just going to scroll down to find our form and we are going to add some placeholder text to our first three form elements, the trail name, name, and email.
Viewers: in countries Watching now:
In HTML5 First Look, author James Williamson introduces the newest HTML specification, providing a high-level overview of HTML5 in its current state, how it differs from HTML 4, the current level of support in various browsers and mobile devices, and how the specification might evolve in the future. Exercise files accompany the course.
- Understanding the history of HTML5
- Using new tags
- Understanding HTML5 semantics
- Coding ID and class attributes in HTML5
- Structuring documents
- Building forms
- Exploring HTML5 native APIs
- Encoding and adding HTML5 video
- Exploring associated technologies such as CSS3
Using placeholder data
One of the nice things about a HTML5 is the focus on usability and improving the user experience. One of the improvements to form usability is the addition of placeholder text to help guide the user through the form requirements. Honestly, it's one of my favorite additions to forms in HTML5. So, let's go ahead and try it out on our own form. So, again, we have the trails.htm file open and this one is open from the 05_03 folder. I am just going to scroll down to find our form and we are going to add some placeholder text to our first three form elements, the trail name, name, and email.
Now, what placeholder text will do for you is it will place inside of a text field some suggestive text. So, a valid email address is required, first name and last name, you might actually if you are going to do a phone number show them how you want the phone number formatted, those sorts of things. So, it's a nice way of just sort of placing that content in there and the content will be removed as soon as focus on the form field is established. So, what I am going to do is I am going to come down here to our trail name and I am going to take away the autofocus, so that we don't need to worry about autofocus anymore.
Right after the tabindex value, I am going just going to type in placeholder. I am just going to do a placeholder attribute. You can really type any string value you want as long. As the form element is wide enough to display this, your users are going to be able to see this. So, I am going to type in trail name. I am going to go down to the next input type, which is our name input, and I am going to do some placeholder there as well, and the placeholder text here is I am going to type in first and last name. So, again, I am trying to be helpful here and guide them through the process.
And here we are instructing them that we want both their first and last name in the single form field rather than breaking them into separate ones as they might be used to. So, now I am going to go down to the email one and we'll do our last one, and here I am going to say placeholder and inside this I am just going to type in valid email address. So maybe that's something we are going to set through form validation little bit later on and I want to let them know that hey, this is something that we need. We need a valid email address. So, you could also do that. You could use placeholder text to basically go ahead and let the user know which form fields are required.
Okay, so I am going to go ahead and save this, and again I am going to test this in multiple browsers, so that we can see which ones support the placeholder attributes. So, the first one I am going to preview in is Chrome and if I scroll down in Chrome now, you can see that we have trail name, first and last name, and valid email address. As soon as we establish focus in one of the form elements, it goes away. So, you don't have to worry about that text being submitted by the user by mistake. You don't have to worry about the user having to highlight the text and delete it. It's something that's just going to go ahead and be there if there is no content and if focus is not established. But if you type in any content whatsoever or establish focus, the placeholder content goes away.
So, that is really cool. All right, let's try this on a couple of other browsers. Here it is in Safari, and again in Safari we get placeholder data, so we know now it works in Safari. Let's try it in Firefox. So, scrolling down through Firefox. Nope, no placeholder data. Unfortunately Firefox's support of HTML form elements is lagging behind some of the other browsers. Here it is an Opera. If I scroll down in Opera, I notice that Opera doesn't support the placeholder data either. Currently, we are looking at WebKit browsers supporting the placeholder data.
Opera and Firefox are still a little behind on that but I imagine it won't be too long before they support it as well. So the nice thing about the placeholder text from my point view is the value you get out of just a little bit more work and that didn't take us very long. Our form is more engaging to our users when they can see the placeholder data, and it's going to help ensure more accuracy as the form is filled out and that's a really good thing. It's worth pointing out that the placeholder text is displayed using device styling. So, you should test your placeholder text in several devices and browsers to make sure the text has enough room to display properly and it looks acceptable to you, because that is one of the things that you are not going to able to drive through your styles. You are going to have to rely on the device for that.
So that's placeholder text. I am a big fan of it. I think it's going to improve form usability wherever it's used.
There are currently no FAQs about HTML5 First Look.