Расширение для браузеров на движке Chromium, которое проверяет веб-сайты на соответствие критериям доступности (WCAG) и предоставляет детальные отчеты в различных форматах.
- ** Комплексная проверка доступности** по стандартам WCAG
- ** Проверка контрастности** с реальными расчетами по алгоритму WCAG
- ** Мультиформатные отчеты** (JSON, HTML и обычный текст)
- ** Проверка изображений** на наличие альтернативных текстов
- ** Проверка клавиатурной навигации**
- ** Анализ семантической разметки**
- ** Проверка ARIA-атрибутов**
- ** Скачивание отчетов** для дальнейшего анализа
- Расчет коэффициента контрастности по алгоритму WCAG
- Проверка соответствия уровням AA (4.5:1) и AAA (7:1)
- Учет размера и жирности шрифта
- Рекурсивный анализ фоновых цветов
- Отсутствие атрибута
alt - Пустые атрибуты
altдля декоративных изображений
- Наличие заголовков (
h1-h6) - Использование семантических элементов вместо
div - Корректная структура заголовков
- Проверка корректности использования
aria-label - Валидация ARIA-ролей и свойств
- Проверка атрибутов
tabindex - Обнаружение потенциальных проблем с фокусом
-
Клонируйте репозиторий
git clone https://github.com/Kostenkov-2021/A11y-inspector.git cd A11y-inspector -
Установите расширение в браузере
- Откройте браузер Chrome/Edge/Brave
- Перейдите на страницу
chrome://extensions/ - Включите "Режим разработчика" (переключатель в правом верхнем углу)
- Нажмите "Загрузить распакованное расширение"
- Выберите папку с расширением
- Скачайте последнюю версию расширения из Releases
- Распакуйте архив в выбранную папку
- Следуйте шагам 2-5 из инструкции выше
-
Откройте расширение
- Нажмите на иконку расширения в панели инструментов браузера
-
Введите URL для проверки
- Вставьте URL сайта в поле ввода
- Или используйте текущую вкладку (URL подставляется автоматически)
-
Выберите формат отчета
- JSON - для программной обработки
- HTML - для визуального просмотра
- Обычный текст - для быстрого импорта
-
Запустите проверку
- Нажмите кнопку "Проверить"
- Дождитесь завершения анализа
-
Просмотрите и скачайте отчет
- Изучите результаты в интерфейсе расширения
- Скачайте отчет в выбранном формате
Расширение автоматически проверяет все элементы страницы, но вы можете проверять на конкретных проблемах:
- Контрастность: Отчет включает точные значения коэффициентов и требования
- Изображения: Список всех изображений без альтернативных текстов
- Навигация: Проблемы с клавиатурным доступом
Уровни серьезности:
- 🔴 Ошибка - Критические проблемы, нарушающие доступность
- 🟡 Предупреждение - Потенциальные проблемы и рекомендации
Категории проверок:
contrast- Проблемы с контрастностьюimages- Проблемы с изображениямиheadings- Структура заголовковaria- ARIA-атрибутыkeyboard- Клавиатурная навигацияsemantics- Семантическая разметка
{
"url": "https://example.com",
"timestamp": "2024-01-15T10:30:00.000Z",
"issues": [
{
"type": "error",
"category": "contrast",
"message": "Недостаточный контраст: 3.2:1 (требуется 4.5:1)",
"selector": ".main-content",
"details": {
"ratio": "3.20",
"requiredRatio": 4.5,
"fontSize": "16px",
"fontWeight": 400
}
}
],
"summary": {
"total": 5,
"errors": 3,
"warnings": 2
}
}Отчет с цветовой кодировкой и детальной информацией о каждой проблеме.
Формат для импорта в текстовые редакторы.
accessibility-inspector/
├── manifest.json # Конфигурация расширения
├── popup/ # Интерфейс расширения
│ ├── popup.html # HTML popup
│ ├── popup.js # Логика popup
│ └── popup.css # Стили popup
├── background.js # Фоновый скрипт
├── content-script.js # Скрипт для проверки страниц
├── utils/ # Вспомогательные модули
│ ├── report-generator.js # Генератор отчетов
│ └── color-utils.js # Утилиты для работы с цветом
└── icons/ # Иконки расширения
├── icon16.png
├── icon48.png
└── icon128.png
- Браузер на движке Chromium (Chrome 88+, Edge 88+, Brave 1.20+)
- Базовые знания JavaScript и HTML/CSS
-
Клонируйте репозиторий
git clone https://github.com/Kostenkov-2021/A11y-inspector.git cd A11y-inspector -
Внесите изменения в код
-
Тестирование изменений
- Откройте
chrome://extensions/ - Нажмите "Обновить" на карточке расширения
- Проверьте функциональность
- Откройте
Content Script (content-script.js)
- Выполняется в контексте проверяемой страницы
- Собирает данные о доступности элементов
- Реализует алгоритмы проверки контрастности
Background Script (background.js)
- Управляет процессами проверки
- Координирует взаимодействие между компонентами
Popup Interface (popup/)
- Пользовательский интерфейс расширения
- Отображение результатов и управление настройками
Report Generator (utils/report-generator.js)
- Генерация отчетов в различных форматах
- Форматирование и экспорт данных
Для проверки функциональности используйте следующие тестовые сценарии:
-
Проверка контрастности
- Сайты с низкоконтрастным текстом
- Элементы с различными размерами шрифтов
-
Проверка изображений
- Страницы с изображениями без
altатрибутов - Декоративные изображения с пустыми
alt
- Страницы с изображениями без
-
Проверка семантики
- Страницы без заголовков
- Использование несемантических элементов для интерактивных компонентов
Расширение оптимизировано для работы с большими страницами:
- Проверка выполняется асинхронно
- Минимальное влияние на производительность браузера
- Инкрементальный анализ элементов
Мы приветствуем вклад в развитие расширения!
-
Сообщение об ошибках
- Используйте Issues для сообщения о багах
- Включайте информацию о браузере и версии расширения
- Прикладывайте примеры проблемных страниц
-
Предложение новых функций
- Опишите предлагаемую функциональность
- Обоснуйте полезность для пользователей
- Предложите возможную реализацию
-
Участие в разработке
- Форкните репозиторий
- Создайте ветку для новой функции (
git checkout -b feature/amazing-feature) - Закоммитьте изменения (
git commit -m 'Add amazing feature') - Запушьте в форк (
git push origin feature/amazing-feature) - Создайте Pull Request
- Проверка мобильной доступности
- Поддержка пользовательских правил проверки
- Визуальное выделение проблем на странице
- История проверок
Если у вас возникли проблемы или вопросы:
- Проверьте документацию - многие вопросы уже освещены
- Создайте Issue на GitHub для багов и предложений
Accessibility Inspector - Доступность - неотъемлимая часть разработки и жизни!