一般的なフォームをデザインしています。すべての入力には、そのすぐ上にラベルが配置されています。
私の質問は、入力フィールドのプレースホルダーの使用についてです:
ラベルのリマインダー(例:ラベル:ユーザー名、プレースホルダー:ユーザー名を入力)またはサンプルデータを表示(例:ラベル:ユーザー名、プレースホルダー:chuckNorris)?
データの例(ChuckNorris
)ではなく、短いヒント(例では "Type your username
")である必要があります。
これは、プレースホルダが、特に一目で、入力済みのフィールドと間違われる可能性があるためです。サンプルデータを表示するプレースホルダーがある場合、そのフィールドはすでに入力されていると考える人の可能性が高くなります。
現在の W3サイト は、次のアドバイスを提供します。
placeholder=文字列
ユーザーのデータ入力を支援することを目的とした短いヒント(単語または短いフレーズ)を表します。
注:それは言うことを続けます:
ヒントは、サンプル値または予期される形式の簡単な説明です。ヒントやその他の助言テキストが長い場合は、title属性がより適切です。
ただし、これは正しくありませんW3仕様の将来のバージョン で更新されています。これは、<title>
これらの状況では、属性は適切または有用であるとは見なされなくなりました。更新されたアドバイスは(現在のドラフトから):
プレースホルダー属性は、ラベルの代わりとして使用しないでください。より長いヒントやその他の助言テキストについては、コントロールの隣にテキストを配置してください。
placeholder
の代わりにlabel
属性を使用すると、高齢者や認知機能、可動性のあるユーザーを含むさまざまなユーザーのコントロールのアクセシビリティと使いやすさが低下する可能性があります。細かい運動能力または視覚障害。コントロールのlabel
によって提供されるヒントは常に表示されますが、placeholder
属性で提供される短いヒントは、ユーザーが値を入力する前にのみ表示されます。さらに、placeholder
テキストは事前に入力された値と間違われる可能性があり、一般的に実装されているように、プレースホルダーテキストのデフォルトの色は不十分なコントラストを提供し、個別の可視ラベルがないため、使用可能なヒット領域のサイズが小さくなりますコントロールにフォーカスを設定します。
したがって、プレースホルダーを使用する場合(そして、使用する場合はおそらく慎重に検討します)、それが例ではなくヒントであることを確認してください。ただし、フォームを正しいマークアップ(必要に応じて正しいラベルと説明文)で囲み、プレースホルダーのスタイルを設定して、それがデータではなくプレースホルダーであることを確認してください(ただし、アクセスできるほど十分なコントラストがあり、全体としてとんでもない偉業です!)