2011-06-28 11 views
9

ラベルとフィールドは簡単です。我々は<label>を持っていて、次に関連する入力フィールドを持っています。しかし、フィールドの下に行くより小さな情報テキストのために使用する最も意味的に正しいHTML要素は何ですか?フォームフィールドヒント/メモの最も意味的に正しいHTML要素は何ですか?

<label for="firstname">First Name</label> 
<input type="text" id="firstname" aria-describedby="firstname-explanation" /> 
<p id="firstname-explanation">e.g. John</p> 

しかしlabelのすべてを含む良いようだ:私はそれらを接続するために、特定の要素や属性を知りませんが、あなたはARIA属性aria-describedbyを使用して行うことができます

enter image description here

答えて

6

私にも(意味のある容器のように、良いスタイリング能力を与える):

<label> 
    <span class="form-item-title">First Name</span> 
    <input type="text" id="firstname" /> 
    <span class="form-item-description">e.g. John</span> 
</label> 

または2つを混ぜてもすることができます。

別のアプローチは、(意味的にこれはそれを記述する1つである)(@Alohciにより示唆されるようにまたはplaceholdertitleで説明を入れてinput要素の属性かもしれないが、この場合には、あなたはそれを挿入する必要がありますJavascript(またはinput:after { content : "e.g. " attr(placeholder) }を使用するCSS - @Alohciによって提案されたCSS)を介したマークアップ。

+0

これはうまくいく可能性があります。私は、これを正しくマークする前に、要素の百科事典の知識を持つHTMLの達人が決定的な答えを出すことができるかどうかを確認するために、しばらく待っています。 –

+2

aria-describedbyは勇敢な試みですが、それにはいくつかの問題があります。まず、HTML5仕様では、aria属性は、ブラウザがどのようにプラットフォームのアクセシビリティAPIにコンテンツを公開するかについての唯一のディレクティブであり、意味情報を伝えるものではありません。第二に、例は説明ではありません。理想的な意味解決策は、例題のプレースホルダーの属性を作成し、その質問に描かれているように入力ボックスの外に出すようにスタイルを設定することです。今のところ、2番目の '

+0

@Alohci私はあなたが言うほとんどの事に同意します。時には例を使って何かを記述するのが最適です( 'placeholder'はまだ有効ですが、' title 'と同じ問題があります)。最良の結果を得るために、提案されている2つの 'label'の代わりに、私はまだ完全に有効な1つの' label'を使います。 – kapa

関連する問題