【发布时间】:2021-06-02 09:57:45
【问题描述】:
我正在拼命寻找在 Angular 8 应用程序中将焦点陷阱添加到我的模态的最佳方法。我偶然发现了 Angular Material CDK 并将其安装用于 A11y 辅助工具,但我不知道如何导入和使用 FocusTrap 或 FocusTrapFactory。
如果我尝试将declarations 或imports 添加到@NgModule 中的数组中,则会出现错误。将它们安装在providers 中没有任何作用。我在文档中没有看到关于如何专门使用这些工具的内容。我有cdkTrapFocus、cdkFocusRegionStart、cdkFocusInitial 和cdkFocusRegionEnd 所有设置都在模态中进行测试。我试过只将FocusTrap 和FocusTrapFactory 拉入我的组件,但仍然没有。
https://v8.material.angular.io/cdk/a11y/overview#focuskeymanager
有没有人成功地让它工作?如果我必须使用 Material UI 工具来让它工作,我将需要找到另一种解决方案来在我的模态中捕获焦点。
我的模态组件是一个简单的包装器,我通过服务的 ID 打开和关闭。基本上就像:https://jasonwatmore.com/post/2019/07/12/angular-8-custom-modal-window-dialog-box
【问题讨论】:
标签: angular dialog modal-dialog accessibility