私のアプリケーションでは、ユーザーのブラウザがHTML5-capableであるかどうかを確認し、placeholdersを入力フィールドに表示できます(Modernizrを使用)。もしそうなら、私はすべてのlabels
をHTML文書から自動化された方法で取り除きたいと思っています。素人用語でJavaScript内のすべてのラベル要素を削除します
、ユーザーのブラウザは、プレースホルダをサポートしている場合、私はこれをオンにしたいと思います。この-inすべての中へ
<label for="email">
Email:
</label>
<input type="email" id="email" placeholder="Your email">
はoccurrence-:
<input type="email" id="email" placeholder="Your email">
私が持っているすべてがある:
if (Modernizr.input.placeholder) {
// Remove all labels from the HTML document
}
今まで私はid
をラベルに割り当てて1つずつ削除しましたが、より効率的なやり方のように。
Do not do that!仕様から*「プレースホルダ属性をラベルの代替として使用してはいけません」*ラベルを削除すると、人々は正しい値を正しいフィールドに入れているかどうかをチェックできなくなります(特にauto画面リーダーを使用している人がフィールドに入力する内容を知ることは非常に困難または不可能になります。 (あなたの例のための良いプレースホルダは "あなたの電子メール"ではなく "[email protected]"でしょう。) – Quentin
@Quentin。それは答えでなければなりません。私はその答えをアップヴォートするだろう – Ben
@ベン - 私はそれが良いアドバイスだと思うが、それは質問に答えることはできません。 – Quentin