html - 有没有办法编写屏幕阅读器会忽略的内容?

标签 html css accessibility

我刚刚开发了一个页面,该页面需要有视力的用户和有视力障碍的用户都能访问。内容的某些元素仅与视觉元素相关,根本不适用于使用屏幕阅读器的人。例如,一个链接在新窗口中打开一个视听演示,但由于我无法控制的情况,窗口的大小调整得很笨拙,所以有一条消息说你应该调整窗口大小,这样你才能更好地看到一切。显然,对于无论如何都看不到它的人来说,这是无用的信息。

是否有一种公认的方法可以让屏幕阅读器忽略某些内容?

最佳答案

实际上,正确的做法是使用 ARIA role=hidden . 像这样:

<button type="button">
  <span aria-hidden="true" class="icon">&gt;</span>
  <span class="hide">Go!</span>
</button>

这样做可以隐藏 > 字符,这样屏幕阅读器就不会读到“右尖括号”,而是读到“Go!”。如果您在视觉上隐藏 .hide 类中的内容,有视力的用户只会看到 >。 像这样:

.hide{
  position: absolute;
  left:-999em;
}

ARIA Angular 色 presentation用于“规范化”语义,例如 <table>role="presentation"不会被读取为表格内容,而只是纯文本。

如果你不想让图片被读取,你可以输入空的 alt像这样的文本:

<img src="decorative-flower.jpg" alt=""/>

..或者如果它是 <svg>省略 <title><description>

<svg>
  <!-- <title>Remove this line</title> -->
  <!-- <description> Remove this too..</description> -->
</svg>

我注意到在极少数情况下,一些屏幕阅读器仍会阅读空的替代图像,因此您可以使用 aria-hidden="true"这里也是。

CSS 的 speak 属性目前不支持,链接属性 media="aural"也是如此。

关于html - 有没有办法编写屏幕阅读器会忽略的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/672156/

相关文章:

javascript - 只想在我的选项卡中使用 css 而不是 js 和查询

html - 仅使用 css 在包含的 DIV 中保持多个响应 DIV 的相同高度

javascript - 如何同步单独 iframe 中的两个文本区域?

javascript - WYSIWYG Ckeditor 正在删除几个 html 标签

jquery - 使用父类来设置下一个元素的样式

c# - (C#、WinForms)如何为 ImageList 中的图像分配可访问性属性

accessibility - ARIA 角色验证挑战

iphone - 将画外音的焦点设置在 uitableview 中的特定表格单元格上(UIAccessibility)

javascript - 提交按钮显示是或否

html - 防止表格单元格增加其宽度以包含宽内容