【发布时间】:2021-03-04 17:12:27
【问题描述】:
我的 aurelia 应用程序中有一个对话框,当我单击链接以显示对话框时,焦点会回到页面顶部。 我给了它 role="dialog" aria-labelledby="aboutHeader" aria- describeby="versionNumber" 但屏幕阅读器无法识别对话框。如何将键盘焦点放在对话框上,以便当我单击“关于”时,画外音的下一个选项卡在对话框内,在关闭对话框时如何将其返回到“关于”链接的最后一个焦点?
<ux-dialog role="dialog" aria-labelledby="aboutHeader" aria-describedby="versionNumber">
<ux-dialog-header><h2 id="aboutHeader">Header</h2></ux-dialog-header>
<ux-dialog-body style="max-width: 750px;">
<p id="versionNumber">Version Number</p>
<p>Copyright Info Here</p>
</ux-dialog-body>
<ux-dialog-footer>
<button click.trigger="controller.close()">Close</button>
</ux-dialog-footer>
</ux-dialog>
【问题讨论】:
-
如何管理焦点,您是否尝试使用指向模态 H2 的超链接来执行此操作?如果您是,那么是模态
display: none,直到您单击该链接,如果是,则该功能是为此内置的,还是您自己编写了一些JS来打开模态?你能把小提琴放在一起吗,因为我(我相信很多其他人)不熟悉 aurelia。这很可能是一个时间问题,您试图在 DOM 中显示之前将焦点移到标题上,但这只是基于您在问题中提出的最佳猜测。 -
我支持这个,我也不认识aurelia。但最终你应该在某个地方有类似
myux-dialog.focus()的东西。理想情况下,焦点会在对话关闭时返回到打开对话的触发器,因此在聚焦对话之前,您还需要存储指向该触发器的指针。
标签: html accessibility wai-aria