【问题标题】:Form labels and input elements in separate div's在单独的 div 中形成标签和输入元素
【发布时间】:2013-10-16 23:45:48
【问题描述】:

我们正在尝试将表单的 3 列布局如下图的第二行

标签文本和表单元素的大小和类型可能会有所不同,因此很难按要求对齐以跨浏览器工作。我们正在尝试多种解决方案,一种可能性是为标签设置单独的行,为输入元素设置单独的行。然后我们可以将标签垂直对齐到底部并将输入元素对齐到顶部。

如果我们在标签上包含必要的 'for' 和 'aria' 属性以将其与输入元素相关联,即使标签和输入元素在源中不相邻,屏幕阅读器是否就足够了?可访问性是我们必须考虑的问题。

感谢您的任何建议。在下面摆弄

http://jsfiddle.net/wYdZr/5/

    <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


【解决方案1】:

如果我们在标签上包含必要的 'for' 和 'aria' 属性以将其与输入元素相关联,即使标签和输入元素在源中不彼此相邻,屏幕阅读器是否就足够了?

是的,这就是为什么首先出现for attribute

当然,总有一些屏幕阅读器(版本)不支持for的可能性,但这应该是少数,错误显然在他们这边。

for 方法在 WCAG 2.0 技术H44: Using label elements to associate text labels with form controls 中也有提及。请注意,此特定技术的测试会检查标签的位置:

  • label 之前 input (text, file, password), textarea, select
  • label 之后 input (checkbox, radio)

但这只是此特定技术的要求,因此您不一定必须遵守它,因为还有其他技术和方法可以满足相关的成功标准。

【讨论】:

    【解决方案2】:

    您可以简单地使用 HTML 表格,无需 div。

    <table>
    <tr>
    <td></td>
    </tr>
    </table>
    

    检查这个:http://jsfiddle.net/wYdZr/7/

    希望对你有帮助!

    【讨论】:

    • 感谢您的回复,但这并不能回答我的问题。表格当然是一种选择,但基于网格的方法肯定更适合可访问性和屏幕阅读器吗?
    • 不客气!我认为表格比 div 更适合网格查看,因为它具有灵活的宽度。
    • 表格在网格查看方面比 div 更好吗?一个 div 也可以有一个灵活的宽度。
    猜你喜欢
    • 1970-01-01
    • 2017-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-18
    • 2011-02-06
    相关资源
    最近更新 更多