パスワードは隠すべきか?

ウェブユーザビリティの第一人者である Jacob Nielsen (ヤコブ・ニールセン) 氏が、自身のブログ記事「Alertbox」の中で、「Stop Password Masking」という興味深い問題提起をしています。通常、ウェブサイトなどでパスワードを入力すると、画面には入力された文字列が表示されず、代わりに文字の数だけ「黒い点」が表示されます。こうした状況は、「フィードバックをユーザーに提供し、システムの状態を視覚化する」という基本的なユーザビリティ原則に反している、というのです。

さらにニールセン氏は、パスワードを隠すユーザーインターフェース (UI) について、以下のように否定的な見解を述べています。

ニールセン氏の見解は私自身、そのとおりだと思います。その一方で、以下のような理由から、パスワードは非表示にすべき、という考えもあるかと思います。

以上を勘案しての、現時点での私の考えとしては、多少の不便はあっても慣例どおりデフォルトではパスワードを非表示にしておいて、ユーザーが任意でパスワードの表示 / 非表示を選択できる機能を付加するのがよいのではないか、と思うところです。ただ、この手の実装としてよく見られる、JavaScript を用いて <input> 要素の type 属性を "password" から "text" に切り替えるテクニックは、いくつか懸念があるため、慎重に考える必要がありそうです。このあたりについては、記事「パスワードの入力文字列を任意で表示する」にまとめていますので、併せてご覧いただければと思います。