リンクやフォームの各オブジェクトに対し 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」を組合わせたショートカットを作成できます。
また拡張関数を用いてキーの複数回入力(履歴ショートカット)も実装できます。