Я хотел бы создать кнопку HTML, которая работает так, как если бы это была интерактивная ссылка. Когда я нажимаю кнопку, я хотел бы, чтобы она перенаправляла меня на страницу. И хотелось бы, чтобы это было максимально доступно.
Также хотелось бы, чтобы в URL не было лишних символов или параметров.
Как это может быть сделано?
Ссылки и кнопки имеют различную функциональность: ссылки подключаются к другому контенту, а кнопки будут связаны с действиями (им не нужно никуда перенаправлять или к чему-либо подключаться).
Учитывая доступность, не рекомендуется изменять кнопку, чтобы она функционировала как ссылка . На самом деле это то же самое предложение, что и W3C (мой перевод):
Мало того, что это семантически непоследовательно, это также может привести к проблемам в зависимости от метода, который вы используете для его реализации. Например, если у пользователя отключен JavaScript (редко в браузерах, не так уж и редко в некоторых программах чтения с экрана), некоторые из методов, описанных в ответе Wiki, не будут работать напрямую.
Вот почему, с точки зрения доступности, лучший способ создать кнопку, которая работает как ссылка, — это использовать ссылку и оформить ее так, чтобы она выглядела как кнопка:
Если, несмотря на эту рекомендацию, вы хотите использовать кнопку как ссылку, вы можете воспользоваться любым из способов, описанных выше. Но чтобы сделать ее доступной, вы должны сообщить браузеру (или программе чтения с экрана), что эта кнопка не на самом деле ссылка, кнопка, но ссылка, и вы должны относиться к ней как к таковой. Для этого вы должны использовать
role="link"
.Вы
role="link"
указываете, что поведение этого элемента будет похоже на поведение ссылки . Итак, у вас может быть что-то вроде этого:HTML
Простой HTML-способ сделать это — указать целевой URL-адрес в
<formulario>
качестве действия атрибутов (action
).При необходимости настройте CSS
display: inline
в форме, чтобы сохранить плавность окружающего текста. Вместо использования<input type="submit">
в приведенном выше примере вы можете использовать<button type="submit">
. Разница лишь в том, что этот элемент допускает детей.Интуитивно предполагается, что его можно будет использовать
<button href="http://google.com">
с элементом<a>
, но, к сожалению, этот атрибут не существует в соответствии со спецификацией HTML .CSS
Если вы можете использовать CSS, просто используйте
<a>
стиль со стилем, чтобы он выглядел как кнопка, используя другие свойства внешнего вида (только IE поддерживает его (по состоянию на июль 2015 г.), и он все еще плохой).Или используйте одну из множества библиотек CSS, например bootstrap .
JavaScript
Если JavaScript разрешен, установите
window.location.href
.Если вы хотите добиться простого внешнего вида кнопки в простом HTML, внутри
<a>
тега привязки ( ), то вы можете использовать платформу Twitter Bootstrap для форматирования любой из следующих обычных кнопок/ссылок HTML, как если бы это была кнопка. Существуют небольшие различия между версиями этого фреймворка, имейте это в виду.Пример отображения Bootstrap (v2) :
Пример отображения Bootstrap (v3) :
См. Bootstrap (v2) или Bootstrap (v3) в разделе кнопок для некоторых примеров.
Если то, что вы хотите сделать, это html-ссылка с внешним видом кнопки, этого можно легко добиться, задав класс css для рассматриваемой ссылки, позвольте мне объяснить:
Чтобы придать ему законченный вид, я рекомендую использовать библиотеки стилей Bootstrap, поместив Bootstrap cdn в заголовок вашей страницы (cdn — это соединитель, который позволяет вам потреблять библиотеки, физически не имея их в вашем проекте, вы должны быть подключены к Интернет, чтобы иметь возможность использовать стили, это важно!).
В последствии создать любую ссылку и добавить к ней класс, в Bootstrap их много, класс для кнопок это btn, в разных его ипостасях btn-success, btn-warning, btn-danger и другие.
Надеюсь, я помог. Успехов вашему проекту!