Требуется ли type=button с aria-label?

Я читал, что неявное значение для типа кнопки — submit. Чтобы сделать кнопки пользовательского интерфейса, я также читал, что нам нужно указать атрибут type=button.

Например:

<button type = "button">Click me</button>

Однако я видел этот пример как доступную кнопку:

<button aria-label = "undo">&#xE000;</button>

Я заметил, что у него нет атрибута type=button.

Если aria-label определен для кнопки, означает ли это неявно, что кнопка принадлежит type=button?

Если нет, то является ли приведенный выше пример (кнопка отмены) неверным?

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
0
618
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

type и aria-label не связаны между собой.

Если вы не укажете type на <button>, то тип по умолчанию — submit. Если ваша кнопка содержится в <form>, то будет запущена функция onclick() для кнопки, и форма будет отправлена.

Если ваш тип button, то форма не будет отправлена. Будет работать только onclick() для кнопки.

См. спецификацию <button>.

Причина, по которой второй пример имеет aria-label, заключается в том, что на кнопке нет видимого текста. Используется иконочный шрифт (как изображение), и для того, чтобы программа чтения с экрана знала, что объявлять для кнопки, указывается aria-label.

поэтому правильный способ написать кнопку: <button aria-label = "undo" type = "button">&#xE000;</button> ?

ling 30.01.2019 20:26

если ваша кнопка содержится в <form>, тогда вам нужен type = "button", если вы не хотите, чтобы кнопка автоматически отправляла форму. если ваша кнопка — это просто отдельный элемент на вашей странице (не в <form>), вам не нужен type = "button". в любом случае вам делать нужен aria-label = "undo"

slugolicious 01.02.2019 23:55

Другие вопросы по теме