是在FieldSet传说中允许的H3-TAG



我已经开发了带有表单的应用程序。这些表格是用字段组构造的,因此您可以看到哪些输入字段属于部分。每个场景都有一个传奇。代码看起来像:

<fieldset>
  <legend>Title</legend>
  <label>Title: <input id="title" type="text"/></label>
  <button>Create Object</button>
</fieldset>

现在我们进行了ScreenReader测试,因为我们有盲用户。我们提到,ScreenReader(JAWS)就像普通文本一样读取legend中的标题。因此,它写着:"标题。标题输入。"但是我们期望STH喜欢:"标题标题。标题。标题输入。"
用户说,如果传说是标题,那就更好了,以便她可以使用jawl-command跳到截面。

现在我的问题是:是否允许(html规范)将归档的legend包裹在例如h3标签? - 更好的问题:如果我将h3 -TAG放置在legend -TAG中,即使它不是W3C -Conform?:

<fieldset>
  <legend><h3>Title</h3></legend>
  <label>Title: <input id="title" type="text"/></label>
  <button>Create Object</button>
</fieldset>

如果不允许您解决这个问题?编程定制的现场集?

目标是在阅读页面时,ScreenReader在传奇文本和普通文本之间有所不同。我该如何实现?

不,您的代码产生无效的HTML:

错误:元素h3在这种情况下不允许作为元素legend的孩子。

您可以通过 W3C验证器来找到以下代码来找到这一点:

<!DOCTYPE html>
<html>
  <head>
    <title>Test</title>
  </head>
  <body>
    <fieldset>
      <legend><h3>Title</h3></legend>
      <label>Title: <input id="title" type="text"/></label>
      <button>Create Object</button>
    </fieldset>
  </body>
</html>

解决方案

我建议这样做:

legend {
  font-weight: bold;
  font-size: 1.17em; 
}
.screen-reader-only {
  position: absolute;
  left: -999em;
}
<fieldset>
  <legend><span class="screen-reader-only">Caption </span>Title</legend>
  <label>Title: <input id="title" type="text"/></label>
  <button>Create Object</button>
</fieldset>

另请参见此小提琴

这样,屏幕阅读器总是读取Caption,但从未在视觉上显示。

我个人宁愿为用户提供,也不愿在此方面遵守规则。

如果您确实确实在传说中使用了H3标签,那就这样 - 您的用户将非常感激。您唯一坚持有效HTML获胜的人就是您,这对用户没有好处。 - 但是,我不确定您实际上在这里需要一个现场集/传说。

当OP将其用于内部应用程序/Intranet时,我相信无视SEO和搜索引擎/蜘蛛是完全可以的。

相关内容

  • 没有找到相关文章

最新更新