Разработка VPAT — шаблона отчёта о доступности
VPAT (Voluntary Product Accessibility Template) — стандартный документ, описывающий соответствие продукта стандарту Section 508 (США) или EN 301 549 (Европа). Обязателен для продажи ПО государственным учреждениям США и крупным корпорациям с политиками закупок.
Версии VPAT
| Версия | Стандарт | Когда использовать |
|---|---|---|
| VPAT 2.4 WCAG | WCAG 2.1/2.2 | Международные проекты |
| VPAT 2.4 508 | Section 508 | Госсектор США |
| VPAT 2.4 EU | EN 301 549 | Европейский рынок |
| VPAT 2.4 INT | Все три | Универсальный |
Шаблоны VPAT доступны на сайте IT Industry Council (itic.org).
Структура VPAT
VPAT состоит из таблиц по каждому разделу WCAG. Для каждого критерия указывается уровень поддержки:
| Уровень поддержки | Значение |
|---|---|
| Supports | Полностью соответствует |
| Partially Supports | Частичное соответствие с ограничениями |
| Does Not Support | Не соответствует |
| Not Applicable | Критерий неприменим к продукту |
| Not Evaluated | Не проверялось |
Процесс подготовки VPAT
Шаг 1: Аудит продукта
Проводится систематическое ручное тестирование с экранными читалками (NVDA + Firefox, JAWS + Chrome, VoiceOver + Safari) и автоматизированными инструментами (axe-core, WAVE).
Шаг 2: Заполнение критериев
Для каждого WCAG Success Criterion (всего 78 для уровня AA в 2.1):
1.1.1 Non-text Content (Level A)
Criteria: Supports
Remarks: All images have appropriate alt text. Decorative images
use empty alt="" attribute. Complex charts include
long description via aria-describedby.
Шаг 3: Документирование ограничений
1.4.3 Contrast (Minimum) (Level AA)
Criteria: Partially Supports
Remarks: Most text meets 4.5:1 contrast ratio requirement.
Exception: placeholder text in form fields uses #9ca3af
on white background (2.7:1 ratio). Fix planned in Q2 2025.
Workaround: Users can use browser high contrast mode.
Автоматизированная генерация черновика
// scripts/generate-vpat-draft.js
// На основе отчёта axe-core создаём черновик VPAT
const WCAG_CRITERIA = require('./wcag-criteria.json'); // Список всех критериев
async function generateVpatDraft(axeReport) {
const violations = new Set(axeReport.violations.map(v => v.tags).flat()
.filter(t => t.startsWith('wcag')));
const draft = WCAG_CRITERIA.map(criterion => ({
id: criterion.id,
title: criterion.title,
level: criterion.level,
support: violations.has(criterion.wcag_tag) ? 'Partially Supports' : 'Supports',
remarks: violations.has(criterion.wcag_tag)
? `Automated testing found issues: ${axeReport.violations.filter(v => v.tags.includes(criterion.wcag_tag)).map(v => v.description).join('; ')}`
: 'No issues detected in automated testing. Manual verification recommended.',
}));
// Генерируем Markdown
return draft.map(c =>
`### ${c.id} ${c.title} (Level ${c.level})\n\n**${c.support}**\n\n${c.remarks}\n`
).join('\n');
}
Черновик требует обязательной ручной проверки — автоматика покрывает ~40% критериев.
Что обычно проверяется вручную
- Работа с клавиатурой (Tab/Shift+Tab/Enter/Space/Escape/стрелки)
- Совместимость с NVDA, JAWS, VoiceOver
- Zoom 200% и 400% без потери функциональности
- Режим высокого контраста Windows
- Анимации при
prefers-reduced-motion - Сессионные таймауты и предупреждения
Сроки
Аудит продукта, заполнение VPAT 2.4 и его ревью: 5–10 рабочих дней в зависимости от сложности продукта.







