HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

プレースホルダーを入力フィールドのラベルとして使ってはいけない理由――ただし、解決策はある

UXデザイナーの間では、「プレースホルダーテキストを入力フィールドのラベルとして使うべきではない」という警告をよく目にします。これには、しっかりとした理由があります。

実際に入力してみると分かる問題

まずは、下の入力フィールドに実際に文字を入力してみてください。何が起こるかに注目してみましょう。

すると、文字を入力し始めた瞬間に、プレースホルダーテキストが消えてしまうことが分かります。

なぜこれが問題なのか

メールアドレスとパスワードだけといったシンプルなログインフォームであれば、さほど問題にはなりません。しかし、項目数の多いフォームになると話は別です。入力を始めた途端にラベル(この場合、プレースホルダーが唯一のラベル)が見えなくなってしまうため、ユーザーは「各フィールドに正しく記入できているのだろうか?」と容易に混乱してしまうのです。

それでもデザイナーがプレースホルダーを使いたがる理由

多くのデザイナーが、入力フィールド内のテキストとしてプレースホルダーだけを使うスタイルを好むのには理由があります。それは、UIがすっきりと洗練された印象になり、ごちゃごちゃした感じを避けられるからです。これは確かにメリットと言えます。

しかし残念ながら、その見た目の美しさと引き換えに、ユーザーを混乱させてしまうリスクを負うことになります。ユーザーエクスペリエンスの観点では、これは絶対に避けたい事態です。

解決策は「フローティングラベル」

幸いなことに、このジレンマを解決する方法があります。それがフローティングラベル(Floating Labels)です。

フローティングラベルを使えば、すっきりとしたクリーンなUIを維持しながら、ユーザーが必要とする情報をすべて提供できます。入力前はプレースホルダーのように振る舞い、入力を始めるとラベルが浮かび上がって常に表示され続ける仕組みです。「デザインの美しさ」と「ユーザーの分かりやすさ」を両立したいなら、検討する価値のある手法といえるでしょう。

  1. HTML DOMのInput Textオブジェクトとは?基本構文・プロパティ一覧と実例コードを解説

    HTML DOMのInput Textオブジェクトは、<input>要素のうちtype=textが指定された要素に対応するオブジェクトです。テキスト入力欄を表すこのオブジェクトは、新規に作成する場合はcreateElement()メソッドを、既存の要素へアクセスする場合はgetElementById()メソッドを使用します。本記事では、Input Textオブジェクトで利用できる主なプロパティの一覧と、基本的な構文、実際に動作するサンプルコードをわかりやすく解説します。Input Textオブジェクトの主なプロパティInput Textオブジェクトには、以下のようなプロパティが用意

  2. HTMLのplaceholder属性とは?使い方とサンプルコードを解説

    HTMLのplaceholder(プレースホルダー)属性は、ユーザーが何も入力する前に、input要素やtextarea要素の中に表示されるヒントテキスト(仮置きの文字列)を指定するための属性です。フォームの入力欄に「氏名」「メールアドレス」など、どのような内容を入力すべきかを示すことで、ユーザーの理解を助け、入力ミスを減らす効果があります。placeholder属性の基本構文placeholder属性は以下のように記述します。<タグ名 placeholder=表示したいテキスト></タグ名>placeholder属性に指定したテキストは、入力欄が空の状態でのみ表示され