リンクはボタンのように見える多くのエンドユーザーWebフレームワーク(ブートストラップの1つです)があります。しかし、これらの2つは、ページ上のキーボードナビゲーションに関しては同じではありません。ボタンはSpace
でプッシュすることができます。リンクをアクティブにするには、Enter
を押す必要があります。JSFタブとスペースキーを使ってh:commandLinkをアクティブにする
サーバー側でh:commandLink
とh:commandButton
が機能的に同じであることを考えれば、キーボードナビゲーションを使用しても同じように動作させるにはどうすればよいですか?これは基本的には、h:commandLink
をリンクをクリックしてスペースバーを押すことによって同じアクションを引き起こす方法につきましては.xhtml
のソースを書き換えずに行うことができます。
私の限られた知識では、可能なオプションは、イベントリスナーを使用するか、または特別なタグラッパーを書くか、ResponseWriter
というカスタムを使用して、ツリー内の各ClientBehaviorHolder
を更新します。何か案は?
は試していませんそれは、プリムのようなライブラリのレンダラーをオーバーライドすることは安全だと思いますか? efaceまたは同様のもの?この場合、内部にはいくつかのロジックが失われるかもしれません。 – Osw
私はコアのJSFコマンド・リンクを試しました。それは私のために働いた。 'p:commandLink'を使用している場合は、そのレンダラーを' p:commandButton'のものに置き換えることができます。特にそれを試みていない。 –