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

Posted

技术标签:

【中文标题】HTML:是不是可以提供替代文档标题?【英文标题】:HTML: is it possible to provide an alternate document title?HTML:是否可以提供替代文档标题? 【发布时间】:2020-10-10 05:47:43 【问题描述】:

目标是在浏览器选项卡中显示普通文本,同时提供不可见的替代文本,帮助屏幕阅读器更好地发音。

例如,NVDA 屏幕阅读器将地理信息系统的首字母缩写词发音为“GIs”(就像士兵一样),而不是传统的“G I S”。

在下面的实验中,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" >GIS</title>
</head>
<body>doc</body>
</html>

【问题讨论】:

和其他人一样,我不认为这是可能的,但应该是。 【参考方案1】:

您不能在&lt;title&gt; 上使用aria-* 属性。见ARIA in HTML:

没有rolearia-* 属性

原答案

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

在 Firefox 中使用此(见下文)&lt;title&gt; 元素的辅助功能检查器查看页面在文档名称字段中显示“a”,因此 Firefox支持备用文档标题。

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

【讨论】:

【参考方案2】:

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

此答案希望通过发音向您展示在给定示例中您应该做什么。它改变了“这可以做到吗?” “应该这样做吗?”在处理可访问性时,这可能是一个更重要的问题。

简答

在 99% 的情况下,您不应干扰屏幕阅读器用户的发音

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

长答案

发音

不要担心某事是如何发音的,only ever interfere when the screen reader parses / interprets something incorrectly。即便如此,这也是值得商榷的。

处理首字母缩略词

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

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

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

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

如果首字母缩略词是 WCAG,发音为“WUCAG, WACAG, WCAG”,具体取决于您与谁交谈。 如果我只是添加字母 WCAG,屏幕阅读器用户会知道它们的意思,如果他们知道缩写词。

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

recommended way to introduce acronyms 是写完整的短语,然后写缩写版本(反之亦然)。

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

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

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

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

然后由您决定是使用link to a definition of the word 还是在文档的其余部分使用&lt;abbr&gt; 元素。

我个人认为如果文档很长,您应该使用链接或&lt;abbr&gt; 元素,如果它很短,那么在文档开头引入缩写一次就足够了。但这是我的意见,对此没有硬性规定。

【讨论】:

感谢您提供大图和非常有用的链接。我的特别目标是让品牌名称“ArcGIS”——发音为“Arc G I S”——更清晰。定义方法会有所帮助。

以上是关于HTML:是不是可以提供替代文档标题?的主要内容,如果未能解决你的问题,请参考以下文章

如何在有效的 XML 文档中定义 HTML 实体引用?

Markdown 替代品 Asciidoc 介绍

如果最后一项不是 Vue 路由,如何为 router.back() 提供替代方案?

Php 的替代语法

如何为每个提供的 HTML 文档添加一些 HTML?

提供原生 iOS 文档扫描仪?