<div class="accordion-header" (click)="toggleExpandCollapse()" tabindex="0" (keyup.enter)="toggleExpandCollapse()">
<span class="accordion-title" role="button" [attr.aria-label]="toggled ? menuItemHeader.label + 'expanded' : menuItemHeader.label + 'collapsed'">`{{ menuItemHeader.label }}</span>`
我目前拥有可以折叠或展开的手风琴元素。折叠时,屏幕阅读器会将其宣布为折叠状态;如果展开,则将其宣布为折叠状态。 对于可访问性用户,我现在需要的是当他们按下Enter键以展开手风琴时,屏幕阅读器应宣布“展开”。 因此,我需要该(keyup.enter)=“ toggleExpandCollapse()”来宣布aria-label =“ expanded”。我该怎么办?
答案 0 :(得分:1)
aria-*
属性分为两类:状态和属性。
state是可以更改的,通常是由于用户交互(例如aria-checked
)。
property是定义对象“性质”的事物,其值很少更改,例如aria-required
。
属性发生更改时,不会向用户发出更改的通知。
状态发生更改时,屏幕阅读器会宣布更改。
aria-label
是财产。进行更改时,将不宣布其价值。
aria-expanded
是状态。进行更改时,将宣布其值 。
我建议您不要更改对象的aria-label
,而应设置aria-expanded
并将其值在true和false之间切换。
答案 1 :(得分:0)
屏幕阅读器将根据aria-expanded属性的状态自动读取“展开”或“折叠”。这是您要切换的属性。