1. UX:メッセージボックスはほとんどが悪
UXの観点から見ると、アラートボックスはすべての場合に不適切です。デスクトップアプリ。アラートまたはインラインJavaScriptメッセージとしてのWebアプリ。どこにでも。
理由を知りたい場合は、AlanCooper¹のFace 3について読むことができます。これがどのようにワークフローを中断してユーザーを悩ますか、そして現在のソフトウェアに存在するほぼすべてのアラートボックスが非常に間違っていることを非常によく説明しています。542ページの「「ウルフ!」と叫んだダイアログ」では、アラートボックスが定期的に閉じられているため、モデルが完全に壊れていると説明されています。本の543ページには、3つの主要な設計原則がリストされています。
- 聞かないでください。
- すべてのアクションをリバーシブルにします。
- モードレスフィードバックを提供して、ユーザーがミスを回避できるようにします。
次に、著者は、正しい設計アプローチによってアラートボックスを置き換える方法を教えてくれます。
プロンプトメッセージはわずかに異なります。それでも、それらはアプリのユーザーエクスペリエンスを損ないます。ユーザーが何かを入力したい場合は、テキストボックスまたはテキストエリアを使用して、必要に応じてJavaScriptで装飾することを検討してください。怠けてはいけません。RIAやAJAX対応アプリの時代に豊富なインターフェイスを提供してください。すべての場合において、JavaScriptが無効になっていると、プロンプトは表示されません。
Webページでは、アラートボックスとプロンプトの両方がほとんど迷惑です。いくつかの例:
一部のフォーラムでは、リストアイテムの入力を無限に要求することでリストを作成できます。これは、リストの作成中は、コピーアンドペーストを含むページ自体を使用できないことを意味します。また、単一の小さなフィールドがあります。長いテキストはどうですか?太字と斜体はどうですか?
「続行すると、写真はプロフィールから完全に削除されます。よろしいですか?」。もちろんそうです!それ以外の場合、[プロファイルから写真を削除]をクリックしますか?どうしてあなたのウェブアプリが私がそんなにバカだと思うの?実際、GMailとしてのGoogleアプリケーションは正しいアプローチを示しています。必要なものを削除、削除、破棄できます。削除すると、アプリに小さな「元に戻す」リンクが表示されます。
「私たちの最大の調査を受けたいですか?」。まあ、実際に私はあなたのウェブサイトを訪問するためにそこにいましたが、あなたはあなたの迷惑なメッセージで私を悩ますので、私はむしろどこかに行きたいです。
「著作権で保護された写真を保護するために、このウェブサイトでの右クリックは無効になっています」。実際、コメントを送信する前に、右クリックしてスペルチェッカーの言語を変更しました。もちろん、スペルをチェックせずに送信します。
結論:ユーザーエクスペリエンスの観点から、ほとんどの場合、アプリケーションは誤ってメッセージボックスを使用します。
ちょっと待って!多くの低品質Webサイトは、迷惑なJQueryメッセージをすべてのページを覆う半透明の背景で迷惑なアラートボックスに置き換えます。したがって、欠点は残ります。
さて、Webアプリケーションでメッセージボックスを使用しない別の理由があります。
2.設計:アラートボックスには独自の設計があります
警告ボックスをまったく設計することはできません。色、サイズ、フォントを変更することはできません。これにより、ユーザーはさらに煩わしくなります。Webアプリを使用していたため、ワークフローがどこからでも送信され、アプリの視覚的側面とさえ一致しないメッセージによって中断されます。ボタンの言語も、Webアプリケーションの言語ではなく、OS /ブラウザの言語と一致することをカウントしません。
デザイナーにとって、JavaScriptメッセージはアラートボックスよりもはるかに強力です。
また、はるかに広範囲です。太字と斜体を追加し、独自のボタンを選択できます(「申し訳ありませんが、入力したパスワードは無効です。[パスワードのリセット] [別のパスワードを試してください] [キャンセル]?」)。
3. JavaScript:アプリケーションフローが停止する
警告ボックスを表示すると、JavaScriptはユーザーがクリックするまで実行を停止します。ウェブサイトでは、大丈夫かもしれません。Webアプリでは、しばしば問題になります。
4.サンドボックス:ユーザーにコンピューターの再起動を強制しないでください
無限の数のメッセージボックスを表示する安っぽいWebサイトを覚えていますか?技術的背景が十分にないユーザーが作業を続行できる唯一の方法は、実際にはコンピューターを再起動することでした。これにより、問題が発生します。アラートボックスはWebサイトまたはWebアプリケーションの範囲外です。ユーザーがブラウザの他のタブにアクセスできないようにする権限はありません³。
同じ問題により、ブラウザーはさまざまな方法で解決する必要がありました。たとえば、Firefoxでは、タブにアラートを表示するときに他のタブへのアクセスが許可されます。一方、Chromeでは、ページからアラートボックスをもう表示しないことを確認できますが、他のタブへのアクセスはブロックされます。
Firefoxのアプローチは完全に有効ですが、Chromeのアプローチは(すべてのタブをブロックするため)批判される可能性があり、問題が発生します。本当に重要なものを見せようとしましたか?確かに、ユーザーには表示されません。
事実は変わりません。ほとんどのユーザーはアラートボックスに悩まされるため、ユーザーフレンドリーではなく、技術的背景が十分でないユーザーをひどくブロックする可能性があります。インラインでは、JavaScriptメッセージはページをブロックしますが、ブラウザ自体はブロックしません。Webアプリケーションのモデルは、ユーザーのキーボード例えば、アクセスのためのあなたができないサンドボックスの一種であり、またはコンピュータを再起動するか、ハードディスクからファイルを読み取るか、フルスクリーンまたは使用の2台のモニター、行くので、その遮断作用ブレークと警告ボックスを厳しくこのサンドボックスモデル。
最後になりましたが、アプリケーションがアラートボックスを表示することを決定したときにユーザーが別のタブにいた場合はどうでしょうか。ユーザーが重要なことをしていて、今すぐアプリとやり取りしたくない場合はどうなりますか?
¹ フェイス3、インタラクションデザインの要点、アランクーパー、ロバートレイマンおよびデビッドクローニン、ISBN 978-0-470-08411-3。第25章:エラー、アラート、および確認。
²これは単なる例です。それは本当に貧弱なデザインの選択なので、あなたのウェブアプリケーションでそれをしないでください。
³デスクトップアプリの世界と比較したい場合、インラインJavaScriptメッセージはデスクトップアプリケーションのメッセージボックスのようなものです。一方、ブラウザの警告ボックスは、他のデスクトップアプリケーションへのアクセスをブロックするフルスクリーンの不透明な背景に、最上部として設定された、どこからともなく現れるウィンドウのようなものです。私のコンピューターで1回実行することにしたアプリは、すぐに永久に削除されます。