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.8% done
How close this website is to fixing this issue.
HTML | Found on page | Issues |
---|---|---|
<input type="text" id="header-search-input" name="search">
|
124 | |
<input type="text" placeholder="Search" data-autocomplete-parameter="name">
|
47 | |
<input id="a2apage_find" class="a2a_menu_find a2a_localize" type="text" autocomplete="off" title="Find any service" data-a2a-localize="title,FindAnyServiceToAddTo">
|
5 | |
<input id="a2a_copy_link_text" type="text" title="Copy link" readonly>
|
5 | |
<select class="map-filter" name="filter" data-validation="select" data-json="/data/1,4/markers.json" required>...</select>
|
1 | |
<div title role="button" tabindex="0" style="width: 25px; height: 25px; overflow: hidden; position: absolute; cursor: pointer; touch-action: none; left: 46px; top: 130px; z-index: 155;">...</div>
|
1 |