rel=”noopener”なしのtarget=”_blank”はもう怖がらなくてよくなる!?
『外部向けリンクを別タブで開くためにHTMLでtarget=”_blank”属性を指定するのは、脆弱性やセキュリティ、パフォーマンスの点で問題がある。rel=”noopener”属性または rel=”noreferrer”属性との併用が推奨される。』朗報がある。グーグルが対策に乗り出してくれた。Chrome 88では、target=”_blank”のリンクをクリック/タップした際には、暗黙的にrel=”noopener”があるものとして処理するようになる。つまり、rel=”noopener”を明示的に記述していなくても安心になるのだ。
このセキュリティ問題は、元ページとリンク先ページが別ドメイン名であっても発生するものだ。そのため、ブラウザで対応するのが適切ではある。
とはいえ、古いWebシステムではポップアップでログイン画面を表示するようなものがあり、この変更でうまく動作しなくなる可能性がある点には注意が必要だろう。
なお、Firefoxは2020年6月に、Safariは2019年3月に、すでにこの仕様になっている。2021年1月にリリース予定のChrome 88の安定版で、主要なブラウザでの対応が完了する形だ。EdgeやVivaldiなどのChromium系のブラウザも追って対応するだろう。