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规则。
目标是在浏览器选项卡中显示正常文本,同时提供不可见的替代文本,帮助 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
oraria-*
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规则。