前回の「メッセージボックスは誰のため?」の続きです。

3択形式の明暗

 メッセージボックスには3択の表示形式が二種類あります。

  • AbortRetryIgnore:[中止][再試行][無視]
  • YesNoCancel:[はい][いいえ][キャンセル]

 一つ目は AbortRetryIgnore です。これはどういった場面で使うのでしょうか。何らかのデバイスなどにアクセスする処理で失敗した場合に表示するのかも知れません。それと「無視」とは、いったいどういうことでしょうか?無視してうまく動作するはずがありません。どうにも理解できないため、いろいろ悩んでいると AbortRetryIgnore について興味深い記事を見つけましたので引用します。

AbortRetryIgnore([中止]、[再試行]、および[無視]ボタンを表示)は、MS-DOSが使用していたあの悪名高きメッセージをベースにしています。記憶している方もいるかと思いますが、何らかの理由により応答しないデバイス(通常はフロッピーディスク)にアクセスを試みると、MS-DOSはこのメッセージを表示していました。これらのボタンの使用は、特別な理由がない限り、グラフィック環境では避けた方がよいでしょう。

 AbortRetryIgnore の使用は勧められていないようですね。代わりに RetryCancel を使用しましょう。これならボタンが2択になるため、選択に戸惑う事もなくなると思います。

 では AbortRetryIgnore の初期フォーカスは、どのボタンがいいのでしょうか。「無視」がどうにも理解できませんが、キャンセルと同等の動きをする「中止」がいいと思います。

 二つ目は YesNoCancel です。これはある動作をする時に別の動作を促すときに使えそうです。代表的なのがメモ帳です。メモ帳を編集中に[閉じる]ボタンを選択すると「変更を保存しますか?」と聞いてきます。ユーザは忘れているであろう保存をすることを選べ、本来の閉じる動作も同時にできます。またキャンセルする事で編集し直す事もできます。このメッセージを利用して、メモ帳で内容を保存しないまま直接[閉じる]ボタンを選択して、保存と閉じる操作を同時に行っている方も多いのではないでしょうか。これは、YesNoCancel を非常にうまく使っている例だと思います。3択形式ならではの特徴でしょう。これなら積極的に使用してもいいと思います。

 YesNoCancel の初期フォーカスは[Cancel]ボタンがいいと思います。理由は2択形式の場合と同じく、誤った動作を行わせないためです。

アイコンは目立つ

 メッセージボックスが頻繁に表示されると、メッセージを読むことなく[OK]ボタンなどを選択してしまう事があります。これって危険な行為だと思いませんか。もし、普段と違うメッセージが表示されていて、[OK]ボタンを選択すると全く違う動作をしてしまったら。このような事態を避ける為に、メッセージボックスには普段と違うアイコンを表示するといいと思います。メッセージを見なくても色は自然と目に入ってきます。普段と違う色のアイコンが表示されていたら、メッセージにも目が行くようになると思います。普段は Information などの白いアイコン。注目してほしい時は Warning などの黄色いアイコン。例外などの最悪の事態には Error などの赤いアイコン。という具合に効果的にアイコンを使い分ける事で、ユーザの誤操作を防ぐ事ができると思います。

 ここで改めて自分に「メッセージボックスは誰のため?」と問うてみてください。そこにはどんな答えが見えているでしょうか。