Изучите настоящие цветовые роли, слоты карточек и нативную пагинацию Gov Design System CE на примере полноценного инструментария для чтения шести ресурсов с явным управлением фокусом и состоянием страницы.
Компоненты карточки, кнопки и пагинации Native Gov CE 4.7.1; оригинальный локальный набор данных и обработка фокуса. · Справочник по реализации
02
Дизайн-система gov.cz Справочник по дизайну
Фактические примитивы цветов и семантические псевдонимы из tokens.css пакета @gov-design-system-ce/styles 4.7.1. В предварительном просмотре используются опубликованные стили и пакет Roboto.
Дизайн-система gov.cz Основы Gov CE и порядок подключения ресурсов
Используйте согласованные версии пакетов
В этом примере компоненты, стили, значки и шрифты зафиксированы на версии 4.7.1. Пять таблиц стилей для основ подключаются в опубликованном порядке. У каждой из них своя задача: одних переменных недостаточно, чтобы оформить карточку, а одной регистрации пользовательского элемента — чтобы подключить глобальный компонент CSS. Полный файл точки входа подключает все пять таблиц перед небольшим оригинальным слоем композиции.
Инициализируйте конфигурацию до регистрации компонентов
Путь к значкам настраивается до запуска динамически импортируемых модулей точки входа компонентов. Порядок важен: компонент пагинации загружает значки стрелок в составе собственных зависимостей. Скопируйте всю папку со значками в настроенный общедоступный каталог, сохранив вложенные папки. Успешный импорт JavaScript не подтверждает успешную загрузку отдельных значков.
Дизайн-система gov.cz Ссылки на семантические цвета и состояния
Связывайте цвет с ролью
В справочнике голубой основной примитив отделён от псевдонимов текста, фокуса и состояния кнопки. Использование одного и того же визуально голубого цвета повсюду нарушило бы эти соглашения. В наборе используются официальные сплошные основные кнопки, а их активный, наведённый и отключённый вид задаётся таблицей стилей компонента. Только компоновка окружающей коллекции — оригинальная работа CSS.
Показывайте типографику и контекст содержимого
Roboto загружается из соответствующего пакета шрифтов. У карточек есть короткие заголовки с указанием действия, строка метаданных и краткое описание перед действием чтения. Тексты шести ресурсов — оригинальный учебный материал OpenDesign, а не перевод официальных инструкций правительства Чехии. Они предназначены для демонстрации иерархии и полного локального взаимодействия без имитации государственной службы.
Дизайн-система gov.cz Слоты карточки и действия чтения
Размещайте заголовок в поддерживаемом слоте
Для каждой gov-card заголовок передаётся в слот headline. Метаданные, описание и кнопка составляют содержимое. У действия задан aria-label с названием ресурса, чтобы вспомогательные технологии различали одинаковые кнопки «Читать ресурс». Компонент передаёт атрибуты ARIA своему внутреннему интерактивному элементу; выдуманный атрибут accessible-label этого не обеспечит.
Оставляйте компоновку за пределами контракта компонента
Сетка CSS из трёх колонок на узком экране становится одноколоночной. Сетка и её контрольная точка адаптивности созданы для этого примера и не являются дополнительными официальными свойствами карточки. В предварительном просмотре также снимается глобальное ограничение минимальной ширины body в 320px внутри очень узкого встроенного контейнера. Эта небольшая корректировка композиции сохраняет стилизацию компонента и предотвращает переполнение родительской страницы.
Дизайн-система gov.cz Нативная пагинация и состояние приложения
Читайте данные нативного события
Для gov-pagination заданы total=6 и page-size=3. Событие gov-page передаёт detail.pagination.currentPage, по которому выбираются соответствующие три записи. Компонент пагинации отвечает за элементы управления текущей страницей, а приложение — за набор данных и отображаемую его часть. Все стандартные чешские подписи навигации явно заменены английскими для этого примера на английском языке.
total — это число записей, а не число страниц.
page-size задаёт количество элементов на странице.
Подписи навигации должны соответствовать языку интерфейса.
Не допускайте отображения устаревших подробностей после смены страницы
Дизайн-система gov.cz Перемещение фокуса при чтении и возврате
Переместить фокус на открытую запись
Действие «Читать» заполняет локальную область с подробностями и переводит фокус на её заголовок. Так пользователи клавиатуры получают понятную точку назначения после действия, добавляющего содержимое под коллекцией. Для заголовка, на который можно переместить фокус, используется tabindex=-1: приложение может установить на него фокус, но он не становится дополнительной остановкой при обычном переходе клавишей Tab. Открытое содержимое остаётся обычным текстом для чтения.
Вернуться к действию, которое открыло запись
Кнопка «Назад к ресурсам» скрывает подробности и возвращает фокус на исходную внутреннюю кнопку. Это не модальное окно: фокус не блокируется внутри него, семантика диалога не добавляется, а страница не затемняется. Исходная коллекция остаётся доступной. Повторное открытие и закрытие записей, а также переход между страницами позволяют проверить, согласованно ли меняются состояние приложения и фокус при выборе разных ресурсов.
Дизайн-система gov.cz Полная локальная интеграция
Используйте предоставленные файлы вместе
В записи приведён полный код приложения: все шесть элементов, создание карточек, обработка пагинации и перемещение фокуса на подробности. Таблица стилей содержит только исходную композицию. Установите четыре пакета с зафиксированными версиями, скопируйте значки и сохраните оба файла в проекте на vanilla Vite. Предварительный просмотр в браузере включает ровно эти компоненты и локальные файлы шрифтов.
Установите все четыре пакета Gov CE версии 4.7.1.
Скопируйте значки в public/assets/gov-cz-icons, сохранив структуру подкаталогов.
Сохраните полный JavaScript и композицию CSS в src.
Запустите приложение и проверьте пагинацию, возврат фокуса и запросы значков.
Проверьте взаимодействие и загрузку ресурсов
Откройте первую запись, верните фокус на её кнопку, перейдите на вторую страницу и прочитайте другую запись. Убедитесь, что в начале отключены кнопки первой и предыдущей страниц, а в конце — следующей и последней. Проверьте этот сценарий на экранах настольных компьютеров и телефонов, в том числе при меньшей ширине встроенного блока. Помимо ошибок JavaScript проверьте в панели сети, не отсутствуют ли значки.
Полный набор данных, регистрация нативных компонентов, разбиение по страницам и фокус при чтении.
javascript
import '@gov-design-system-ce/styles/tokens.css';
import '@gov-design-system-ce/styles/styles.css';
import '@gov-design-system-ce/styles/layout.css';
import '@gov-design-system-ce/styles/components.css';
import '@gov-design-system-ce/styles/animations.css';
import '@gov-design-system-ce/fonts/lib/roboto.css';
import './gov-cz.css';
window.GOV_DS_CONFIG={iconsPath:'/assets/gov-cz-icons'};
const resources=[
{title:'Map the service journey',kind:'Workshop',time:'25 minutes',summary:'Connect the first question to a useful outcome.',body:'Start with the person’s goal. Record how they discover the service, what they need before starting and how they know the task has finished. Mark every hand-off where the person must repeat information.'},
{title:'Write a clear action label',kind:'Writing guide',time:'10 minutes',summary:'Name what will happen after a button is activated.',body:'Use a verb and the object of the action. Compare Save draft with Send application and make the distinction explicit. Keep destructive and reversible actions visually and verbally distinguishable.'},
{title:'Review keyboard access',kind:'Checklist',time:'20 minutes',summary:'Inspect focus order, visible focus and recovery.',body:'Work through the page using only the keyboard. Check the first useful control, the order through repeated items, the next-page action and return from a detail view. A selected page and keyboard focus are separate states.'},
{title:'Prepare an error message',kind:'Writing guide',time:'15 minutes',summary:'Explain the issue next to a recoverable action.',body:'State what needs changing and how to change it. Preserve the person’s input. Avoid a generic failure message when the application knows which field or prerequisite is causing the problem.'},
{title:'Test a narrow layout',kind:'Checklist',time:'20 minutes',summary:'Keep reading and actions available on a small screen.',body:'Inspect a long title, two lines of metadata and the pagination controls at a narrow width. Avoid hiding essential actions behind hover. Check that only a genuinely two-dimensional region scrolls sideways.'},
{title:'Record the decision',kind:'Template',time:'10 minutes',summary:'Give the next team enough context to continue.',body:'Record the decision, the evidence used, the person responsible and the condition that would make the team revisit it. A useful record explains the reasoning without presenting an experiment as a settled rule.'}
];
document.querySelector('#root').innerHTML=`<main><p class="eyebrow">OPENDESIGN · ORIGINAL SERVICE TOOLKIT</p><h1>Small steps toward a clearer service</h1><p class="lead">Six practical resources for a team review. Explore two pages and open a resource without leaving the collection.</p><div id="cards" class="cards"></div><div class="pagination-row"><p id="range" role="status"></p><gov-pagination total="6" page-size="3" current="1" color="primary" size="s" accessible-page-label="Page" accessible-select-label="Choose a page" label-prev="Previous page" label-next="Next page" label-start="First page" label-end="Last page" aria-label="Toolkit pages"></gov-pagination></div><section id="detail" hidden aria-labelledby="detail-title"><p class="eyebrow" id="detail-meta"></p><h2 id="detail-title" tabindex="-1"></h2><p id="detail-body"></p><gov-button id="close" type="outlined" color="primary" size="m">Back to resources</gov-button></section><aside><strong>About this example</strong><p>These are original OpenDesign practice notes, not Czech government guidance. Cards, buttons and pagination use Gov Design System CE 4.7.1. Reading a resource is local and does not submit information.</p></aside></main>`;
await import('@gov-design-system-ce/components/dist/components/gov-card.js');
await import('@gov-design-system-ce/components/dist/components/gov-pagination.js');
let page=1,opened=-1;
const cards=document.querySelector('#cards'), detail=document.querySelector('#detail');
function render(){cards.replaceChildren();resources.slice((page-1)*3,page*3).forEach((r,i)=>{let id=(page-1)*3+i;let card=document.createElement('gov-card');card.innerHTML=`<h2 slot="headline">${r.title}</h2><p class="meta">${r.kind} · ${r.time}</p><p>${r.summary}</p><gov-button type="solid" color="primary" size="m" data-resource="${id}" aria-label="Read ${r.title}">Read resource</gov-button>`;cards.append(card)});document.querySelector('#range').textContent=`Resources ${(page-1)*3+1}–${page*3} of ${resources.length}`;detail.hidden=true;opened=-1;}
cards.addEventListener('gov-click',e=>{let b=e.target.closest('[data-resource]');if(!b)return;opened=Number(b.dataset.resource);let r=resources[opened];document.querySelector('#detail-meta').textContent=r.kind+' · '+r.time;document.querySelector('#detail-title').textContent=r.title;document.querySelector('#detail-body').textContent=r.body;detail.hidden=false;document.querySelector('#detail-title').focus();});
document.querySelector('gov-pagination').addEventListener('gov-page',e=>{page=e.detail.pagination.currentPage;render();});
document.querySelector('#close').addEventListener('gov-click',()=>{detail.hidden=true;const button=cards.querySelector(`[data-resource="${opened}"] button`);button?.focus();opened=-1;});render();
Макет сетки и переопределение минимальной ширины встроенного блока — исходные CSS приложения.
04
Дизайн-система gov.cz Настройка агента
Отправная точка для реализации
Сохраняйте структуру подкаталогов значков. В этом примере напрямую импортируются модули точек входа компонентов; копировать среду выполнения для отложенной загрузки не требуется.
sh
npm create vite@latest gov-toolkit -- --template vanilla
cd gov-toolkit
npm install
npm install @gov-design-system-ce/[email protected] @gov-design-system-ce/[email protected] @gov-design-system-ce/[email protected] @gov-design-system-ce/[email protected]
mkdir -p public/assets/gov-cz-icons
cp -R node_modules/@gov-design-system-ce/icons/lib/. public/assets/gov-cz-icons/
# Save the supplied files as src/main.js and src/gov-cz.css.
# The root index.html must contain <div id="root"></div> and load /src/main.js.
npm run dev
Запрос для вашего проекта
Промпт для AI-агента
Соберите предоставленный набор компонентов Gov CE 4.7.1, используя нативные карточки, кнопки и пагинацию. Сохраните фактический порядок таблиц стилей и настройки путей к значкам. Используйте gov-page detail.pagination.currentPage, понятные подписи ARIA на английском языке, закрывайте устаревшие подробности при смене страницы и возвращайте фокус после чтения. Сохраните указание авторства исходных примеров содержимого.
05
Дизайн-система gov.cz Источники и область применения
Оригинальное исследование набора инструментов для сервисов OpenDesign на компонентах, стилях, значках и шрифтах Gov Design System CE 4.7.1. Текст примеров и поведение коллекции созданы для этого примера; это не официальный государственный сервис.