【发布时间】:2014-03-29 04:39:09
【问题描述】:
几个小时前,我读到了aria-label 属性,其中:
定义一个标记当前元素的字符串值。
但在我看来,这是 title 属性应该做的。我在Mozilla Developer Network 中进一步查看以获取一些示例和解释,但我发现的唯一内容是
<button aria-label="Close" onclick="myDialog.close()">X</button>
它没有为我提供任何标签(所以我认为我误解了这个想法)。我在jsfiddle 中尝试过。
所以我的问题是:为什么我需要aria-label 以及我应该如何使用它?
【问题讨论】:
-
查看您链接的资源,如果您不想显示标题属性提供的工具提示,似乎可以使用
aria-label:在可见标签的情况下或可见的工具提示是不可取的,作者可以使用 aria-label 设置元素的可访问名称 -
仅供参考 ARIA = 可访问的富 Internet 应用程序
-
当
元素中的实际可见文本太简短并且不希望有全文可见?在此线程中的示例中,可以使用标签。但是标签不适用于标题,这就是我问的原因
-
您要求的唯一合适的类似内容是需要更多信息的“longdesc”属性(仅适用于图像) - 无法想象会有一个用于文本的属性,因为无论如何它都应该是描述性的. - @HelloWorld
-
@HelloWorld 我会说将它设置在
<h1>上不是一个好主意。大多数在非交互元素上aria-label被忽略。在内部使用视觉隐藏的跨度,甚至更好地为所有用户使用相同的描述性文本。想象一下这样一个场景,盲人用户想向视力正常的人展示一些东西,说“你看到那个带有‘xxx’文本的标题了吗?”有视力的人看不到它,因为它是隐藏的。aria-label的其他问题可能是在翻译页面时它不会被翻译,或者通过Ctrl+F搜索无法访问,盲人用户倾向于这样做以加快导航速度