というjavascriptで別ウィンドを開きたいのですが、onKeypress属性をつけるのが正しいと聞きました。
いろいろ試すのですがonKeypressをつけるとうまく動きません。
どうやって書いたらいいでしょうか?
聞きました、というのは以下のことかと思います。
Another HTML-lint 結果の解説 - ATTRA 属性を使うときは ATTRB 属性も指定しましょう。
ウェブコンテンツ・アクセシビリティ・ガイドライン1.0 技術書 9.3 スクリプトを使用する場合は、装置に依存するイベントハンドラではなく、論理イベントハンドラを指定する。
onClick 属性はマウスでしか使えないイベントなので、キーボードでも使えるよう onKeypress 属性「も」設定しておきましょう、ということなのですが、ひょっとして onKeypress「だけ」設定して、onClick は削除されていたりしないでしょうか?
なお、蛇足ですが、href 属性の値として # や javascript:void(0) 等の無意味な値を設定するのは、アクセシビリティ・ユーザビリティ上あまり好ましくありません。
下記のように、href 属性ではあくまで普通にリンク先を記載し、イベント属性からは this.href で参照するのがより良いかと思われます。
<a href="XXXXXX" onclick="window.open(this.href);return false" onkeypress="window.open(this.href);return false">
onKeypress属性はその要素上でキーが押されたときのイベントなので、マウスクリックでは動作しません。
たぶん、onKeypress属性は要らないと思います。
考えられるのは、リンクにフォーカスを当ててEnterを押してもonClickが呼ばれない場合のために、onKeypressでEnter押下を検知し、スクリプトを実行するということですが・・・。そういう事例は聞いたことがないです。
逆に、多くのブラウザはリンク上でEnterを押すと、onClickもonKeypressも呼ばれてしまうので、気をつけないとウィンドウが2つ開いてしまいます。
参考になれば幸いです。
ありがとうございます。
http://www.koikikukan.com/archives/2007/03/30-003838.php
サムネイルをポップアップ表示する HighSlide JS で onclick 属性および onkeypress 属性を JavaScript で自動的に登録する方法です。
ここでは Movable Type と WordPress プラグインを例に説明します。
ありがとうございます。
>> id:susie-tさん
> たぶん、onKeypress属性は要らないと思います。
アクセシリビリティのことを言ってます。
http://htmllint.itc.keio.ac.jp/htmllint/explain.html#event-pair
どのように「うまく動かないか」を書いていただけないと、ちょっと理由はわからないと思います。
ありがとうございます。
聞きました、というのは以下のことかと思います。
Another HTML-lint 結果の解説 - ATTRA 属性を使うときは ATTRB 属性も指定しましょう。
ウェブコンテンツ・アクセシビリティ・ガイドライン1.0 技術書 9.3 スクリプトを使用する場合は、装置に依存するイベントハンドラではなく、論理イベントハンドラを指定する。
onClick 属性はマウスでしか使えないイベントなので、キーボードでも使えるよう onKeypress 属性「も」設定しておきましょう、ということなのですが、ひょっとして onKeypress「だけ」設定して、onClick は削除されていたりしないでしょうか?
なお、蛇足ですが、href 属性の値として # や javascript:void(0) 等の無意味な値を設定するのは、アクセシビリティ・ユーザビリティ上あまり好ましくありません。
下記のように、href 属性ではあくまで普通にリンク先を記載し、イベント属性からは this.href で参照するのがより良いかと思われます。
<a href="XXXXXX" onclick="window.open(this.href);return false" onkeypress="window.open(this.href);return false">
ありがとうございます。
ありがとうございます。