Я отчаянно пытаюсь найти лучший способ добавить ловушку фокуса к моим модальным окнам в приложении 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, чтобы заставить это работать, мне нужно будет найти другое решение для захвата фокуса в моих модальных окнах.
Мой модальный компонент представляет собой простую оболочку, которую я открываю и закрываю по идентификатору службы. В основном это похоже на: https://jasonwatmore.com/post/2019/07/12/angular-8-custom-modal-window-dialog-box
ng-content
для отображения содержимого каждого модального окна, которое я вызываю? 04.03.2021