Files
iu bf11cbada3 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.
2026-10-10 13:20:06 +03:00

2.8 KiB

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 её состояние передаётся вспомогательным технологиям как «нажата/не нажата»