ARIA 标签和关系

https://developers.google.com/web/fundamentals/accessibility/semantics-aria/aria-labels-and-relationships?hl=zh-cn

ARIA 标签和关系

标签

ARIA 提供了多种向元素添加标签和说明的机制。事实上,ARIA 是唯一一种可以添加可访问帮助或说明文本的方式。 我们来看一下 ARIA 用于创建可访问标签的属性。

aria-label

aria-label 允许我们指定一个用作可访问标签的字符串。这将替换任何其他原生标记机制,例如 label 元素 —例如,如果 button 同时具有文本内容和 aria-label,将仅使用 aria-label 值。

如果您有某种指明元素用途的视觉指示(例如,使用图形而不是文本的按钮),则可以使用 aria-label 属性,但是仍需要向无法获取视觉指示(例如,仅使用图像指示其用途的按钮)的任何人阐明该用途。

[图片上传失败...(image-2fa24-1545489387872)]

aria-labelledby

aria-labelledby 允许我们将 DOM 中另一个元素的 ID 指定为当前元素的标签。

[图片上传失败...(image-eafe52-1545489387872)]

这非常类似于使用 label 元素,但也存在一些关键区别。

  1. aria-labelledby 可以用于任何元素,而不仅仅是可标记元素。

  2. label 元素引用其标记的对象,但对于 aria-labelledby 来说,关系则相反 — 被标记的对象引用标记它的元素。

  3. 只有一个标签元素与可标记元素关联,但是 aria-labelledby 可以利用一组 IDREF 从多个元素构建标签。标签将按照 IDREF 的提供顺序串联。

  4. 您可以使用 aria-labelledby 引用隐藏和不在可访问性树中的元素。 例如,您可以在想要标记的元素旁添加一个隐藏的 span,然后使用 aria-labelledby 引用该元素。

  5. 不过,由于 ARIA 仅影响可访问性树,aria-labelledby 并不会展现使用 label 元素时熟悉的标签点击行为。

重要的是,aria-labelledby 将替换元素的所有其他名称源。 因此,如果一个元素同时拥有 aria-labelledbyaria-label 或者aria-labelledby 和原生 HTML labelaria-labelledby 标签将始终具有最高优先级。

关系

aria-labelledby 是一个关系属性示例。无论页面元素的 DOM 属性如何,关系属性都会在它们之间创建语义关系。如果是 aria-labelledby,关系将是“此元素由另一个元素标记”。

ARIA 规范列出了八个关系属性。其中的六个(即 aria-activedescendantaria-controlsaria-describedbyaria-labelledbyaria-owns)通过引用一个或多个元素的方式在页面元素之间创建一个新链接。各个属性的区别是链接的含义及其向用户呈现的方式。

aria-owns

aria-owns 是使用最广泛的 ARIA 关系之一。此属性既允许我们告知辅助技术应将 DOM 中独立的一个元素视为当前元素的子项,也允许我们以不同顺序重排现有子元素。例如,如果一个弹出式子菜单在视觉上靠近其父菜单,但不能是其父项的 DOM 子项(否则会影响视觉呈现),您可以使用 aria-owns 将子菜单作为父菜单的子项呈现给屏幕阅读器。

[图片上传失败...(image-fc5325-1545489387872)]

aria-activedescendant

aria-activedescendant 扮演着相关角色。与页面的活动元素是具有焦点的元素一样,设置元素的活动子项允许我们告知辅助技术,在一个元素的父项实际具有焦点时应作为焦点元素将该元素呈现给用户。例如,在列表框中,您可能希望将页面焦点停留在列表框容器上,但对当前选中的列表项持续更新列表框的 aria-activedescendant 属性。这样会让当前选定项以焦点项的形式显示给辅助技术。

[图片上传失败...(image-43eb27-1545489387871)]

aria-describedby

aria-describedby 提供了一种可访问说明,方式与 aria-labelledby 提供标签的方式相同。 与 aria-labelledby一样,aria-describedby 可能引用不可见的元素,无论这些元素在 DOM 中隐藏,还是对辅助技术用户隐藏。如果存在用户可能需要的额外说明性文本,则不管该文本适用于辅助技术用户还是所有用户,这种技术都非常有用。

一个常见的示例是密码输入字段带有一些说明性文本,其中,说明性文本用于说明最低密码要求。 与标签不同,此说明不一定会呈现给用户;用户可以选择是否访问说明,此说明可能跟在其他信息之后,也可能被其他内容抢占。例如,如果用户正在输入信息,他们的输入将回显并且可能中断元素的说明。因此,说明是一种用于传达补充但非必要信息的绝佳方式;它不会妨碍更关键的信息,例如元素角色。

[图片上传失败...(image-6ab0d0-1545489387871)]

aria-posinset 和 aria-setsize

其余的关系属性略有不同并协同作用。aria-posinset(“在集中的位置”)和 aria-setsize(“集大小”)用于定义集(例如,列表)中同级元素之间的关系。

如果无法通过 DOM 中存在的元素确定集的大小(例如,使用延迟渲染避免在 DOM 中生成大的列表时),aria-setsize可以指定实际集大小,aria-posinset 可以指定元素在集中的位置。例如,在一个可能包含 1000 个元素的集中,您可以指定特定元素的 aria-posinset 为 857(即使其在 DOM 中位于首位),然后使用动态 HTML 技术确保用户可以根据需要查看完整列表。

[图片上传失败...(image-c05ea9-1545489387871)]

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License, and code samples are licensed under the Apache 2.0 License. For details, see our Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

上次更新日期:七月 17, 2018

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,458评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,454评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,171评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,062评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,440评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,661评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,906评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,609评论 0 200
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,379评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,600评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,085评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,409评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,072评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,088评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,860评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,704评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,608评论 2 270