【发布时间】:2013-10-16 23:45:48
【问题描述】:
我们正在尝试将表单的 3 列布局如下图的第二行
标签文本和表单元素的大小和类型可能会有所不同,因此很难按要求对齐以跨浏览器工作。我们正在尝试多种解决方案,一种可能性是为标签设置单独的行,为输入元素设置单独的行。然后我们可以将标签垂直对齐到底部并将输入元素对齐到顶部。
如果我们在标签上包含必要的 'for' 和 'aria' 属性以将其与输入元素相关联,即使标签和输入元素在源中不相邻,屏幕阅读器是否就足够了?可访问性是我们必须考虑的问题。
感谢您的任何建议。在下面摆弄
<div class="container_12" style="background:green;">
<div class="grid_4 lbl" >
<label for="firstName">TR 1 TD 1</label>
</div>
<div class="grid_4 lbl">
<label for="lastName" >Bonorum Fermentum Tortor Adipiscing Pharetra</label>
</div>
<div class="grid_4 lbl">
<label>Bonorum Fermentum Tortor Adipiscing Pharetra Bonorum Fermentum Tortor Adipiscing Pharetra</label>
</div>
<div class="clear"></div>
</div>
<div class="container_12" style="background:yellow;">
<div class="grid_4">
<input type="text" id="firstName"/>
</div>
<div class="grid_4"><textarea id="lastName"></textarea>
</div>
<div class="grid_4">
<input type="text" id="phone" />
</div>
</div>
【问题讨论】:
-
jsfiddle.net/wYdZr/6 那个小提琴会给你你想要的一部分,但我正在努力让文本正确定位。
-
这个:jsfiddle.net/wYdZr/8 可以,但是你必须在
.lbl上设置一个高度。 -
感谢您的回复和更新的小提琴,但我只想知道是否可以将标签放在与其相关的输入元素的单独 div 中!
-
对不起,我去你的小提琴,它的格式不正确。但是,是的,你可以这样做。标签不必直接位于输入旁边。但这是最佳做法。
标签: html css accessibility