IconButton
Компонент представляет собой обертку-кнопку для интерактивной иконки. Поддержка видимого текстового сопровождения не предусмотрена.
Компонент наследует свойства компонента Tappable
,
что обеспечивает базовую функциональность для интерактивных элементов,
таких как обработка событий нажатия (onClick
), отключение (disabled
) и поддержка ссылок (href
).
Дополнительно IconButton
имеет собственное свойство label
, предназначенное для обеспечения цифровой доступности.
Контент
Основным содержимым IconButton
является иконка, передаваемая через children
.
Для соответствия размерам кнопки рекомендуется использовать иконки следующих размеров: 16px
, 24px
, 28px
или 36px
.
Доступность (a11y)
Компонент IconButton
автоматически выбирает правильный HTML-тег: по умолчанию это button
,
а если передано свойство href
, то a
. Это обеспечивает базовую поддержку доступности.
Компонент поддерживает все стандартные aria-атрибуты, что позволяет переопределить поведение по умолчанию, если это необходимо.
Также для обеспечения цифровой доступности IconButton
необходимо предоставить текст,
который сможет прочитать скринридер. Рекомендуемый способ — использование свойства label
.
Альтернативные способы:
-
Передача текста в
children
вместе с иконкой, обернутого в компонентVisuallyHidden
:<IconButton> <VisuallyHidden>Поиск</VisuallyHidden> <Icon16Search /> </IconButton>
-
Использование атрибута
aria-label
:<IconButton aria-label="Поиск"> <Icon16Search /> </IconButton>
-
Передача
title
:<IconButton title="Поиск"> <Icon16Search /> </IconButton>
-
Создание отдельного элемента с текстом и ссылка на него через
aria-labelledby
:<span id="search-label">Поиск</span> <IconButton aria-labelledby="search-label"> <Icon16Search /> </IconButton>
Свойства и методы
Свойство | Описание |
---|---|
activated | boolean Позволяет управлять По умолчанию: - |
activeClassName | string Deprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
activeEffectDelay | number Длительность показа По умолчанию: - |
activeMode | StateModeLiteral Стиль подсветки active-состояния. Если передать произвольную строку, она добавится как css-класс во время active. По умолчанию: - |
baseClassName | string | false Deprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
baseStyle | CSSProperties Deprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
borderRadiusMode | "auto" | "inherit" Задает border-radius элементу
В режиме По умолчанию: - |
Component | ElementType<any, keyof IntrinsicElements> По умолчанию: - |
focusVisibleMode | FocusVisibleMode Стиль аутлайна focus visible. Если передать произвольную строку, она добавится как css-класс при :focus-visible По умолчанию: - |
getRootRef | Ref<HTMLElement> По умолчанию: - |
hasActive | boolean Указывает, должен ли компонент реагировать на По умолчанию: - |
hasHover | boolean Указывает, должен ли компонент реагировать на По умолчанию: - |
hasHoverWithChildren | boolean Позволяет родительскому компоненту
иметь Присваивается родителькому компоненту. По умолчанию: - |
hoverClassName | string Deprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
hovered | boolean Позволяет управлять По умолчанию: - |
hoverMode | StateModeLiteral Стиль подсветки hover-состояния. Если передать произвольную строку, она добавится как css-класс во время hover. По умолчанию: - |
label | string Текст кнопки-иконки. Делает ее доступной для ассистивных технологий. По умолчанию: - |
unlockParentHover | boolean Позволяет родительскому компоненту показывать hovered-состояние при наведении на текущий дочерний компонент. Присваивается дочернему компоненту. По умолчанию: - |