Placeholder Text
Visual Example
The placeholder is text that appears inside a form control by default. In the below examples it’s the word “Search” and dashes.
Compliant Example:
Non-Compliant Example:
Acceptance Criteria
The placeholder
attribute does not take the place of a <label>
.
In this case you would need to add either a visible or an invisible form label for screen reader users.
One issue with the placeholder
is that it disappears once information has been entered into the field, making it more difficult for users to make corrections.
Don’t place important form instructions in the placeholder.
Ensure that important form instructions are available even when the user fills the data.
The placeholder attribute is announced by most screen reader and browser combinations.
Don’t place characters, such as dashes (-------) in the placeholder. It will be announced by screen readers as “dash, dash, dash, dash”.
As a screen reader user I should:
be provided with a form label
be able to explicitly associate the text label with the form control
When the form field has keyboard focus:
the screen reader should announce the form label and then the text in the placeholder
if the text in the placeholder is the same as the form label the placeholder will not be announced by the screen reader
Markup and Code
<form id="sfgov-search-form" role="search" novalidate="novalidate" method="post">
<div>
<label for="search-input">Search</label>
<input id="serch-input" type="text" placeholder="Search" />
</div>
</form>