Issue
When it comes to accessibility, it's a common practice to not use placeholders as substitute for labels because upon entering something into the field, the placeholder disappears. But what if my placeholder acts as a visual label afterwards?
Is it still okay to only use a placeholder in this case in place of an actual Label? If so, do I also need to tag it with an aria-label as well?
Solution
I would not recommend using a placeholder
attribute or other container in place of a <label>
element.
This is not an issue of having a "visual label", as you described. The <label>
element is associated with the <input>
element programmatically at the data-level.
<label for="middle-initial">Middle Initial</label>
<input id="middle-initial">
The placeholder
attribute is essentially invisible to screen readers, so it can be used in conjunction with <label>
, however it should not be used as a substitute for a <label>
.
If you really don't like the visual appearance of having the <label>
on your page, you can position the text off screen using CSS, or if you're currently using bootstrap, you can use the .sr-only
class.
Answered By - Josh
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.