<button>
Изменение <a href="#">
к <button>
и поставить обработчик событий на нем.
Некоторые больше контекста, на котором элементы принадлежит где ....
Несет ли Control Me на другую страницу? Используйте Якорь
Если при нажатии прослушивается, или активируется с помощью клавиатуры или голоса (или вставить новый способ взаимодействия здесь), пользователь взбитым другой URL (в том числе якорь на той же странице), а затем использовать <a href="[URL]">
, Убедитесь, что вы используете атрибут href
и что он имеет реальный URL-адрес, а не «#» (в противном случае вы, вероятно, полагаетесь на JavaScript, который вовсе не нужен для гиперссылки). Если href
указывает только на «#», вы, вероятно, ошибаетесь. Если он указывает на именованный якорь как часть ваших усилий по прогрессивному усилению, то это абсолютно справедливо.
Выполняет ли контроль что-то на текущей странице? Используйте кнопку
Если при активации пользователь не перемещается со страницы (или на якорь внутри страницы), но вместо этого отображается новое представление (окна сообщений, изменения в макете и т. Д.), , затем используйте <button>
.Хотя вы можете использовать <input type="button">
, более вероятно, что вы столкнетесь с конфликтами с уже существующими стилями и последующими разработчиками (такими как я).
Является ли элемент управления формой формы? Использовать Отправить
Если после активации информация, введенная пользователем (либо путем ввода вручную, либо путем выбора элементов на экране), отправляется обратно на сервер, а затем используется <input type="submit">
. Это лучше жить в пределах <form>
. Если вам нужно больше управления стилем или нужно вставлять больше, чем просто текстовую строку, используйте вместо этого <button type="submit">
.
клавиатуры Соображения
Придумайте пользователей клавиатуры на мгновение. Гиперссылку можно запустить, нажав клавишу ввода. Но настоящую кнопку можно запустить, нажав клавишу ввода или пробел. Когда гиперссылка имеет фокус и пользователь нажимает клавишу пробела, страница будет прокручивать один экран. Если больше нет прокрутки, пользователь просто ничего не испытывает. Учитывая набор элементов интерфейса, которые выглядят одинаково, если некоторые работают с пробелом, а некоторые нет, вы не можете ожидать, что пользователи будут очень уверены в том, как ведет себя страница.
Я думаю, что также стоит упомянуть, что события, вызванные пробелом, срабатывают только при отпускании ключа, тогда как с помощью клавиши «Ввод» будет срабатывать событие, как только вы нажмете клавишу вниз (до ее отпускания).