⚙️
Front-end patterns
  • Введение
  • Шаблоны
    • Эффекты CSS
      • Overlay
      • Анимация display:none
      • Текст
        • Фон текста градиент с анимацией
      • Элементы формы
        • Вертикальное выравнивание placeholder по вертикали
      • Ссылки
        • Градиент как основной цвет
        • Линия под ссылкой ездит слева направо при наведении
      • Скрывать блок .clipped
    • Модальное окно
      • Dialog
    • Элементы формы
      • Select
      • Radio
      • CheckBox
      • Ввод текста (input)
        • Телефон (tel)
        • Почта (email)
      • Кнопка
    • Вкладки/Списки
      • Вкладки или Табы (tabs)
      • Аккордеон (Accordion)
    • Навигация
      • Основная и дополнительная навигация на сайте
        • Анимирование основной навигации
      • Пропустить навигацию
      • Хлебные крошки (Breadcrumbs)
      • Кнопка основной навигации (Бургер)
    • Структуры
      • Контейнер
      • Столбцы
      • Прогресс
      • Горизонтальная прокрутка карточек
      • Цитата
    • Тэги (семантика)
      • Текст
      • Логика
    • Увеличить скорость загрузки страницы
    • Шрифты
  • JS
    • Прокрутка страницы
    • Анимация элементов
  • A11Y
    • Фокус с клавиатуры
    • No sort
  • WordPress
    • Решения и подсказки
    • Плагины
    • Натягиваем сайт
      • Пустая тема
      • Делаем главную (пустую) страницу
      • Подключаем стили и js
      • Заменяем содержимое файлов (header, footer, page)
    • Свой плагин
      • Шаблон
      • Административная часть
      • Пользовательская часть
      • Локализация плагина
  • Ghost
    • Создание своей темы
      • Фалы шаблона
        • Partials
          • footer.hbs
          • header.hbs
          • post_card.hbs
        • index.hbs
        • default.hbs
        • post.hbs
      • Переменные
      • Циклы, условия и функции
  • Visual Studio
  • Gulp
    • Deploy on GitHub
    • Плагин
    • Моя сборка
      • Изображения
  • Регулярные выражения
  • Алгоритмы
    • Поиск
    • Сортировка
    • Поиск в ширину (глубину)
    • Типы данных
  • Конструкторы сайтов
Powered by GitBook
On this page
  • Основные данные
  • Лучшая практика
  • Интерактивный дизайн
  • Управление клавиатурой
  • Screenreader
  • ARIA
  • Пример стилей

Was this helpful?

  1. Шаблоны
  2. Элементы формы

Кнопка

Элемент управления для выполнения JavaScript или отправки / сброса значений формы.

PreviousПочта (email)NextВкладки/Списки

Last updated 1 year ago

Was this helpful?

Основные данные

Шаблон кнопки позволяет пользователю вводить команду с одним из следующих возможных типов действий:

  1. Форма отправки (type = "submit")

  2. Форма сброса (type = "reset")

  3. Запустить JavaScript (type = "button")

Первые два типа кнопок предназначены для использования только внутри формы из-за их специфического поведения.

Третий тип - это кнопка общего назначения, используемая для запуска клиентского скрипта.

Если у кнопки, которая находится в Форме атрибут type не указан, то он имеет значение по умолчанию «submit».

Лучшая практика

Надпись на кнопке должна четко указывать назначение кнопки (т.е. не «щелкните здесь» или «щелкните меня») если эта кнопка не общего назначения (например "Добавить в корзину", "Редактировать" и тд).

Кнопка не должна открывать новую страницу. Вместо этого используйте ссылку.

Кнопка может обновить хеш-фрагмент URL-адреса. Например, при создании одностраничного приложения и явном управлении History API.

Кнопка может открывать любое всплывающее окно, диалоговое окно или наложение меню.

Помните, что кнопки вне форм ничего не делают при нажатии, пока не станет доступен JavaScript. Либо отобразите кнопку на клиенте, либо отключите ее изначально на сервере.

Интерактивный дизайн

Управление клавиатурой

Если кнопка имеет фокус, клавиши ПРОБЕЛ и ВВОД должны активировать кнопку.

Если кнопка имеет фокус, клавиши TABи SHIFT-TAB должны перемещаться к следующему или предыдущему элементу страницы с фокусом соответственно.

Screenreader

Если виртуальный курсор находится на кнопке, он должен вызываться виртуальным курсором (например, VO + SPACE в VoiceOver).

Должна быть объявлена ​​роль «кнопки».

Этикетка(название) должна быть объявлена. Любое состояние должно быть объявлено (например: haspopup).

Любое описание должно быть объявлено (например через aria-describedby).

ARIA

В этом разделе перечислены все соответствующие роли, состояния и свойства ARIA для кнопки.

aria-haspopup Сообщает AT, что при нажатии на кнопку открывается меню или диалоговое окно и т. Д.

aria-controls Сообщает AT, что данная кнопка управляет другим элементом.

aria-expended Информирует AT о расширенном состоянии любого связанного элемента или содержимого

aria-label Создает метку для кнопки. Предупреждение! Эта метка переопределит любой внутренний текст, который может присутствовать. Это свойство чаще всего используется для кнопок со значками.

aria-describedby Информирует AT о любом расширенном описании или контексте, относящемся к кнопке. Обратите внимание, что это свойство не влияет на доступную метку кнопки.

Пример стилей

Оригинал статьи.