diff --git a/packages/main/src/Link.js b/packages/main/src/Link.js
index 9bf41e7d23dd..7c0483e05301 100644
--- a/packages/main/src/Link.js
+++ b/packages/main/src/Link.js
@@ -246,11 +246,11 @@ class Link extends UI5Element {
}
onBeforeRendering() {
- const needsNoReferrer = this.target === "_blank"
+ const needsNoReferrer = this.target !== "_self"
&& this.href
&& this._isCrossOrigin();
- this._rel = needsNoReferrer ? "noreferrer" : undefined;
+ this._rel = needsNoReferrer ? "noreferrer noopener" : undefined;
}
_isCrossOrigin() {
diff --git a/packages/main/test/pages/Link.html b/packages/main/test/pages/Link.html
index 507bf20e4522..5c02c0cb76f2 100644
--- a/packages/main/test/pages/Link.html
+++ b/packages/main/test/pages/Link.html
@@ -27,7 +27,7 @@
- Standard Link
+ Standard Link
Subtle link
Disabled
Emphasized
diff --git a/packages/main/test/specs/Link.spec.js b/packages/main/test/specs/Link.spec.js
index 1fbfd681041b..0811866920b0 100644
--- a/packages/main/test/specs/Link.spec.js
+++ b/packages/main/test/specs/Link.spec.js
@@ -22,6 +22,12 @@ describe("General API", () => {
assert.strictEqual(await link.getAttribute("href"), HREF_ATTRIBUTE, "The href attribute is changed.");
});
+ it("tests rel attribute", async () => {
+ const anchor = await browser.$("#target-blank-link");
+
+ assert.strictEqual(await anchor.shadow$("a").getAttribute("rel"), "noreferrer noopener", "The rel attribute is properly set.");
+ });
+
it("tests target attributes", async () => {
const link = await browser.$("#empty-link-2");
const TARGET_ATTRIBUTE = "_blank";