有没有办法让屏幕阅读器不读取 HTML 元素的类型?

Is there a way for screen readers to NOT read type of HTML element?

如标题所述,我想知道是否有可以添加到元素的 HTML 属性,这样屏幕 reader 就不会读取元素的类型,例如对于

<h4>Subtitle</h4>

屏幕 reader 会显示“副标题。标题 4”

感谢任何反馈。谢谢!

是的,你可以这样做,但我会提醒你不要这样做。

您可以使用开发人员 role="presentation" or role="none". They do the same thing and are interchangeable. The original ARIA spec just had "presentation" but there was some confusion 了解“演示”的含义,因此规范添加了“none”作为“演示”的别名。

<h4 role="presentation">Subtitle</h4>

添加 role="presentation" 类似于拥有

<div>Subtitle</div>

您失去了使用 <h4> 的所有语义优势。屏幕 reader 用户将无法使用 H4 屏幕 reader 键盘快捷键导航到文本(对于 NVDA 和 JAWS)。如果他们调出一个显示页面上所有标题的对话框,他们也不会看到列出的文本。

大概代码使用 <h4> 是有原因的。这个原因只是为了获得 h4 的样式吗?如果是这样,那么我可以也许 看看使用role="presentation"。但在这种情况下更好的解决方案是使用 <div> 并将其指向与 <h4> 用于获取样式的相同 CSS class(如果您有自定义h4 CSS class)。如果您使用 h4 的默认浏览器样式,那么使用真正的 h4 并关闭语义可能是实现该目的的最佳方式。