什么是适合地图元素的 WAI-ARIA 角色属性

What is a suitable WAI-ARIA role attribute for a map element

在我的网页中,有一半是使用 Google 地图的地图显示。我应该向显示地图的 canvas 元素添加什么 aria-role?我查看了 WAI-ARIA docs 以了解可能的角色定义,我找到的最接近的是 widget.

页面上的地图 aria-role 适合什么?

Google 地图是否可供盲人使用?编号

该问题的答案为您提供了一些线索:赋予它 presentation 角色和 aria-hidden=true 属性。如果您的地图描述了行程,您应该为缺失的信息提供正确的替换,例如完整的文本行程。

例如:

<div role="presentation" aria-hidden="true">`<!-- my non accessible widget here -->`</div>
<div>Visit us at our store, Penny Lane, 22, Liverpool<br />
     Liverpool City bus, Line 3</div>

注意:Widget 是一个抽象角色,您不能赋予元素。

编辑:这将删除屏幕阅读器与 canvas 交互的能力,包括键盘和鼠标,这可能不适合使用屏幕阅读器的文盲[例如] =27=] (当 canvas 比 Google 地图具有更好的辅助功能时)。如果你真的想要访问一个可访问的canvas,不要改变原生语义,否则,在这种情况下,在跳转canvas之前放置一个link,指定它有非常不直观的键盘支持,可能无法使用鼠标。

如果您正在使用 google 地图,您应该使用 role="application",因为可以使用屏幕 reader 与地图进行交互,并且根据 ARIA 规范网站申请角色是:

A structure containing one or more focusable elements requiring user input, such as keyboard or gesture events, that do not follow a standard interaction pattern supported by a widget role.

对于非盲人但视力不佳且可以从地图中实际受益的用户尤其如此。

https://www.w3.org/TR/wai-aria/#application