Показываете 4.1k вместо 4120? Полное число положите в Exact. Программы чтения с экрана читают только то, что на экране, поэтому всё, что нужно человеку, держите в самом числе.
person
Аватар с инициалами, имя и почта. Помогает быстро узнать записи о людях.
Кто что сделал, словами: имя человека, либо агент и человек, от имени которого он действовал. Без значка и без иконки.
Агент, действующий от имени человека
<spanrst-actor>Claude от имени Grace Hopper</span>
{{template"actor"dict"Actor".Actor}}
Задайте ui.ActorName один раз при запуске, чтобы превращать субъект в имя. Само приложение, нулевой Actor, ничего не отображает.
Человек
<spanrst-actor>Grace Hopper</span>
{{template"actor"dict"Actor".Actor}}
callout
Единственный словарь предупреждений: цветная полоса, значок тона, необязательный жирный заголовок и один абзац текста.
info
<divrst-calloutrst-tone="info">
<spanrst-callout-icaria-hidden="true">
<svgclass="icon"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"aria-hidden="true"><circlecx="12"cy="12"r="10"/><pathd="M12 16v-4"/><pathd="M12 8h.01"/></svg>
</span>
<divrst-callout-body>
<p>Пока сайт не опубликован, записи видны только участникам.</p>
</div>
</div>
{{template"callout"dict"Body""Пока сайт не опубликован, записи видны только участникам.""Tone""info"}}
positive
<divrst-calloutrst-tone="positive">
<spanrst-callout-icaria-hidden="true">
<svgclass="icon"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"aria-hidden="true"><circlecx="12"cy="12"r="10"/><pathd="m9 12 2 2 4-4"/></svg>
</span>
<divrst-callout-body>
<strong>Платежи подключены</strong>
<p>Теперь можно принимать оплату за билеты.</p>
</div>
</div>
{{template"callout"dict"Body""Теперь можно принимать оплату за билеты.""Title""Платежи подключены""Tone""positive"}}
warning
<divrst-calloutrst-tone="warning">
<spanrst-callout-icaria-hidden="true">
<svgclass="icon"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"aria-hidden="true"><pathd="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"/><pathd="M12 9v4"/><pathd="M12 17h.01"/></svg>
</span>
<divrst-callout-body>
<strong>Подключите платежи, чтобы начать продажи</strong>
<p>Мероприятие опубликовано, но пока не может принимать оплату.</p>
</div>
</div>
{{template"callout"dict"Body""Мероприятие опубликовано, но пока не может принимать оплату.""Title""Подключите платежи, чтобы начать продажи""Tone""warning"}}
negative
<divrst-calloutrst-tone="negative">
<spanrst-callout-icaria-hidden="true">
<svgclass="icon"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"aria-hidden="true"><circlecx="12"cy="12"r="10"/><pathd="m15 9-6 6"/><pathd="m9 9 6 6"/></svg>
</span>
<divrst-callout-body>
<strong>Последний импорт не удался</strong>
<p>Ничего не изменено. Исправьте строку 91 и повторите попытку.</p>
</div>
</div>
{{template"callout"dict"Body""Ничего не изменено. Исправьте строку 91 и повторите попытку.""Title""Последний импорт не удался""Tone""negative"}}
{{template"detail-list"dict"Items" (list
(dict"Label""Аудитория""Value""Участники")
(dict"Label""Главная страница""Value""Нет")
(dict"DateTime""2026-08-02""Label""Опубликовано""Value""2 августа 2026 г.")
(dict"Label""Номер""Mono"true"Value""post_01H9ZQ"))}}
notice
Однострочное подтверждение после перенаправления. Принимает обычную строку, а не dict, и при пустой не выводит ничего.
Сообщение о сохранении
<prst-noticerole="status">Запись сохранена.</p>
{{template"notice""Запись сохранена."}}
region:notice
Уведомление, которое каждая оболочка держит на странице: оно показывает Notice из данных страницы, чтобы экранный диктор услышал сообщение, а live.js мог заполнить его на месте.
Строка со сводкой ошибок формы, role="alert". Принимает обычную строку; при отсутствии ошибки не выводит ничего.
Отклонённая отправка
<prst-form-errorrole="alert">Это название уже занято.</p>
{{template"form-error""Это название уже занято."}}
job-status
Опрашиваемый фрагмент фоновой задачи. Атрибут data-poll выводится, только пока задача выполняется: не вывести его и значит остановить опрос.
Выполняется
<divrst-jobdata-poll="/jobs/1/fragment"data-poll-every="2">
<spanrst-spinaria-hidden="true"></span> Задача «<bdi><strong>Импорт</strong></bdi>» выполняется: <bdi>128 из 400</bdi>…
<progressrst-job-barvalue="32"min="0"max="100"aria-hidden="true"></progress>
</div>
{{template"job-status"dict"Name""Импорт""Percent" 32
"PollSeconds" 2
"PollURL""/jobs/1/fragment""Progress""128 из 400""Status""running"}}
Этот опрашивает: единственный образец на странице, который вообще что-то просит у сети, — и на статическом сайте он просто никогда не дождётся ответа.
Готово
<divrst-job>
Задача «<bdi><strong>Импорт</strong></bdi>» завершена.
</div>