Я не знаю Angular, поэтому вам, возможно, придется покопаться в том, как это структурировать, но ваш подход усложняет задачу.
Вместо этого сделайте кнопку <button>
. Таким образом, вы получаете встроенную встроенную доступность (например, доступ по умолчанию через вкладку, принимает фокус, имеет hover
и focus
состояния и т. Д. c.), А также вы получаете правильные объявления в программах чтения с экрана.
Затем поместите значок внутри <button>
и просто стилизуйте его соответствующим образом.
<button> <!--add whatever directives angular requires here-->
<img [ngClass]="class" [file]="file" [alt]="alt">
</button>
Также вы можете рассмотреть возможность использования встроенных SVG для ваших значков, поскольку они предлагают варианты стилей и могут изменять цвет в соответствии с пользователем. предпочтения. Это также на один ресурс меньше для загрузки, поэтому поможет с производительностью.