按制表符和导航键(right/left 箭头)时 aria-labelledby 属性未读取

aria-labelledby attribute not reading when pressing tab and navigation key(right/left arrows)

我是 aria 辅助功能的新手。当我按下 tab 键或 left/right arrow screen reader NVDA 读数时可点击,但当我将鼠标悬停在它上面时它读数正常。我正在使用 angular 7

模板:

<span role="alert" aria-live="assertive" aria-labelledby="chart-close" id="close_svg" style="width: 25px; height: 31px; margin-top: -6%; padding-right: 4px; fill: #ffffff; stroke: #ffffff; stroke-width: 0.1rem; display: inline-block;" tabindex="0" (click)="closeChat()" placement="bottom" [ngbTooltip]="CloseChat" ng-reflect-inline-s-v-g="/assets/icons/chat-close.svg"> <ng-template #CloseChat tabindex="-1"> Close Chat

如果一个元素有一个 click() 处理程序或元素的祖先之一有一个 click() 处理程序,那么如果该元素不是本机交互元素,NVDA 会说“可点击”。在您的情况下,<span> 不是本机交互元素 并且 它具有 click() 处理程序,因此您会听到“可点击”。这是屏幕 reader 告诉用户他们可以 select 元素的一种方式,即使它通常不是可点击的东西。

大多数屏幕 reader 用户不是鼠标用户,因此您不必担心当您用鼠标悬停时不会听到可点击的声音。大多数 NVDA 用户无论如何都会关闭鼠标跟踪,这样当鼠标移到元素上时屏幕 reader 就不会那么嘈杂。