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 | stringDeprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
activeEffectDelay | numberДлительность показа По умолчанию: - |
activeMode | StateModeLiteralСтиль подсветки active-состояния. Если передать произвольную строку, она добавится как css-класс во время active. По умолчанию: - |
baseClassName | string | falseDeprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
baseStyle | CSSPropertiesDeprecated: 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 | stringDeprecated: Since 7.3.0. Свойство устарело и будет удалено в По умолчанию: - |
hovered | booleanПозволяет управлять По умолчанию: - |
hoverMode | StateModeLiteralСтиль подсветки hover-состояния. Если передать произвольную строку, она добавится как css-класс во время hover. По умолчанию: - |
label | stringТекст кнопки-иконки. Делает ее доступной для ассистивных технологий. По умолчанию: - |
unlockParentHover | booleanПозволяет родительскому компоненту показывать hovered-состояние при наведении на текущий дочерний компонент. Присваивается дочернему компоненту. По умолчанию: - |