Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
>> In the last movie, we learned how important it is for form elements to be labeled so that all users can know what to fill in each field and can do so without too much trouble. In this movie we'll add labels to the form in the departments page of our example site. First let's talk about the different options for form labels. They can either be implicit or explicit. Implicit labels are wrapped around the form control that they label. This keeps the HTML very simple. But the problem is that this setup is not supported in older screen readers.
It also makes it harder for you to style with CSS, as we'll see later. Explicit labels are placed separately from the form control, either before or after it, and they don't need to be right next to the form control. The connection then is made by an ID attribute on the form field itself and a for attribute with the same value for the label tag. This method is well supported and gives your more styling options with CSS, so let's use this label method on the departments page form that we looked at in the last movie.
If you're following along with the exercise files, open the page departments.html in Dreamweaver. It's located in the 08_02 folder of the chapter eight exercise files. This form does not currently have labels set on any of the fields. Select over the text name in the first row of the table. Now right click or control click on the highlighted text and choose quick tag editor. You'll be asked to wrap a tag around the highlighted text. Type label or choose it from the menu of tags shown.
We also need to add a for attribute so then type a space, then for="name". This is stating that we want this text to label a field that has an ID attribute of name. Click on the field beside the name label. Now we need to give the field that ID attribute so that they are connected. Right click or control click on the field next to name and click on edit tag in the menu shown.
The tag editor dialogue box appears. Click on the style sheet/accessibility category on the left hand side of the dialogue box. Click inside the ID field and type name. Then click okay. Let's go into code view to see how this has changed the HTML. Click on the code button in the documents toolbar. The input tag that we just edited will still be highlighted. You can see that it has a name attribute set, which is what is used by the form processing script.
Then it has a type attribute set, which determines what type of attribute it is. And then finally there's the ID attribute that we just added. We've given it the same value as the name attribute, but it doesn't have to have the same value. For instance, we could have given it an ID of field-name. If we did this we'd have to make sure that the for attribute of our label tag had this same value. This is a spot where the attributes must match. The for attribute on the label must have the same value as the ID attribute on the form control.
Go back to design view now by clicking on the design button in the document tool bar. Let's see how we would add a label when first inserting the form field. Place your cursor in front of the phone text in the form table. Go to the insert menu and choose table objects, then choose insert row above. Place your cursor inside the second cell of this new table row. Then go to the insert tool bar and click on the forms tab. Next, click the text field button, the second button from the left, to insert a new field.
The input tag accessibility attributes box appears. If we had not checked the form option under Dreamweaver's accessibility preferences as we did in an earlier movie, this dialogue box would not appear. Instead, it would simply insert the text field and not prompt you for a label. You could still add a label yourself later, but having this dialogue box servers are a good reminder to always add a label every time you add a form field. Click inside the label field first, type address: space, now click back inside the ID box.
Here's where we need to set the value of the ID attribute. Dreamweaver will also set it as the value of the for attribute when it creates the label for us. Type address. Next, in the dialogue box, we need to choose a style of label tag. The first option is to wrap with label tag. We've talked about why this isn't ideal, so choose the second option, attach label tag using for attribute. The next option asks you where you want to position the label, before the form item or after the form item. Keep before form item selected.
Don't worry about the access key or tab index items for now. We'll talk about them later. Click on okay. Let's go into code view to see the HTML that Dreamweaver created. Click on the code button in the document tool bar. The new field and its label are highlighted in HTML. If we look at the for attribute of the label, we can see that it matches the ID attribute of the input tag. Now we simply need to move the label out of this table cell into the first cell of the row. Highlight over the entire label element from its closing tag to its opening tag, then press control X or command X on your keyboard to cut the selection.
Next, highlight over the content of the cell immediately above the one we were just in then press control V or command V on your keyboard. Now click on the design button in your document tool bar. Our label element is now in the correct table cell. So once our form has labels added to all of the fields, it should be much more accessible to many more people. Another accessibility enhancement we can make is adding field set and legend elements. We'll do that next.
Get unlimited access to all courses for just $25/month.Become a member
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.