feat(frontend): replace emoji with inline Material Symbols icon system #1

Merged
iu merged 2 commits from feature/material-icons-ui into develop 2026-10-10 10:32:41 +00:00
6 changed files with 43 additions and 0 deletions
Showing only changes of commit bf11cbada3 - Show all commits
+43
View File
@@ -0,0 +1,43 @@
# ui-iconography Specification
## Purpose
Единая система иконок веб-интерфейса: самодостаточные векторные иконки, которые наследуют
цвет темы и корректно ведут себя для вспомогательных технологий.
## Requirements
### Requirement: Самодостаточные векторные иконки
Интерфейс SHALL отображать иконки как векторную графику, встроенную в документ, без запросов
к внешним источникам за иконками.
#### Scenario: Отображение иконки
- **WHEN** интерфейс показывает иконку (например, лайк, тему, закрытие лайтбокса)
- **THEN** она отрисована встроенной векторной графикой, а не эмодзи или символом системного шрифта
#### Scenario: Автономная загрузка
- **WHEN** страница загружается без доступа к внешней сети, кроме собственного сервера
- **THEN** все иконки отображаются, так как не требуют внешних ресурсов
### Requirement: Наследование цвета темы
Иконка SHALL наследовать цвет текущей темы и изменять его при переключении темы.
#### Scenario: Переключение темы
- **WHEN** пользователь переключает тему (light/dark/neutral)
- **THEN** цвет иконок меняется вместе с темой без дополнительных действий
### Requirement: Доступность иконок
Система SHALL скрывать декоративные иконки от вспомогательных технологий и давать доступное
имя смысловым иконочным элементам управления.
#### Scenario: Декоративная иконка
- **WHEN** иконка сопровождает видимый текст или находится внутри кнопки с текстом
- **THEN** она скрыта от скринридеров
#### Scenario: Иконочная кнопка без текста
- **WHEN** кнопка содержит только иконку (например, выбор темы)
- **THEN** кнопка имеет доступное имя
#### Scenario: Тумблер темы
- **WHEN** кнопка выбора темы активна или неактивна
- **THEN** её состояние передаётся вспомогательным технологиям как «нажата/не нажата»