HDML Language

ソフトキーについて

HDMLでは、「ACTION TYPE=ACCEPT」や、「ACTION TYPE=SOFT1」などと、ACTIONタグ内で、
ソフトキーのナビゲーションを指定します(AタグまたはCEタグ内でもナビゲーション指定はできますが、これらは「TYPE=ACCEPT」固定です)。

タグリファレンスにも書いていますが、「TYPE」オプションは、上記の2つだけではありません。
「TYPE=PREV」(「TASK=PREV」ではありません)、「TYPE=SEND」など、ナビゲーションを指定できる
ソフトキーにはいろいろあるのです。

例として、au携帯電話 C401SA のソフトキーを以下に図解してみました。

C401SAには「SOFT2」キーがある。
しかし、この「SOFT2」キーを持つデバイスは
少ない。
au携帯電話には、「HELP」キーは存在しない。
代わりにブラウザメニュー→ヘルプと操作することで「HELP」キーを指定したのと同じ動作をする。

各ソフトキーへ割り当てる動作

ソフトキーに割り当てる動作には、以下の表のようなルールがあります。
これらは、特に強制ではありませんし、自由に動作を割り当てても構いませんが、ユーザーの
直感的なナビゲーションを誘導するためにも、従った方がよいと思います。
動作内容 ソフトキー
最も一般的な動作 ACCEPT

次の項目または次のカードへの移動

ACCEPT

問いかけに対して「はい」と答える

ACCEPT

問いかけに対して「いいえ」と答える

SOFT1
動作のメニューの表示 SOFT1
値の変更 ACCEPT

電話をかける

ACCEPTまたはSEND
電子メールの送信 ACCEPTまたはSOFT1
現デッキ(カード)のヘルプを表示 HELP
au携帯電話には、「HELP」キーはありません。
代わりに「ブラウザメニュー→ヘルプ」と操作することにより、「HELP」キーを押したのと同じ動作を
させています。
しかし、ここで問題なのは、ユーザー側で、どの程度、このヘルプファイル表示の操作方法を
知っているか−ということです。
現状では、ヘルプファイルを「TYPE=HELP」で指定するより、「CE」タグや、「A」タグ等で選択させる
方が無難では
ないか、というのが私の個人的な意見です。

ソフトキーのラベル指定

ソフトキーには、「LABEL=」オプションでラベル(画面下部に表示される)を指定することが
出来るものがあります。
ラベル指定できるのは、「ACCEPT」と「SOFT1-SOFT2」です(「SOFT2」は、このソフトキーを搭載しているデバイスのみで有効)。
ソフトキー ラベル
ACCEPT デフォルトで「OK」が表示される。
動作内容によって適切なラベルを指定する。
PREV ラベル指定は無効。
SOFT1-SOFT2 デフォルトでは何も表示されないので、
必ず適切なラベルを指定すること。
HELP ラベル指定は無効。
SEND ラベル指定は無効。
DELETE ラベル指定は無効。

各ソフトキー動作のルール

ソフトキーには、各々、その動作のためのルールが決められています。
以下に各ソフトキーの動作の仕組みを記します。
(出典:Openwave HDML Language Reference(英語))
■ ACCEPT
ACCEPTキーを押した時、デバイスは以下のようなルールに基づき動作を決定します。
  1. 現在のカードがCHOICEカードであり、ユーザーが選んだ選択肢がTASKを指定していれば、
    TASKを実行し、以下のルールを省略する。
  2. ユーザーが、TASKを指定するリンクにスクロールしていれば、TASKを実行し、以下の規則を
    省略する。
  3. 現在の"カード"がACCEPT動作を指定していれば、ACTIONにより指定されたTASKを実行し、
    以下の規則を省略する。
  4. 現在の"デッキ"がACCEPT動作を指定していれば、ACTIONにより指定されたTASKを実行し、
    以下の規則を省略する。
  5. 前画面を表示する。
■PREV
PREVキーを押した時、デバイスは以下のようなルールに基づき動作を決定します。
  1. 現在の"カード"がPREV動作を指定していれば、ACTIONにより指定されたTASKを実行し、
    以下の規則を省略する。
  2. 現在の"デッキ"がPREV動作を指定していれば、ACTIONにより指定されたTASKを実行し、
    以下の規則を省略する。
  3. 前画面を表示する。
    もし現在のカードが現在のアクティビティ内で最初のカードなら、現在のアクティビティを
    キャンセルし、呼び出し元のアクティビティに戻る。
■SOFT1-SOFT2
UP.Phoneは、SOFT1-SOFT2を同様な方式で処理します。
SOFT1/2キーを押した時、デバイスは以下のようなルールに基づき動作を決定します。
  1. 現在の"カード"がSOFT1/2動作を指定していれば、ACTIONにより指定されたTASKを実行し、以下の規則を省略する。
  2. 現在の"デッキ"がSOFT1/2動作を指定していれば、ACTIONにより指定されたTASKを実行し、以下の規則を省略する。
  3. 1. と 2. にあてはまらなければ、何もしない。
    デッキレベルでキー動作を指定した場合、個々のカードでそのキー動作を無効にしたいなら、カードでTASKなしのACTIONを指定すること。
■HELP
HELPキーを押した時、デバイスは以下のようなルールに基づき動作を決定します。
  1. 現在の"カード"がHELP動作を指定していれば、ACTIONにより指定されたTASKを実行し、
    以下の規則を省略する。
  2. 現在の"デッキ"がHELP動作を指定していれば、ACTIONにより指定されたTASKを実行し、
    以下の規則を省略する。
  3. 現在の場所にはHELPファイルが無いというメッセージを含んだビルトインカードを表示する。
■SEND
SENDキーを押した時、デバイスは以下のようなルールに基づき動作を決定します。
  1. 現在の"カード"がSEND動作を指定していれば、ACTIONにより指定されたTASKを実行し、
    以下の規則を省略する。
  2. 現在の"デッキ"がSEND動作を指定していれば、ACTIONにより指定されたTASKを実行する。
  3. 1. と 2. にあてはまらなければ、何もしない。
■DELETE
DELETEキーを押した時、デバイスは以下のようなルールに基づき動作を決定します。
  1. 現在のカードがテキスト入力カードなら、カーソルの左側の文字を削除する。
  2. 現在のカードがDELETE動作を指定していれば、ACTIONにより指定されたTASKを実行し、
    以下の規則を省略する。
  3. 現在のデッキがDELETE動作を指定していれば、ACTIONにより指定されたTASKを実行する。
  4. 1.〜3.にあてはまらなければ、何もしない。

Home Pageに戻る


最終更新日:2005年7月30日
© My First HDML