2

我有一个带有几个标签/输入标签对的表单。在同一表格中,我有一对仅供参考,即名称/值对。该值是计算出来的,是为了方便用户,不与表单一起提交。我想以一种看起来与标签/输入对一致的方式向用户呈现这些信息。即我希望名称值对的名称部分看起来像标签,但是在这种情况下,标签在语义上是不正确的,因为它不是指输入标签。我不需要看起来像输入的值部分,因为它不是输入,但我希望间距与输入相同。定义列表对于这类事情来说是完美的,但我担心这本身不是一个列表,它只是一个项目。

我在这里看到了一个类似的问题,但没有确定/接受的答案,而且它提到了无序列表。我认为定义列表是一个稍微不同的野兽,因为需要单个术语/定义对可能比在列表中有单个项目更常见。也许有一个我想要的标签,比如单个术语/定义对类型的东西,而我只是在放屁。

**编辑: **

一些代码来说明(用于上下文的围绕表单元素)

<div>
    <label for="PaymentDate">Payment Date</label>
    <input type="text" id="PaymentDate" name="PaymentDate">
</div>
<dl>
    <dt>Key</dt>
    <dd>Value</dd>
</dl>
<div>
    <label for="Reference">Reference</label>
    <input type="text" id="Reference" name="Reference">
</div>

或者

<div>
    <label for="PaymentDate">Payment Date</label>
    <input type="text" id="PaymentDate" name="PaymentDate">
</div>
<div>
   <span class="key">Key</span>
   <span class="value">Value</span>
</div>
<div>
    <label for="Reference">Reference</label>
    <input type="text" id="Reference" name="Reference">
</div>

所以我的问题是:从语义的角度来看,每种方法的优缺点是什么?对我来说跨度的缺点是,在这种情况下,我可能必须向跨度添加一个类来格式化它,因为我已经在使用跨度来获取错误消息,而我可以在我的 css 文件中制定一个规则来格式化定义列表,因为我在表单中使用定义列表的唯一目的是用于上述场景。

4

0 回答 0