Перейти к содержимому
v2.5.0
English
Русский
Документация

IconButton

IconButton — вариант действия только с иконкой, построенный на той же основе, что и Button.

Подписи

Всегда задавайте явную доступную подпись, потому что видимого текста обычно нет.

Поведение клавиатуры

ОбъявлениеПереведите фокус на демо и нажмите клавишу из таблицы.
КлавишаДействие
EnterSpaceАктивирует кнопку в фокусе. Это нативный <button>; с asChild у дочернего элемента остаются свои клавиши, и ссылка реагирует только на Enter.
Каждая строка проверена в настоящем браузере: Playwright нажимает клавишу в Chromium и смотрит, где оказались фокус и активный элемент.
  • Действие должно оставаться понятным по одному доступному имени.

Поведение фокуса

  • Фокус должен попадать на интерактивный корень.
  • Видимый стиль фокуса должен сохраняться после собственной стилизации.

Семантика для скринридеров

  • Доступное имя должно приходить из aria-label или другого поддерживаемого способа подписи.
  • Декоративные иконки не должны быть единственным источником смысла.

Семантика формы

  • type по умолчанию не задан: как и нативный <button>, IconButton отправляет окружающую форму.
  • Задавайте type='button' для действий, которые не должны отправлять форму.
  • Используйте type='submit', только если отправка через одну иконку по-прежнему понятна в контексте.

Риски доступности

  • Отсутствует aria-label.
  • Разрушительные действия только с иконкой, смысл которых неочевиден.
  • Понятные текстовые действия слишком рано заменяются кнопками только с иконкой.