技 巧 鍵 盤 ─ KeyNavi:キーボードを活用してホームページを快適に─    
キー割当表示: レイヤー [Shift-X] ウィンドウ [Shift-Y]        
ホーム KeyNaviとは [0] 「ホームページが使いにくい10の理由」トップ [1] 「accesskey」によるショートカットの問題点 ・サイトマップ [Shift-Z]

■ 「accesskey」によるショートカットの問題点

リンクやフォームの各オブジェクトに対し HTML内で 「accesskey="キー名"」を指定することによりショートカットキーを設定できます。

例えば<a href="yahoo..." accesskey="y">yahoo!</a>と記述すると 「ALT-Y」でリンクが「activate」されます。

オブジェクト毎に動作が異なるのでユーザが混乱 (IE5-6)
リンクについてはフォーカス実行のみ、 フォームのsubmitボタンやresetボタンではクリックが実行され ページが移動してしまいます。
一貫性が無いのでユーザが混乱します。

ブラウザ毎に動作が異なる
リンクについての動作は先述のとおりIE5.0/5.5/6.0ではフォーカス設定、 IE4.0/NS6.0/7.0ではクリックが実行され該当ページへ移動します。

なお Netscape4,Opera6ではaccesskeyはサポート外です。

ブラウザ毎に入力方法が異なる
ブラウザによっては「ALT」の代わりに「Ctrl (MacIE5)」を使うなど 操作方法が異なります。Opera7では「Shift-Esc」後に該当キーを押します。

各ブラウザのユーザ毎に別々に説明する必要があります。
「Windowsの方はALTキー、MacIEではCtrlを押しながら該当キーを押す。 Opera7ではCtrl-Escを押した後に該当キーを押して下さい。」

実行される動作内容が既定で変更不可
各オブジェクトごとにクリックかフォーカスの何れかが既定です。 KeyNaviのように 「URLアクセス」「Focus実行」「Click実行」「ページ内移動」「指定関数の実行」 といった動作を選択して指定することが出来ません。

参考:(Sorry! Link not compiled...)

メニューバー内の既存のショートカットと重複
「accesskey="f"」とした場合 メニューバーへの既存のショートカット(ALT-F=ファイルメニュー)を上書きします。 「ALT-F」で「ファイルメニュー」にアクセスできなくなります。

特に問題になる点として メニューに使われているキーはブラウザ毎に異なります。 IE4.0(FEVGAH)、IE5.0-6.0(FEVATH)、NS6.0(FEVSGBTH)、 NS7.0&Mozilla1.2(FEVGBTWH) などバラツキがあります。

その結果 安定して使える英字キーは 上記をのぞいた「CDIJKLMNOPQRUXYZ」の16個に限られてしまいます。

また 日本語版、英語版以外のブラウザでは上記以外のキーが割当てられている こともあります。

「KeyNavi」では「Shift」の利用をお勧め!。
「ALT」「CTRL」は既存ショートカットの問題がありますが 「Shift」は互換性があり各ブラウザで安定して使えます。 「A」から「Z」まで全て使えます。

>>アプリケーションサーバZopeでの利用では 「Shift-英数字」で該当文字で始まるリンクやボタンにFocusするように しています。

フォーカス中のフレーム内のオブジェクトしか扱えない
複数のフレームから成るページで問題になります。 アクセスしたいオブジェクトが別フレームにある場合は マウスでそのフレームをクリックしてフォーカスした後に 実行する必要があります。

KeyNaviの拡張APIを使ってこの問題に対応できます。
>>アプリケーションサーバZopeでの利用では 3つのフレームから成るページを扱っています。 menuやtopフレームにフォーカスがある場合でも常にmainフレーム内のオブジェクトに アクセスできるようにしています。

またKeyNaviのフォーカス機能では複数窓、複数フレーム間で 連続的にフォーカスを移動できます。 フォーカスするWindowの変更にマウス操作は不要です。

そもそもALTキーが押し難い?!
見にくい位置にあるので 間違えて「Windowsキー」「変換」「無変換」「ひらがな」 を押してしまう場合があります。 またこれらのキーはキーボードごとに位置が異なることも多く、 複数のパソコン(特にノート型)と併用する場合に混乱します。


「KeyNavi」のショートカットは各ブラウザで共通に動作。入力方法も同じ。

参考:>>アプリケーションサーバZopeでの利用

KeyNaviではブラウザ間差異を吸収し 拡張APIにより 「ALT」だけでなく「Ctrl」「Shift」を組合わせたショートカットを作成できます。 また拡張関数を用いてキーの複数回入力(履歴ショートカット)も実装できます。

配列「KL_KEY2XXX」を使う、 リンク文字列から自動算出する、 idやnameにより指定する3種類の指定方法があります。
動作にはページ内・ページ間移動、 フォーカス、クリック、関数実行を指定できます。
キーイベント処理の工夫(<JavaScript@Keynavi.Net)




【ホームページが使いにくい理由】
「Shift-英字」でアクセス! 「Q」で前のページに戻れます。

A.リンククリック:キー操作に比べ面倒
B.「Tab」フォーカス:予想外の動作
C.スクロールが不便:マウス編
D.スクロールが不便:キーボード編
E.ページ内・ページ間往復が面倒
F.URLやしおりでスクロール位置を扱えない
G.「次のページ」に移動するためのコスト
H.リンクを探し出しクリックしないといけない
I.「accesskey」によるショートカットの問題点
J.複数窓、フレーム間でのフォーカス移動が面倒

トップへ戻る [1]
ホーム KeyNaviとは [0] 「ホームページが使いにくい10の理由」トップ [1] 「accesskey」によるショートカットの問題点 ・サイトマップ [Shift-Z]
■キー割当表示: レイヤー [Shift-X] ウィンドウ [Shift-Y] ─ KeyNavi Project 2003 ─