我有一个字段集,如下所示:
<fieldset>
<div class="input-left">
<legend class="legend-filters">Your full name:</legend>
</div>
<div class="input-right">
<!-- some input here ... -->
</div>
</fieldset>我有一个div内部的传奇,可以更多地控制它的位置。但是,当它位于div内部时,它会失败pa11y WCAG2.0AA测试,并返回以下错误:
Fieldset does not contain a legend element. All fieldsets should contain a legend element that describes a description of the field group.
当我从div中删除它时,错误就消失了:
<fieldset>
<legend class="legend-filters">Your full name:</legend>
<div class="input-right">
<!-- some input here ... -->
</div>
</fieldset>这是假阳性吗?或者div中的图例实际上会使某些用户无法访问它?
编辑:将我的div类input-left应用于legend元素可以满足我的需要。然而,我仍然想知道在合规层面需要什么。
发布于 2017-05-26 19:32:09
如果您依赖于HTML5.1(假设是这样的,尽管代码中没有DTD ),那么<legend>必须是<fieldset>的第一个子级
可在其中使用此元素的上下文: 作为元素的第一个子元素。
- https://www.w3.org/TR/html51/sec-forms.html#the-legend-element
如果将代码放到HTML验证器中,那么它将返回一个错误:
错误:在此上下文中,元素图例不允许作为元素div的子元素。(抑制此子树中的进一步错误。) 从第9行第7栏改为第9行第37栏
t">↩ <legend class="legend-filters">Your f可以使用元素legend的上下文: 作为fieldset元素的第一个子元素。
https://stackoverflow.com/questions/44202283
复制相似问题