Avatar
<sf-avatar> показывает одного человека или одну организацию: фотографию,
инициалы или значок-заполнитель, при необходимости — состояние в сети или
отметку проверенного профиля. Элемент строится на классах компонента
Аватары; для готовых сочетаний аватаров со
ссылкой или группой есть Avatars.
Пример
Применение
Что показывает аватар
Содержимое выбирается по порядку: изображение из image-url, затем текст из
text, затем инициалы, которые компонент берёт из title или из явно
заданного aria-label. Если нет ничего из этого, показывается значок
человека. Изображение декоративно: имя человека передаёт aria-label, а не
альтернативный текст картинки.
Шаблоны
template выбирает раскладку:
default— один аватар;label— аватар с подписью:title— имя,description— вторая строка.no-wrapобрезает обе строки многоточием вместо переноса;card— карточка: изображение,titleи строкаmeta(илиdescription) со значкомmeta-icon.card-variantзадаёт пропорции изображения:squareилиportrait, аimage-alt— его альтернативный текст.
Размер и форма
size выбирает ступень от 1/4 до 3 (по умолчанию 1). Рядом с подписью
в строке или в ячейке таблицы задайте line со значением 1/2, 1 или 2:
аватар займёт строку текста этого размера формы, и строка не станет выше.
shape="square" делает аватар квадратным — для организаций и проектов.
Состояние
status добавляет индикатор в углу аватара: online и offline — точка
присутствия, company и verified — значок организации и проверенного
профиля. Индикатор декоративный, поэтому называйте состояние и в
aria-label. Слоты online-indicator, company-badge и verified-badge
заменяют соответствующий значок своим.
Нажатие и создание из скрипта
В шаблонах default и label аватар — нативная кнопка. Своих событий у
элемента нет: открытие профиля или меню повесьте на обычный click.
disabled выключает кнопку.
const avatar = await SF.createAsync('avatar', {
text: 'АБ',
ariaLabel: 'Анна Белова',
status: 'online',
});
document.querySelector('.team').append(avatar);
avatar.addEventListener('click', () => openProfile('anna'));
Доступность
- Аватар в шаблонах
defaultиlabel— кнопка в порядкеTab. Задайте ейaria-labelс именем человека; без него кнопка называется «Аватар» на русской странице и «Avatar» на остальных, а такое имя ничего не сообщает. - Изображение и значки состояния скрыты от экранного диктора. Если состояние важно, включите его в имя: «Мария Козлова, в сети».
- В шаблоне
labelвидимое имя вtitleиaria-labelкнопки дублируют друг друга по смыслу — так и должно быть: кнопка получает имя, подпись остаётся текстом рядом. - В шаблоне
cardкнопки нет; альтернативный текст изображения задаётimage-alt.
Справочник API
Раздел собран из манифеста компонента выпуска ui-106d5901f8c3 и обновляется вместе с выпуском. Чтобы исправить описание, исправьте манифест.
Каждому атрибуту соответствует свойство элемента с тем же именем в camelCase: search-placeholder — searchPlaceholder. Свойство атрибута template называется templateName.
| Тег | <sf-avatar> |
| Назначение | Показывает человека или организацию фотографией или инициалами с необязательной отметкой доступности или подтверждения. Шаблоны по умолчанию и label отрисовывают нативную кнопку, aria-label которой называет её действие; шаблон card статичен и добавляет заголовок, описание и строку метаданных. |
| Контракт | smart.avatar, версия 1.0.0 |
| Поставка | выпуск Framework ui-106d5901f8c3 |
| Жизненный цикл | экспериментальный: API может меняться между выпусками |
| Готовность | описан: манифест и сценарий есть, продуктовой приёмки нет |
| Заготовка до прихода кода | нет: атрибут data-sf-skeleton не пишется; своего скелетона при загрузке данных нет (Заготовка до прихода кода) |
Атрибуты
template—string, по умолчаниюdefault.size—string, по умолчанию1, значения:1/4,1/3,1/2,1,2,3.line—string, по умолчанию пусто, значения: пусто,1/2,1,2. Занимает строку текста этого размера формы вместо высоты элемента управления — для аватара рядом с подписью в строке или ячейке таблицы.shape—string, по умолчаниюcircle, значения:circle,square.image-url—string, по умолчанию пусто.image-alt—string, по умолчанию пусто.no-wrap—boolean, по умолчаниюfalse.text—string, по умолчанию пусто.status—string, по умолчаниюnone, значения:none,online,offline,company,verified.aria-label—string, по умолчанию пусто. Пусто — текст на языке страницы (по-английски «Avatar»).title—string, по умолчанию пусто.description—string, по умолчанию пусто.meta—string, по умолчанию пусто.meta-icon—string, по умолчанию пусто.card-variant—string, по умолчаниюsquare, значения:square,portrait.disabled—boolean, по умолчаниюfalse.
Прежние имена:
| Имя | Прежнее имя | Состояние | Убирается после |
|---|---|---|---|
status="error" |
status="danger" |
работает, отмечается в SF.deprecations |
2026-12-01 |
status="error" |
status="critical" |
работает, отмечается в SF.deprecations |
2026-12-01 |
Методы
Публичных методов нет.
События
Своих событий нет; общие события базового элемента перечислены в главе Жизненный цикл → Этапы.
Доступность
- Доступное имя: рекомендуется.
- Клавиши:
Tab. - Фокус: Сохраняет видимый фокус на активном элементе управления.
Минимальная разметка
<sf-avatar></sf-avatar>
Источник
simai/ui@106d5901f8c3b4f23131ce0e7ede5dbd8abfe4f4:distr/smart/avatarsimai/ui@106d5901f8c3b4f23131ce0e7ede5dbd8abfe4f4:distr/rule/rule.json#name=cl-avatar