以下に示すように、「自己ラベル付き」入力フィールドを使用して、javascript でユーザー名とパスワードを受け入れたいと思いました。UX的には、うまく機能しているようです。ただし、フォーカス/ぼかし時にパスワード入力フィールドの「タイプ」を変更しているため、これが何らかのリスクをもたらすのではないかと心配しています。おそらくそうすべきではありませんが、確認したいだけです。
<form method="post" action="/login">
<fieldset>
<h3>Login</h3>
<input id="username" name="username" type="text" value="Username" onblur="if (this.value == '') { this.value = 'Username'; }" onfocus="if (this.value == 'Username') { this.value = ''; }"/>
<input id="password" name="password" type="text" value="Password " onblur="if (this.value == '') { this.value = 'Password '; this.type = 'text' }" onfocus="this.type = 'password'; if (this.value == 'Password ') { this.value = ''; }"/>
<input id="submit" name="submit" type="submit" value="Login"/>
</fieldset>
</form>