单击时使 NVDA 读取按钮文本

Make NVDA read button text when click

我正在用 NVDA(屏幕 reader)和 aria 做一些事情,我想让 nvda 能够读取按钮中的内容作为文本。例如,我希望它在点击它时在 NVDA 语音窗口中说“登录对话”而不是“对话”。

我尝试了很多 aria 角色并使用 aria-describedby 做事,但我无法让它工作,有人可以帮助我吗?谢谢。这是我要修改的行

<a href="%"<div aria-hidden="true" class="login-icon"></div Login Button</a>

试试这个:

<a href="%" role="button">
   <div aria-hidden="true" class="login-icon"></div> 
   Login Button
</a>

role="button" 将使锚点 link 用作屏幕 reader 的按钮。当你有一个带有文本的锚标签时,你不需要给出 aria-describedby or aria-labelledby。如果你想让 screen-reader 读出你放在锚标签中的文本以外的东西(在你的情况下 'Login Button'),如果它是一个小文本,请使用 aria-label ,否则你可以使用aria-labelledby 如果你想引用任何特定的 div 或 h2 或 h3 与 id.

如果你想使用aria-label,你可以这样做:

<a href="%" role="button" aria-label="Text other than Login Button">
   <div aria-hidden="true" class="login-icon"></div> 
   Login Button
</a>