首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >div内部的Fieldset传奇失败了pa11y WCAG2.0

div内部的Fieldset传奇失败了pa11y WCAG2.0
EN

Stack Overflow用户
提问于 2017-05-26 12:59:38
回答 1查看 428关注 0票数 1

我有一个字段集,如下所示:

代码语言:javascript
复制
<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中删除它时,错误就消失了:

代码语言:javascript
复制
<fieldset>
 <legend class="legend-filters">Your full name:</legend>
 <div class="input-right">
  <!-- some input here ... -->
 </div>
</fieldset>

这是假阳性吗?或者div中的图例实际上会使某些用户无法访问它?

编辑:将我的divinput-left应用于legend元素可以满足我的需要。然而,我仍然想知道在合规层面需要什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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元素的第一个子元素。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44202283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档