技 巧 鍵 盤 | ─ KeyNavi:キーボードを活用してホームページを快適に─ |
■ キー割当表示[Shift-H] |
ホーム KeyNavi対応方法 [0] JavaScript@Keynavi.Netトップ [1] レイヤーメニューとJavaScriptモジュール化 | ・サイトマップ [Shift-S] |
上のHTMLを見ると イベントハンドラなど スクリプトの記述がなく 代わりにID指定があるのみです。
以下が実行されるスクリプトです。 KeyNaviライブラリ関数を用いているのでJavaScriptを最初から書くのに比べると 簡潔&明快になります。
- | デザイナーは当該タグ内でID指定のみしておけばOK。
タグ内に「onmouseover=処理」など記述する必要が無いのでデザインに注力できる。
|
- | プログラマーはJavaScriptからイベントハンドラを登録できる。
デザイナーにJavaScript仕様を伝える必要が無い。
|
- | HTMLコードとJavaScriptコードを独立して扱える。
デザイナーとプログラマーが同時並行で仕事を進められる。
|
今回のようなデザイン寄りのスクリプトは 全てデザイナーが作るケースも多いので あまり有用性を 実感できませんが 高度なJavaScriptを組み込む場合には重要なアプローチです。
作成したJavaScriptは外部ファイルとしてまとめておくと便利です。 また デザイナーが独自にイベントハンドラ指定をしたとしても 「kl_addhandler()」を使っているため それらを上書きする心配が無いのも安心です。
上の例では テーブルセル、リンク、Tipsレイヤー各々でID指定が必要です。 しかしJavaScriptでDOMをうまく使えば ID指定を一箇所のみにしたり 色々工夫できます。 特定IDの要素の子要素のみに適用するといった 文脈セレクタ的な使い方をするのも強力です。 外部モジュールとしての完成度が高まります。
リンク1 | リンク2 |
- | マウスポインタがセル内に入ったら(onmouseover) 1.背景色を変更 現在どのセル上にマウスポインタがあるのか分かりやすい。
2.マウスポインタを「手(hand)」の形に変更
セル上はリンクとして機能することがユーザに伝わります。
3.Tipsレイヤーを表示
リンク先の説明を表示します。クリックすべきかのユーザの意志決定を補助します。
|
- | マウスポインタがセルの外に出たら(onmouseout) 1.背景色を透明に 2.Tipsレイヤーを隠す |
- | セル内でクリックが実行されたら(onclick) 1.指定URL「#」へ移動
クリック先がリンク文字列でなくてもOK。
リンクの範囲がセル全体となり広くなるので クリックしやすく
Usabilityが向上します。
|
上記はレイヤー関数を利用した簡単なサンプルです。 必要に応じてTipsレイヤーの位置を変更しsubメニュー化したり 半透明レイヤーにしたり 色々工夫してみて下さい。
単にTipsレイヤーを表示したい場合は <a>タグにHTML内でハンドラを 指定します (JSからは不可、NS4ではID値からリンクオブジェクトを引けない)。
いずれにせよ 対応コストが格段に上がるので 使用率 0.6% を考慮すると このような見栄え系機能はNS4非対応でもいいでしょう。
【JavaScript@Keynavi.Net :
レイヤー編:基本
】
「Ctrl-矢印」でフォーカスを上下左右に移動できます。
|
トップへ戻る [1] | Back[Q] ・Top[W] ・Up[E] ・PgUp[R] ・Focus[Ctrl-矢印] |
ホーム KeyNavi対応方法 [0] JavaScript@Keynavi.Netトップ [1] レイヤーメニューとJavaScriptモジュール化 | ・サイトマップ [Shift-S] |
■ キー割当表示[Shift-H] | ─ KeyNavi Project 2003 ─ |