在可访问性方面,通常的做法是不使用占位符代替标签,因为在进入字段时,占位符会消失。但是,如果我的占位符在之后作为视觉标签呢?
在这种情况下仅使用占位符代替实际标签是否仍然可以?如果是这样,我是否还需要用aria-label标记它?
答案 0 :(得分:4)
我不建议使用placeholder
属性或其他容器代替<label>
元素。
如您所述,这不是拥有&#34;视觉标签&#34;的问题。 <label>
元素在数据级以编程方式与<input>
元素相关联。
<label for="middle-initial">Middle Initial</label>
<input id="middle-initial">
placeholder
属性对于屏幕阅读器基本上是不可见的,因此它可以与<label>
结合使用,但不应该用作<label>
的替代。
如果您真的不喜欢在页面上显示<label>
的视觉效果,可以position the text off screen using CSS,或者如果您目前正在使用引导程序,则可以使用.sr-only
上课。