React Router v4 - правильный способ стилизации компонента Link - PullRequest
0 голосов
/ 26 февраля 2019

Какой самый правильный способ стилизации компонента <Link> в React Router v4?Если <Link> является просто тегом привязки, в нем не должно быть вложенного элемента <button>.Он также не должен быть вложен в кнопку (потому что это не имеет никакого смысла), поэтому самый правильный способ - это оформить его как кнопку.Каковы минусы этого подхода?

1 Ответ

0 голосов
/ 26 февраля 2019

Поскольку тег accessibility был добавлен, я отвечу с этой точки зрения.

Сначала решите, хотите ли вы ссылку или кнопку.Ссылка для навигационных целей.Он перенесет вас на другую страницу или где-то еще на текущей странице.Кнопка предназначена для выполнения действия.

Так что вам нужно решить, что должно произойти, когда пользователь выбирает элемент.Вы перемещаетесь (ссылка) или выполняете действие (кнопка)?

Если вы используете ссылку и стилизуете ее как кнопку, потому что вы хотите, чтобы произошло какое-либо действие, например «добавить в корзину» или «зарегистрироваться»или «логин», то есть несколько проблем с доступностью для обработки:

  • role ссылки необходимо установить на button
  • вам нужно добавить обработчик клавиатуры, чтобы позволить клавише пробел активировать ссылку. enter уже будет работать, но пробел не является собственным действием для ссылки.Когда роль установлена ​​на «кнопку», программа чтения с экрана объявит элемент как кнопку и скажет пользователю «нажать пробел для активации», поэтому вам нужно обработать эту клавишу.

Тем не менее, это может быть решено гораздо проще, если вы просто используете .См. первое правило ARIA .

...