# О проекте EasyAccess

Инновационное решение для повышения доступности веб-сайтов

## Что такое EasyAccess?

EasyAccess представляет собой комплексное браузерное расширение, разработанное для универсальной модификации веб-страниц с целью повышения доступности контента, отраженного на сайте. Приложения предназначено для лиц с ограниченными возможностями здоровья.

Расширение объединяет в себе возможности нескольких специализированных решений и предоставляет дополнительные функции, включая работу с документами и распознавание голоса. Основная цель проекта - сделать интернет более доступным для всех пользователей, независимо от их физических ограничений.

## Проблема веб-доступности

### Статистика

По данным Всемирной организации здравоохранения, более 1 миллиарда людей в мире живут с той или иной формой инвалидности. В России насчитывается около 11,9 миллионов людей с ограниченными возможностями. Все эти люди могут испытывать трудности при использовании веб-ресурсов, не адаптированных должным образом.

### Стандарты

Существуют международные стандарты и рекомендации по обеспечению веб-доступности, такие как WCAG (Web Content Accessibility Guidelines), разработанные W3C. В Российской Федерации вопросы доступности веб-ресурсов регулируются ГОСТ Р 52872-2019, который устанавливает требования к доступности интернет-ресурсов.

### Решение

EasyAccess предлагает уникальный подход к решению проблемы веб-доступности через систему пакетов модификаций, которые могут быть применены к определенным веб-сайтам для повышения их доступности. Это позволяет адаптировать контент под конкретные потребности пользователей с различными ограничениями.

## Цели и задачи проекта

### Основная цель

Разработать универсальное браузерное расширение EasyAccess, способное повышать доступность веб-сайтов и добавлять к ним новую функциональность через систему пакетов модификаций.

### Задачи проекта

- Провести анализ существующих решений по обеспечению доступности веб-ресурсов
- Разработать архитектуру расширения, позволяющую гибко настраивать его функциональность
- Спроектировать и реализовать базу данных для хранения пакетов модификаций
- Разработать серверную инфраструктуру для обеспечения работы расширения
- Создать систему пакетов модификаций для повышения доступности веб-сайтов
- Реализовать модули для сканирования документов и обработки аудио файлов
- Обеспечить удобный пользовательский интерфейс, соответствующий принципам доступности
- Разработать веб-редактор для создания пакетов модификаций
- Подготовить инфраструктуру для развертывания проекта с использованием Docker
- Сформировать документацию проекта и поддерживать её актуальность

## Архитектура проекта

Разрабатываемое расширение EasyAccess имеет многокомпонентную архитектуру, которая обеспечивает эффективное разделение функциональности, безопасность и высокую производительность приложения.

### Клиентская часть (Frontend)

Разработана с использованием TypeScript и библиотек React/Solid.js. Клиентская часть включает интерфейс браузерного расширения, компоненты для редактирования пакетов модификаций и взаимодействие с Chrome Extension API. Ключевые компоненты разработаны с применением реактивной архитектуры для оптимальной производительности.

### Серверная часть (Backend)

Реализована на языке Go для основной серверной части и взаимодействия с базой данных. Выбор Go обусловлен высокой производительностью и эффективностью при обработке параллельных запросов. Дополнительные модули на Python отвечают за обработку данных, распознавание голоса и документов с использованием библиотек машинного обучения.

### База данных

Основана на PostgreSQL с расширением TimescaleDB для эффективной работы с временными рядами данных. База данных включает 12 основных таблиц и использует материализованные представления для оптимизации запросов. Применяется Supabase для управления пользователями и аутентификации.

### Система пакетов модификаций

Ключевой компонент расширения, позволяющий создавать, управлять и применять наборы CSS/JavaScript модификаций к веб-страницам. Система пакетов реализует изоляцию скриптов и механизмы безопасности при внедрении в DOM-структуру страниц.

## Уникальные преимущества EasyAccess

Функциональность
EasyAccess
Другие решения
Универсальный подход
✓
✗
Система пакетов модификаций
✓
✗
Расширенная функциональность
✓
~
Фокус на российский рынок
✓
✗
Открытая платформа
✓
~

В результате сравнительного анализа подтверждена актуальность разработки EasyAccess как комплексного решения, объединяющего возможности существующих специализированных расширений и предлагающего дополнительную функциональность для повышения доступности веб-ресурсов.

## Практическая значимость

Практическая значимость проекта заключается в создании универсального инструмента, который может быть использован для решения широкого спектра задач по повышению доступности веб-ресурсов:

### Для пользователей с нарушениями зрения

Изменение внешнего вида веб-сайтов: настройка контрастности, размера текста, цветовых схем. Добавление альтернативного текста к изображениям и распознавание текста из изображений.

### Для пользователей с двигательными нарушениями

Улучшение навигации и обеспечение полной доступности сайта с клавиатуры. Голосовое управление для пользователей с ограниченными возможностями самостоятельного ввода.

### Для пользователей с когнитивными нарушениями

Персонализация интерфейсов: упрощение навигации, удаление отвлекающих элементов, структурирование информации для лучшего восприятия.

### Для организаций

Обеспечение доступности веб-ресурсов для всех категорий пользователей без необходимости значительной переработки существующих сайтов и приложений.