スタンドアロンの場合は好例が思いつかんけど。最近の通信カラオケの高機能なリモコンなんかは番号入力と検索のメニューが同列になってて時々操作を見失うことはあるかな。動的にイネーブル/ディスエーブル表現を切り替えるのはなかなか大変ですが、GUIの基本的な作法の1つとして、またエラーを発生させないための工夫として、取り組んでいくべきだと思います。制御で多用してしまうのもどうかと思ってしまうのですが。する)、あるいはごく一定の時間のみデータの送信を行わないようにしたい場合、のどっちかになると思う。(はっきりいってそんな実装にする必要はまったくないと思うけどね)。制御を行う場合、さまざまなシチュエーションが考えられるわけだけど、これの実現については、まぁ、優先順位はそんなに高くは無いと思う。する、というのは、その項目については入力する必要が無いことを示す、ということ。(個人情報を求めるようなケースでは微妙なところだけど)。いろいろなWebアプリケーションを見ていると、多くのフォーム画面にクリアボタンが配置されています。「フォームにはクリアボタンを配置するもの」という理由のない慣習からそうしているだけのケースが多いようです。簡単に作れてしまうのも原因でしょう。技術関連書籍で、サンプルプログラムなどにおいて当たり前のようにクリアボタンが用意されていたりするのも原因だと思う。アプリにおけるフォーム様式の慣例だ」という誤解を広める役には十分立っていたんではないかな。この手の「出せば売れる」技術参考書ってのはダメプログラマーを量産する役にしか立っていないからな~。自分が過去に作ったものを見るにつけ、あまり人のことは言えなかったりもするわけですが。∧||∧ここで注意しなければならないのは、ユーザーに提示される選択肢はすべて有効性が確保されていなければならないということです。先述のとおり、現在の状況からユーザーにとって生産的な意味を持たない選択肢は隠す(またはディスエーブルにする)必要があります。ところが現実には、無効な値を選択できてしまう制限コントロールを多く目にします。チケットなどの予約をするシステムで、過去の日付や「2月31日」といった存在しない日付が選択できてしまうなどです。「有効な選択肢だけが見える」ように動的に選択肢を制御しなければなりません。これも徹底して実装するのはそれなりに大変なことですが、「選択できる項目はすべて有効である」というシステムの信頼性を保つために、できる限り努力することが望まれます。カレンダーコントロールを実装しろと。実装は便利じゃないんだよね。おいらから言わせてもらえばここはがんばるべきところではない。チェックして再入力を促す程度でもそんなにストレスは無いと思う。作ってしまうという手も。(^_^;「ユーザーは間違えない」ということを前提にシステムをデザインすることは、開発者にとっての大きな挑戦です。それはエラーメッセージの廃絶を目指すことであり、プログラムをクラッシュから防ぐというもう1つの責任を果たすためのハードルがさらに高くなることを意味します。これはとても価値のある挑戦でしょう。(-.-)ボソッ・有効値の範囲を広げる。上記の方法はエラーを防ぐための一般的な考え方ですが、ユーザーからすれば、可能な操作が一方的に制限されるという意味であまり気持ちのよいものではありません。理想は、ユーザーの動きを制限するのではなく、システム側の動きに柔軟性を持たせることです。そのためには、有効値の範囲を広げて、ユーザーができるだけ好きな書式で入力できるようにします。簡単なところでは、「半角を全角に」「ひらがなをカタカナに」「ハイフンやスペースなどを消去」といった文字列処理をシステム側で行い、ユーザーがそのような制約を気にしなくても済むようにします。電話番号などのテキストボックスに全角数字で入力すると、「電話番号は半角数字で入力してください」といったエラーメッセージが表示されますが、どうすればよいのかをシステム側が知っているのなら、それはシステム側が行うべきなのです。そこまでシステムに信頼を預けられるユーザーって。いるんだよねでもwちなみにバグがもっとも混入しやすい処理ってのはまさしく文字列処理でございまして、バグの混入を回避する設計指針として、できる限り文字列処理を減らすという手法は結構有効だったりするわけなんですけれどね。みたいなステートメントがビルトインな言語で文字列処理やるのはホネでしょうなぁ~。正規表現のほうがバグ混入率はむしろ上がるんだけどねw。目的を達成するためにユーザー自身によって確実に判断してもらわないと後でユーザー側にリスクが発生するような入力項目では、安易なデフォルト値は設けない方がよいでしょう。ショッピングサイトのユーザー登録のフォームなどで「今後メールニュースで最新情報を受け取る」というチェックボックスにデフォルトでチェックが入っていたり、支払い方法を選ぶラジオボタンで「提携クレジットカードで支払う」といった有料のオプションがデフォルトで選択されていたりすると、後になってユーザーが困る恐れがあります。いやだからそれは運営側が狙ってやってるんだってば(とかゆw)。必要な項目の再入力をお願いする画面これまた卑屈極まる。w個人的に、システムが低姿勢である必要はあんまりないと思うんだけどなぁ。メッセージは丁寧であることよりも、簡潔かつ明瞭であることのほうが重要だと思う。このような「システムがインテリジェントに作業を補助する」動きは、やり過ぎるとかえってユーザーを混乱させるからです。抜け目無ぇなあwwwwwwんで、最後に。部分について極力エラーを出さないように設計したのだとしても、サーバ側においては異常系の処理をしっかり実装することは肝要だったりするのであります。