The rel attribute is a small instruction attached to an HTML element. Its job is to meaning of the relationship between current and linked resources. It is easier to remember when you can see it in a real piece of markup.
What rel is used for
Meaning of the relationship between current and linked resources. The attribute appears inside an element’s opening tag. Depending on its definition, it may take a specific string, a number, an enumerated keyword, or be a boolean attribute.
The example below uses it in a link context. Other elements may support it too, or may give the same attribute a different meaning.
Example you can try
<nav aria-label="Helpful pages">
<a href="/guide.html" target="_blank" rel="noopener">Open the guide</a>
</nav>
How the example works
Look for rel in the snippet. Here the example shows the value noopener. This is a concrete input the browser can interpret; it is not just text shown to the reader.
Different elements support different relationship values: for instance stylesheet on link and noopener on a.
Values and important behavior
A link relationship consists of space-separated tokens. noopener, noreferrer, nofollow, ugc, and sponsored have distinct purposes.
This detail matters most when the page receives user input, navigates to another document, or loads an external resource. In those cases, check the browser behavior and any server-side requirements separately.
Small practice task
Copy the code and change rel to another sensible value, or remove it entirely if it is optional. Test the difference in the browser and inspect any submitted value or network request.
Common Beginner Mistakes
- Different elements support different relationship values: for instance stylesheet on link and noopener on a.
- Using
relon an element that does not support it. - Believing that an HTML hint or client-side check replaces real server validation or a security policy.
Key Takeaways
relis used to meaning of the relationship between current and linked resources.- Different elements support different relationship values: for instance stylesheet on link and noopener on a.
- Choose valid values and test the result instead of guessing what the browser will do.