How to fix: Links open new window without warning
When a link uses target="_blank" to open in a new tab, say so in the link text or aria-label, for example "Pricing (opens in new tab)", so the context change is not a surprise.
What it is
A link with target="_blank" opens its destination in a new browser tab or window instead of navigating the current one. WCAG Success Criterion 3.2.5 Change on Request is about not springing context changes on people without warning, and opening a new tab is one such change. The recommended practice is to make that behavior discoverable before activation by mentioning it in the link's accessible name, such as adding "(opens in new tab)" or marking the link "external".
This one comes with an important caveat: SC 3.2.5 is Level AAA, the highest and strictest WCAG tier. It sits above the Level AA bar that courts and regulators typically treat as the ADA benchmark, so an unannounced new tab is generally not the kind of failure that drives a lawsuit on its own. AccessKnight reports it as a warning rather than a hard violation for exactly this reason.
Even so, it is a widely adopted usability practice, and many organizations include it in their internal standards. A screen reader may announce the new tab after it happens, but the user did not consent to it; sighted users can be disoriented when the back button suddenly stops working because they are on a fresh tab. A short signal in the link prevents both.
Who it affects & why it matters
Screen reader users are affected when a new tab opens without notice: focus context shifts and the familiar back-button escape route no longer behaves as expected, which can be confusing and hard to recover from.
It also affects people with cognitive disabilities, for whom unexpected context changes are especially disorienting, and sighted users in general, who often do not realize a new tab opened until their history and back button stop working the way they assumed.
Unannounced new tabs fail SC 3.2.5, which is Level AAA. That places it above the typical legal floor: WCAG 2.1 Level AA is the de-facto ADA benchmark in U.S. court rulings, and AAA criteria are recommended rather than expected for general conformance. So while this matters for user experience, it is not usually a stand-alone lawsuit trigger the way Level A failures like missing alt text or unlabeled forms are.
It is still worth fixing. Web accessibility litigation keeps rising and disproportionately targets smaller businesses, and a polished, predictable experience reduces friction and support requests. Because announcing a new tab is a one-line change to link text or an aria-label, many teams adopt it as a low-cost way to exceed the minimum bar.
How to fix it
- Find every link that uses target="_blank" to open a new tab or window.
- Decide whether the link genuinely needs to open a new tab; if not, removing target="_blank" is the simplest fix and keeps the back button working.
- For links that should open a new tab, add a signal to the accessible name, such as "(opens in new tab)" in the visible text.
- If you cannot change the visible text, put the warning in an aria-label that includes both the link's purpose and the new-tab note.
- Re-scan to confirm each target="_blank" link now mentions "new window", "new tab", or "external" in its text or aria-label.
<a href="/pricing" target="_blank">Pricing</a>
<a href="https://docs.example.com" target="_blank">Read the docs</a><a href="/pricing" target="_blank">Pricing (opens in new tab)</a>
<a href="https://docs.example.com" target="_blank" aria-label="Read the docs (opens in new tab)">Read the docs</a>How AccessKnight detects this
AccessKnight selects every link with target="_blank", then concatenates the link's visible text content with its aria-label and lowercases the result. If that combined string does not contain any of the phrases "new window", "new tab", or "external", the link is flagged with a suggestion to add a note like "(opens in new tab)" to the link text or aria-label. A link that already includes one of those signals, in either its visible text or its aria-label, passes the check.