` tag.
In the example above, the value supplied to the `href` attribute could be any valid link. However, some attributes only have a set of valid options you can use, or values need to be in a specific format. The `lang` attribute tells the browser the default language of the contents in an HTML element. The values for the `lang` attribute should use standard language or country codes, such as `en` for English, or `it` for Italian.
## Boolean Attributes
Some HTML attributes don't need a value because they only have one option. These are called Boolean attributes. The presence of the attribute in a tag will apply it to that HTML element. However, it's okay to write out the attribute name and set it equal to the one option of the value. In this case, the value is usually the same as the attribute name.
For example, the `` element in a form can have a `required` attribute. This requires users to fill out that item before they can submit the form.
Here are examples that do the same thing:
```html
```
# Custom Data Attributes
HTML also provides the facility to embed custom attributes to element which is specific for that application or technology in which the webpage is built.
These are usally of the format data-* where * is the name of the custom attribute.
## Other Resources
- [HTML links](https://guide.freecodecamp.org/html/attributes/links/)
- [Href Attribute](https://guide.freecodecamp.org/html/attributes/href-attribute/)
- [Lang Attribute](https://guide.freecodecamp.org/html/attributes/lang/)
- [HTML Input Element](https://guide.freecodecamp.org/html/attributes/input/)
- [Required Attribute](https://guide.freecodecamp.org/html/attributes/required/)
- [Cutom Data Attribute](https://www.w3schools.com/tags/att_global_data.asp)