Поскольку тег accessibility
был добавлен, я отвечу с этой точки зрения.
Сначала решите, хотите ли вы ссылку или кнопку.Ссылка для навигационных целей.Он перенесет вас на другую страницу или где-то еще на текущей странице.Кнопка предназначена для выполнения действия.
Так что вам нужно решить, что должно произойти, когда пользователь выбирает элемент.Вы перемещаетесь (ссылка) или выполняете действие (кнопка)?
Если вы используете ссылку и стилизуете ее как кнопку, потому что вы хотите, чтобы произошло какое-либо действие, например «добавить в корзину» или «зарегистрироваться»или «логин», то есть несколько проблем с доступностью для обработки:
-
role
ссылки необходимо установить на button
- вам нужно добавить обработчик клавиатуры, чтобы позволить клавише пробел активировать ссылку. enter уже будет работать, но пробел не является собственным действием для ссылки.Когда роль установлена на «кнопку», программа чтения с экрана объявит элемент как кнопку и скажет пользователю «нажать пробел для активации», поэтому вам нужно обработать эту клавишу.
Тем не менее, это может быть решено гораздо проще, если вы просто используете .См. первое правило ARIA .