HTMLの要素(アンカーリンク)のタブストップを防止する


回答:


265

tabindex="-1"これは標準的な動作ではないため、一部のブラウザは属性をサポートしていますが、すべてではありません。


22
それはいい!ありがとう!FF3.5、IE8、CH3で確認しましたが、3つすべてで動作します。どうもありがとう!
Robert Koritnik、2009年

1
これについて心配する必要はありません。zzzzBovがここで述べるように、HTML5が助けとなり、この機能を標準化しました。したがって、有罪のブラウザはこれを見逃しているブラウザです。
TechNyquist 2017年

1
ハイパーリンクのタブストップを無効にすると、アクセシビリティルール(スクリーンリーダーを使用しているユーザーなど)に違反することに注意してください。これがユーザーベースの問題ではないことがわかっている場合は、問題ありません。
Ricardo Sanchez

73

最新のHTML5準拠のブラウザは、 [tabindex]属性をます。この場合、の値は-1要素のタブ移動を防ぎます。

値が負の整数
の場合ユーザーエージェントは、要素にフォーカスを設定できるようにする必要がありますが、順次フォーカスナビゲーションを使用して要素に到達することはできません。


1
ドキュメントの抜粋が常に役立ちます。;-)これは、これをサポートしていない人も少数であり、遅かれ早かれサポートする可能性が高いことを示しています。
Robert Koritnik 2014年

15

タブストップのない複数の要素をターゲットにする要素にJQueryハンドラーを適用できます。

$(document).ready(function () {
    $('.class').attr('tabindex', '-1');
});

それを行う方法の1つになるでしょう...


6

JavaScriptでこれを行うことができると思います。window.onkeypressまたはをオーバーライドしonkeydown、タブボタンをトラップして、フォーカスを希望の順序に設定します。


2
他の回答をチェックして、約1年前に回答された特に受け入れられた回答をチェックして、Javascript 使用せずにこの問題解決したかどうかはわかりません。
Robert Koritnik

2
OPや受け入れられた回答に対応していない場合でも、代替ソリューションに感謝します。中傷する必要はありません。
Anthony DiSanti、2011年

@Anthony DiSanti:それは本当ですが、この特定のケースでは、他の何かがよりうまく機能するのであれば、なぜjavascriptに頼るのかわかりませんか?それで、それがこの質問に対する答えでない場合、なぜそれがここにあるのですか?気にしないで。Javascriptは、通常、他の方法で実行できない場合に実行する最後のステップです。そして、@ Ammosiがあなたを侮辱したとしたら、ごめんなさい。私は無礼になるつもりはありませんでした。遅い答えをありがとう。
Robert Koritnik、2011

7
標準ベースのHTMLまたはCSSソリューションがある場合、JavaScriptを使用しないことに同意します。ただし、この場合はありません。元の投稿者はIE8およびFF3.5より前のブラウザをサポートする必要はありませんでしたが、私の仕事ではIE6までサポートする必要がありました。したがって、tabindexソリューションは適用できません。最大の市場シェアを持つブラウザで唯一の実用的なソリューションを提供することは、推奨されません。
Anthony DiSanti

4

hrefアンカータグから属性を削除する


できない場合はどうなりますか?
HakanFıstık18年

その種の解決策を回避するための質問にもかかわらずjavascriptを使用したい場合は、href属性を削除するために、次のようなものでjqueryドキュメントの$('[href="whatever-the-url-is"]').removeAttr('href');
オンロード

6
LOLはhrefを削除します
quemeful 2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.