【问题标题】:Java program to insert missing accessibility attributes into the HTML tag将缺少的可访问性属性插入 HTML 标记的 Java 程序
【发布时间】:2011-10-18 04:21:31
【问题描述】:

我需要编写一个 Java 程序,它将在 HTML 标记中插入缺少的可访问性属性。

HTML 代码:

<html>
    <body>
        <input type="checkbox"/>Check it !!!
    </body>
<html>

现在插入标题将使其可访问,但我不知道标题的值是什么。所以至少如果我们可以插入空白title=""

对于这个特定的程序,我想做一些事情,比如 ava 代码将读取 HTML 文件并搜索输入标签并插入一个空白 title=""

我如何编写代码或者我可以改进它?

【问题讨论】:

  • 为自己找到一个 Java HTML 解析器并使用它。它会让事情变得美好和可能。
  • 如果你可以保证代码是 xhtml,你可以使用 xml 转换而无需编写任何 java 代码...需要一个 xsl 样式表。

标签: java html accessibility


【解决方案1】:

对于它的价值,在你的情况下正确的 HTML 是:

<html>
<body>
<input id="chk1" type="checkbox"/><label for="chk1">Check it !!!</label>
</body>
<html>

不要不要向元素添加title="",这可能会降低它们的可访问性或引起混淆。标题是一个很难使用的元素;标题文本通常对键盘用户不可用(它通常只出现在鼠标悬停时),屏幕阅读器可能会不一致地对待它;有些人会阅读它而不是标签的内容,有些人会除了它之外阅读它。我知道很少有标题是正确解决方案的情况;坚持使用标签(如上),在图像上使用 alt 等等。

【讨论】:

【解决方案2】:

我需要帮助来编写代码,或者我是否可以以更好的方式改进它?

title="" 添加到&lt;input&gt; 元素不会提高可访问性。

您需要做的是手动编辑页面,添加title 属性(或其他任何东西)来实际说明输入的含义。 (图像等也是如此)没有神奇的 Java 魔杖可以凭空生成有意义的描述。

【讨论】:

  • 同意这里的要点:机械地添加标签不会提高可访问性;如果有的话,它可能会使页面更难访问。话虽如此,标题通常不是要使用的适当标签。在上面的示例中,LABEL 会更合适。标题的问题在于,并非所有屏幕阅读器都能读出来,或者键盘用户无法使用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-12
  • 1970-01-01
  • 2019-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多