屏幕阅读器如何读取 HTML 中的元素

How screen readers read elements from HTML

我知道屏幕 reader 阅读了一些 elements/tags 不仅是它们包含的内容,还有 element/tag 它本身。例如:

<button class="class-of-the-button">Text inside</button>

屏幕 readers 的结果为:里面的按钮文本。

或者类似的东西,我不是很确定(如果你知道具体情况请更正)。说到这里,我想请您告诉我屏幕 reader 阅读的其他 elements/tags 和 element/tag 本身的内容是什么,尤其是这个(但不仅如此。如果你有他们的名单或只知道一些,请告诉我。非常感谢你的帮助):

  1. 对于<input type="radio">

  2. 对于<input type="checkbox">

  3. 对于 <h1><h6> 标签。

有一个很棒的在线资源可以捕捉每个屏幕 reader 如何表达不同的元素。它不完整,但它有很多。它也在增长:

Aural UI of the Elements of HTML

管理它的团队代表 ARIA and HTML 规范背后的人,所以他们这样做不是为了好玩,他们这样做是为了规范的利益(并且它可以作为注释合并马路)。一个也是屏幕 reader 用户,所以她比你我更了解它。

您会从 JAWS、VoiceOver、NVDA 和 Window Eyes 中找到示例。来自文档:

屏幕 HTML 元素的典型支持模式 readers:

  • 当用户在内容中移动时按角色识别元素。
  • 元素文本内容的公告。
  • 宣布元素的开始和结束。
  • 宣布元素内容时声音发生变化。
  • 元素可访问名称的公告and/or描述
  • 状态和属性公告。
  • 当具有特定状态或 属性 的元素接收到虚拟焦点时发出哔哔声或其他声音。
  • 关于如何操作表单控件等交互元素的说明。
  • 通过键盘导航元素和特定元素的“快速访问”列表,列表项链接到页面上元素的每个实例。

注意:支持的模式组合因元素而异,对特定元素的支持因屏幕 reader 软件而异。

对于您询问的三种情况,屏幕 reader 至少需要两条信息:元素的角色及其可访问的名称。

对于表单字段,角色由类型属性决定。所以分别是 type="radio" 和 type="checkbox" 。对于标题,当您使用 h1-h6 元素时,该角色是隐式的。

表单字段的可访问名称最常使用标签元素提供。对于表单字段,它将是这样的:

<input type="checkbox" id="red">
<label for="red">Red</label>

注意:for/id 属性配对很重要,因为它将标签与表单字段相关联。如果没有这种关联,浏览器将不知道标签属于表单域。

对于标题,可访问的名称来自元素的文本内容:

<h1>Favourite books</h1>

浏览器向屏幕 reader 公开角色和可访问名称等信息。在这些示例中,屏幕 reader 会宣布类似 "Red checkbox" 或 "Favourite books heading level 1".

的内容