Что такое хорошая практика для <button>? Может ли он заменить <a>или он предназначен только для форм? - PullRequest
4 голосов
/ 10 ноября 2011

Что такое хорошая практика для <button>?

Может ли он заменить тег <a> или предназначен только для форм?

Ответы [ 4 ]

4 голосов
/ 11 ноября 2011

Ссылка ссылка на что-то - по крайней мере, так должно быть! Семантически неправильно делать следующее:

<a href="#" onclick="doSomething(); return false;">Do something</a>

Это должно быть заменено кнопкой, так как она есть для этой цели - она ​​работает как триггер для чего-то, что указывает пользователь (программист); поэтому назначение элемента <button type="button"> неясно. Напротив, цель ссылки очень ясна - она ​​должна указывать куда-то!

Поскольку HTML является языком разметки, не имеет большого значения, что вы делаете, если не думаете о SEO. С помощью тега <a> вы можете достичь того же, что и с тегом <button>, например, <span> может семантически действовать точно так же, как <div> - , хотя это неверно .

2 голосов
/ 10 ноября 2011

Действительно зависит от соглашений компании, но с моим опытом buttons обычно используются, когда страница не перенаправляет (включая, но не ограничивается формами), и <a> для того, когда пользователь перенаправляется на новую страницу. .

1 голос
/ 11 ноября 2011

A <button> только для элементов формы. В Opera вы перемещаетесь по ссылкам с помощью a , q и Ctrl + Стрелка, элементы формы доступны на вкладке .

Итак, нет, вы не должны заменять один элемент другим.

1 голос
/ 11 ноября 2011

Если вы хотите использовать тег <button> для замены обычной ссылки (<a href="...">), у вас будут следующие недостатки:

  • Это не будет выглядеть как ссылка, так что это только добавит путаницу.
  • Вам нужно использовать JavaScript, чтобы кнопка что-то сделала.
  • Поисковые системы и другие инструменты не смогут перейти по ссылке.
  • У вас не будет визуальной индикации посещенных ссылок.
  • Пользователи больше не могут открывать ссылку в новой вкладке, проверять место назначения или копировать URL-адрес.

Я не могу сейчас думать о каком-либо преимуществе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...