今日の午後、Opera の最新バージョンの Web アプリケーションにバグがあり、ちょっと立ち往生してしまいました。
通常、次の属性を指定することで、マークアップのタブ インデックス フローから要素を削除できます。
tabindex="-1"
これは、誰かがページに来て「タブ」キーを押し始めると、ドキュメント内のアンカー/入力をトラバースしますが、-1 が割り当てられた要素は無視されることを意味します。
ただし、Opera の空間ナビゲーション フローでは、ユーザーはキーボードからこれらの要素にアクセスできます。
他のブラウザーでタブキーのドキュメントトラバーサルを使用して要素を削除できるのと同じ方法で、Opera の空間ナビゲーションフローから要素を削除する別の方法を知っている人はいますか?
具体的には、入力ではなく Opera 経由でアンカーにアクセスできないようにすることです。
以下のマークアップは基本的な例を示しています。Opera 以外のブラウザーでは、タブ キーを使用してリストを移動できますが、リンク 3、4、および 7 は tabindex = -1 が設定されているためスキップされます。空間ナビゲーション (Ctrl+下/上矢印) を使用する Opera では、それらのリンクに引き続きフォーカスします。
<html>
<head>
<style>
:focus{border: 1px dashed green}
</style>
</head>
<body>
<ul>
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#" tabindex="-1">Link 3 (tabindex -1)</a></li>
<li><a href="#" tabindex="-1">Link 4 (tabindex -1)</a></li>
<li><a href="#">Link 5</a></li>
<li><a href="#">Link 6</a></li>
<li><a href="#" tabindex="-1">Link 7 (tabindex -1)</a></li>
<li><a href="#">Link 8</a></li>
<li><a href="#">Link 9</a></li>
</ul>
</body>
</html>