chore(openspec): archive material-icons-ui and sync ui-iconography spec
Move the completed material-icons-ui change to openspec/changes/archive/2026-10-10-material-icons-ui/ and create the ui-iconography main spec from its ADDED requirements.
This commit is contained in:
@@ -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** её состояние передаётся вспомогательным технологиям как «нажата/не нажата»
|
||||
Reference in New Issue
Block a user