Statement
Any external link that opens in a new tab (target='_blank') shall include rel='noopener noreferrer'. External links in prose content shall not open in a new tab by default; only links where the author explicitly intends a new-tab experience (e.g. social icons, certain CTAs) shall use target='_blank'.
Rationale
Forcing target='_blank' on all external links is an accessibility anti-pattern — users lose control of their browsing context without consent (WCAG 3.2.5). rel='noopener noreferrer' prevents the opened page from accessing window.opener and suppresses the referrer header, removing a cross-origin security and privacy risk.
Notes
ExternalLink.astro does not set target="_blank" by default. Callers that explicitly need new-tab behavior must pass target="_blank" as a prop; rel="noopener noreferrer" is always applied unless data-no-rel is set.
Topics
Owner: accessibility
Related: seo-metadata , content-authoring
Applies To
- Primitive Components DOC-00010