Labels are used to describe inputs, select menus, textareas, radio buttons, and checkboxes.
Labels inform users what information is being asked of them. They should be written in sentence case.
For usability reasons, if a label is connected with an input, the for="[id]" attribute should be filled in. This attribute references the input’s id="[value]" value. This makes clicking the label automatically focus the proper input.
When a label or input needs further explantation, text should be placed directly underneath it.
When you need to flag labels as required or optional, use the following flags. Use the full word “Required” or “Optional” for these flags instead of using asterisks. If a majority of a form’s inputs are required, it isn’t necessary to show that they’re required until after the form has been submitted with errors. It may be more appropriate to only mark the non-required fields as optional.