けれどもtarget="_blank"
あるHTML5に許容可能な、私は個人的に(でも新しいウィンドウでPDFファイルを開くために)それを使用してみてください決してありません。
HTMLは意味と内容を定義する必要があります。、自問し、「だろうという意味のa
場合、要素の変更target
属性が削除されました?」そうでない場合は、コードをHTMLに含めないでください。(実際、W3Cがそれを守っていたのには驚いています。本当に手放せないのではないでしょうか。)
ブラウザの動作、特にユーザーとの対話的な動作は、 JavaScriptなどのクライアント側スクリプト言語で実装する必要があります。ブラウザが特定の方法で動作するようにしたい場合、つまり新しいウィンドウを開く場合は、JSを使用する必要があります。しかし、あなたが述べたように、この動作はブラウザがJSに依存することを必要とします。(サイトの品質が低下したり、段階的に向上したりする場合でも、問題はありません。JSが無効になっているユーザーは、それほど多くのことを見逃すことはありません。)
そうは言っても、これらはどちらも正しい答えではありません。どこかにリンクが開く方法は最終的にエンドユーザーが決定する必要があるという意見があります。この例を見てみましょう。
あなたはウィキペディアをサーフィンしていて、ウサギの穴にどんどん深くなっています。あなたはあなたの読書でリンクに出くわします。
戻る前に、リンク先のページをすぐに読み飛ばしたいとします。新しいタブで開いて、完了したら閉じることができます(「戻る」ボタンを押してページの再読み込みを待機するのに時間がかかりすぎるため)。または、見た目が面白くて、後で使用するために保存したい場合はどうなりますか?多分あなたは代わりに新しい背景タブでそれを開き、現在のページを読み続けるべきです。または、このページを読み終えたと判断して、現在のタブのリンクをクリックするだけでもかまいません。
重要なのは、独自のワークフローがあり、それに応じてブラウザーを動作させたいということです。それがあなたのためにこの種の決定をしたなら、あなたはかなりイライラするかもしれません。
つまり、Web開発者は、リンクの場所、参照するソースのタイプやフォーマット、および何をするかを完全に明確にする必要があります。ツールチップはあなたの友達になることができます(タブレットまたは電話を使用している場合を除きます。その場合、モバイルサイトでこれらを指定します)。私たちは皆、私たちが予期していなかった場所に持って行かれたり、私たちが意図していないことを起こしたりするのがどれほど大変かを知っています。