Позвоните нам
8 800 555-23-46
звонок по Роcсии бесплатный
+7 (495) 580 30 45 Москва
+7 (8442) 98 54 54 Волгоград
+7 (917) 338 51 54
Все контакты и офисы
Напишите нам: info@onvolga.ru

Спросить онлайн

Модуль для слабовидящих для Joomla

Недавно потребовалось добавить на сайт версию для слабовидящих. Сайт был построен на CMS Joomla, готового решения для данной системы не было. И чаще всего такую задачу решали добавлением на сайт второго шаблона, который, предположительно, соответствовал требованиям ГОСТа и модуля, переключающего шаблоны. Однако данное решение не устраивало ни нас, ни заказчика.

И тогда мы начали разработку собственного модуля, позволявшего сайту соответствовать основным требованиям ГОСТа Р 52872-2012 «Интернет-ресурсы. Требования доступности для инвалидов по зрению». На самом деле данный документ содержит множество требований и рекомендаций, некоторые из которых противоречат друг другу, но это предмет отдельной статьи. В процессе разработки мы отталкивались от следующих принципов:

  1. принцип простоты - работа плагин должна быть простой и прозрачной;
  2. принцип достаточности - плагин реализует часть ГОСТа, которая не требует изменения контента;
  3. принцип гибкости - гибкость плагина должна заключаться в возможно-сти его настройки под каждый сайт в отдельности.

Следующим шагом было определить требования ГОСТа, реализуемые нашим модулем. Вот они:

  1. выбор шрифта(обычный или с засечками);
  2. выбор размера шрифта(обычный, большой, огромный);
  3. выбор межбуквенного интервала;
  4. выбор межстрочного интервала;
  5. выбор цветовой схемы;
  6. показ изображений (обычный, черно-белый, отключить изображения).

Опытные программисты знают, что с технической стороны достаточно определить на странице стили. Однако руководители проекта абсолютно уверены, что этого недостаточно, нам нужна форма, а лучше две. Пользователи хотят управлять контентом на сайте. В модуле у нас две формы. Первая позволит администратору задать размеры обычного, большого и огромного шрифтов в пикселях, а также поменять настройки межстрочного и межбуквенного интервалов (аналогично заданы в пикселях). Так же на сайт добавляется форма настройка для настройки внешнего вида для для каждого пользователя в отдельности, видна на втором рисунке. С помощью этой формы, пользователь сможет настроить вид сайта согласно своим нуждам, то есть выбрать размеры шрифтов, межбуквенных и межстрочных интервалов на сайте, выбрать одну их 5 стандартных цветовых схем, настроить схему показа изображений на сайте. И все это без добавления нового шаблона и без перезагрузок.

Фактически модуль состоит из двух отдельных частей. Первая - это форма настройки для администратора, которая задает необходимые данные, на основе которых генерируется уникальная таблица стилей. Эта уникальная таблица сохраняется в файл и минимизируется на основе возможностей языка PHP. Далее при загрузке модуля на страницу с помощью стандартных возможностей CMS Joomla (а именно функций addStyleSheet и addScript) мы добавляем свою таблицу стилей, а также js-обработчик для второй формы. Вторая  - это форма настройки внешнего вида сайта, которая позволяет применять эту таблицу стилей на сайте в реальном времени.

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

Мы рассматривали и другие подходы, как например добавление переменных в запрос, но, с одной стороны, это не красиво, а с другой - передача этих переменных при открытии ссылок приведет к множественным изменением DOM-дерева и заставит страницу зависать при каждом изменении настроек. При работе с сессиями такого рода манипуляции не нужны, достаточно сохранить все настройки в сессии и при загрузке страницы считывать их и применять к странице. Более того, сессия зависит одна в контексте браузера, что позволят без затруднений применять настройки при переходе между страницами сайта.

 Ваш запрос или вопрос по теме:

Интернет-агентство сегодня:

ТОП20 веб-студий России по разработке интернет-магазинов по доступной цене в рейтинге CMSMagazine, 1 место в ЮФО и ТОП10 Центрального ФО.

ТОП100 веб-студий Партнеров Битрикса по созданию интернет-магазинов и 11 место среди разработчиков интернет-магазинов на Битриксе по низким ценам в рейтинге РейтингРунета-2016.

ТОП10 разработчиков интернет-магазинов Москвы по доступной цене в рейтинге РейтингРунета.

ТОП120 SEO-компаний России, специализирующихся на поисковом продвижении интернет-магазинов по версии РейтингРунета.

Золотой Сертифицированный Партнер 1С-Битрикс.

Государственная аккредитация в области информационных технологий (№5291 Министерства связи РФ).

ПОЛУЧИТЕ БЕСПЛАТНУЮ КОНСУЛЬТАЦИЮ или ОТПРАВЬТЕ ЗАПРОС

Задайте вопрос о веб-разработке, обслуживании или продвижении сайта или отправьте запрос по работам. Мы стараемся отвечать на Ваши запросы в течение 24 часов.