What does this mean?
People using screen readers are not able to see the layout of a form. To make forms accessible, they must define explicit text labels for each form control.
More helpUsually the best solution is to use a <label>
element. The label may be linked to
by the form control:
<label for="name">Full name</label>
<input type="name" id="name">
or the <label>
can be wrapped around the form control:
<label>
Full name <input type="name">
</label>
Buttons are different, as their labels are specified by the code for the button, e.g.
<input type="submit" value="Send message">
<button>Send message</button>
Alternatively ARIA attributes, such as aria-label
may be used, but this information
will not be conveyed to visual users. For more information, see W3C's guide to labeling controls.
Hidden input fields (<input type="hidden">
) do not require labels.
Note that the placeholder
attribute
should not be used as an alternative to a label.
0% done
How close this website is to fixing this issue.
HTML | Found on page | Issues |
---|---|---|
<button type="button" class="btn-collapse">...</button>
|
22 | |
<input type="text" name="s" id="keywords" value="type here..." onfocus="if (this.value == 'type here...') {this.value = '';}" onblur="if (this.value == '') {this.value = 'type here...';}">
|
4 | |
<button type="submit">...</button>
|
4 | |
<input type="text" size="20" name="hdcaptcha_cp_contactformtoemail_post" id="hdcaptcha_cp_contactformtoemail_post_1" value>
|
1 | |
<input class="span7" value="Website" onfocus="if (this.value == 'Website') {this.value = '';}" onblur="if (this.value == '' ) { this.value = 'Website';}" id="url" name="url" type="text" size="30">
|
1 | |
<input id="subject_1" name="subject_1" minlength maxlength class="field medium required" type="text" value>
|
1 | |
<input id="email_1" name="email_1" class="field email medium required" type="text" value>
|
1 | |
<input class="required span7" value="E-mail ( required )" onfocus="if (this.value == 'E-mail ( required )') {this.value = '';}" onblur="if (this.value == '' ) { this.value = 'E-mail ( required )';}" id="email" name="email" type="text" size="30">
|
1 | |
<input class="required span7" value="Nickname ( required )" onfocus="if (this.value == 'Nickname ( required )') {this.value = '';}" onblur="if (this.value == '' ) { this.value = 'Nickname ( required )';}" id="author" name="author" type="text" size="30">
|
1 | |
<textarea id="comment" name="comment" cols="45" rows="10" class="span12" aria-required="true"></textarea>
|
1 |