HTML: 是否可以提供替代文档标题?

HTML: is it possible to provide an alternate document title?

目标是在浏览器选项卡中显示正常文本,同时提供不可见的替代文本,帮助 screen-reader 获得更好的发音。

例如,NVDA screen-reader 将地理信息系统的首字母缩写词发音为 "GIs"(如士兵),而不是传统的 "G I S"。

在下面的实验中,none 个备选方案被 NVDA 看到。可以吗?

谢谢!

<!doctype html>
<html lang="en" dir="ltr">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <title aria-label="G I S aria" title="G I S title" alt="G I S alt">GIS</title>
</head>
<body>doc</body>
</html>

您不能在 <title> 上使用 aria-* 属性。参见 ARIA in HTML

No role or aria-* attributes

原回答

根据 MDN,<title> 元素 supports only global attributes(它们包括 aria-* 属性)但我认为大多数屏幕阅读器都不支持它。

Accessibility inspector 使用此查看页面(见下文)<title> Firefox 中的元素在文档名称字段中显示“a”,因此 Firefox 支持备用文档标题.

…
<title alt="b" aria-label="c">a</title>
…

@jiwopene 指出,对标题 aria 的支持并不好(如果有的话)。我认为这很好地回答了你的问题。

这个答案希望告诉你在给定的例子/发音中你应该做什么。它改变了“这可以做到吗?”到“应该这样做吗?”在处理可访问性时,这可能是一个更重要的问题。

简答

99% 的时间你不应该干扰 屏幕 reader 用户的发音。

首字母缩略词和缩略语应以其完整形式在页面上介绍,然后作为整个文档中使用的首字母缩写词介绍。不要忘记 abbr 元素或 link 对较长页面上的定义。

长答案

发音

不要担心某些东西的发音,only ever interfere when the screen reader parses / interprets something incorrectly。即使那样也是有争议的。

处理首字母缩略词

如果有人使用屏幕 reader 他们习惯了不寻常的发音,他们会期望以某种方式宣布首字母缩略词。

如果您决定尝试通过“改进”发音来帮他们一个忙,您实际上可能会使您的应用程序更少可访问性。

可访问性的黄金法则是不干扰预期行为。即使您认为这种行为不太正确。

想象一下,我首先在您的网站上了解地理信息系统,并期待特定的发音。然后我搜索 Google 以获取更多信息,首字母缩写词的发音不同,这比我认为它发音为 G I S 更令人困惑。

如果首字母缩略词是 WCAG,发音为“WUCAG,WACAG,W C A G”,具体取决于您与谁交谈。 如果我只在屏幕上添加字母 WCAG reader 如果用户知道首字母缩略词,他们就会知道他们的意思。

您应该如何处理首字母缩略词?

recommended way to introduce acronyms是先写全文再写缩写(或vice-versa)。

所以在这种情况下,您的标题应该是“地理信息系统 (GIS)”。如果合适,我也会在它第一次出现在 <body><h1><h6> 中时做同样的事情。

这有一个额外的好处,可以为可能不知道首字母缩写词的人解释首字母缩写词。

它还解释了具有认知障碍的人的首字母缩写词,这些人会影响他们保留首字母缩写词和信息之间关系的能力,例如 BBC 根据上下文可能有很多含义!

如果您无法理解上下文,那可能会非常混乱。

然后由您决定是否 link to a definition of the word or use the <abbr> 元素贯穿文档的其余部分。

我个人认为,如果文档很长,您应该使用 link 或 <abbr> 元素,如果很短,则在文档开头引入缩写就足够了。但这是我的意见,没有hard-fast规则。