Модуль "Версия для слабовидящих" (Drupal 7)

Втр, 13/09/2016 - 05:38

Всем привет!

Кто разрабатывал сайты для государственных, муниципальных, образовательных учреждений знает, что у сайта должна быть обязательно "версия для слабовидящих". Хочу предложить своё решение этого вопроса.

Думая над логикой модуля, чтобы всё не усложнять я пришел к следующему решению: проще всего сделать "версию для слабовидящих" отдельной темой оформления и переключать темы на лету. Необходимо установить и подготовить тему оформления, которая будет "для слабовидящих". В admin/appearance/settings выбрать эту тему.

Начиная с версии 1.4 модуль используется только для создания блоков переключения на тему для слабовидящих и обратно. Сама панель с кнопками теперь находится в теме оформления и выглядит вот так:

panel's screenshot

Да-да, интерфейс позаимствовал с небезызвестного правительственного сайта :)

Модуль после включения создаёт 2 уже готовых блока: "версия для слабовидящих"

block1

и "обычная версия".

block2

Первый нужно разместить на обычной теме оформления, а второй соответственно на "версии для слабовидящих". Вот собственно и всё, с помощью этих двух блоков мы переключаем тему оформления.

С помощью CSS можно изменить изображения на кнопках в блоках.

Скачать модуль и тему можно с официальной страницы проекта

5 Спасибо

Комментарии

Аватар пользователя itcrowd72
11 months 1 неделя назад itcrowd72 #

Намёк понял. Даже попробовал. Но использование хука вместо ThemeKey немного усложнит модуль. А именно, придется делать форму, где пользователю будет нужно указать названия темы для версии для слабовидящих и запоминать это название в БД. Впрочем, это будет лучше, чем тащить за собой ThemeKey как зависимость. Спасибо за наводку.

0 Спасибо
Аватар пользователя sas@drupal.org
11 months 1 неделя назад sas@drupal.org #

Рад помочь.

0 Спасибо
Аватар пользователя Studio VIZA
11 months 1 неделя назад Studio VIZA #
ivnish написал:
наводку

0 Спасибо
Аватар пользователя itcrowd72
10 months 3 недели назад itcrowd72 #

:)

0 Спасибо
Аватар пользователя Van'Denis
10 months 3 недели назад Van'Denis #

Шутит он.
Теперь заметил одну деталь:
«Кэширование должно быть отключено. Впрочем для гос. и муниципальных сайтов оно и не нужно. Там низкая посещаемость.» Источник.
PageSpeed Tools будет "материться" если кэширование отключено.

0 Спасибо
Аватар пользователя itcrowd72
10 months 3 недели назад itcrowd72 #

Я пока не придумал как менять тему на лету со включенным кэшированием. Да и ты думаешь PageSpeed Tools волнует тех, кто разрабатывает сайты для госучреждений? Там главное, чтобы сайт БЫЛ и работал)

0 Спасибо
Аватар пользователя Van'Denis
10 months 3 недели назад Van'Denis #

Модуль предназначен только для гос. учреждений?
У меня тоже есть мысль использовать версию для слабовидящих и невидящих.
Пока до этого пункта не дошёл.

0 Спасибо
Аватар пользователя itcrowd72
10 months 3 недели назад itcrowd72 #

Только в госучреждениях "версия для слабовидящих" ОБЯЗАНА быть по требованию прокуратуры. Все остальные по желанию (никто обычно не делает)

0 Спасибо
Аватар пользователя sergeybelya
10 months 3 недели назад sergeybelya #

And unlike other theme switching modules, ThemeKey should play well with internal and external page caches, like Boost or Varnish, even for anonymous users. - это со страницы модуля на орге - не соответствует действительности?

0 Спасибо
Аватар пользователя itcrowd72
10 months 3 недели назад itcrowd72 #

Я не выкатил еще сюда новую версию. Я отвязал модуль от ThemeKey.

0 Спасибо
Аватар пользователя itcrowd72
10 months 1 неделя назад itcrowd72 #

UPD 12.10.2016

0 Спасибо
Аватар пользователя keha3912
10 months 6 дней назад keha3912 #

я обошелся без спецмодулей. все решил ThemeKey+Text Resize+Redirect+Adaptive Theme (на базе которой я сделал аскетичную тему). Блок создал по обычному пути.
вот, к примеру вот это удовлетворило муниципалитет

0 Спасибо
Аватар пользователя itcrowd72
10 months 6 дней назад itcrowd72 #

У моих клиентов такое не прокатывает. В постановлении правительства ЯНАО прописано, что помимо изменения размера текста, необходимо еще изменение кернинга, фона, изменение отображения изображений (цветные, чернобелые, нет). В идеале еще чтение текста "экранным диктором", но я его не делал, потому что даже на kremlin.ru этого нет.

0 Спасибо
Аватар пользователя lipinart
10 months 9 часов назад lipinart #

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

На мой взгляд два пути развития событий:
1. Создать упрощенную субтему, вывести кнопку, которая будет передавать текущее состояние в hook_custom_theme(), предложенный Алексеем.
2. В большинстве случаев достаточно подменить сагрегированный css-файлик при неизменной разметке. Но тут нужно подтягивать сессии.

0 Спасибо
Аватар пользователя itcrowd72
10 months 8 часов назад itcrowd72 #

Чтобы переключиться обратно нужно нажать на кнопку "обычная версия". Она находится в блоке "Normal version" под настройками. Не забудьте добавить этот блок в тему для слабовидящих (предполагаю, что вы этого не сделали).

Тема админки, да, перекрывается. Но не вижу в этом проблемы, т.к. версия для слабовидящих создается преимущественно для анонимных пользователей

0 Спасибо
Аватар пользователя itcrowd72
2 недели 2 дня назад itcrowd72 #

В новой версии этот баг (с перекрытием темы админки) решился сам собой, т.к. был очень переработан и оптимизирован код

0 Спасибо
Аватар пользователя Van'Denis
7 months 4 недели назад Van'Denis #

Привет
а) Может есть визуальный пример использования этого модуля?
б) Есть ли к нему переводы на другие языки?

0 Спасибо
Аватар пользователя itcrowd72
7 months 1 неделя назад itcrowd72 #

Привет!

После установки модуля становятся доступны 2 блока. Один для включения версии для слабовидящих:

(здесь кнопка стилизована под конкретный сайт)

И второй блок для управления и отключения версии для слабовидящих:

Поддержки мультиязычности пока нет, я её прикручу в следующей версии. Модуль пишу в свободное время, а его очень мало.
ЗЫ, можешь помочь с разработкой, буду только "за")

0 Спасибо
Аватар пользователя Van'Denis
7 months 1 неделя назад Van'Denis #

Класс! Кажется это то, что мне нужно. По поводу помочь - пиши в лс. Может получится чем помочь :)

0 Спасибо
Аватар пользователя tehfoxen
2 months 1 день назад tehfoxen #

Спасибо за модуль! Хорошо бы еще реализация для мультисайтовости.

0 Спасибо
Аватар пользователя itcrowd72
1 month 4 дня назад itcrowd72 #

Друзья-товарищи! Рад сообщить, что я не забросил модуль. По многочисленной обратной связи я решил переделать вид блока в виде панели сверху сайта (как у законодателей моды kremlin.ru). При этом пока что все недостатки модуля остаются: отдельная тема оформления и необходимость отключить кэширование. Их исправлять будем позже.

0 Спасибо
Аватар пользователя itcrowd72
2 недели 2 дня назад itcrowd72 #

UPDATE 04.08.2017

0 Спасибо
Аватар пользователя tehfoxen
1 неделя 5 дней назад tehfoxen #

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

0 Спасибо
Аватар пользователя itcrowd72
1 неделя 5 дней назад itcrowd72 #

Кэширование включено? Если да, то придется выключить
Настройки запоминаются в cookies. Запись cookies на диск разрешена?

0 Спасибо
Аватар пользователя tehfoxen
1 неделя 5 дней назад tehfoxen #

кэширование выключено в том то и дело) с предыдущим модулем таких проблем не было((

0 Спасибо
Аватар пользователя itcrowd72
1 неделя 5 дней назад itcrowd72 #

Пишите в личку адрес сайта

0 Спасибо
Аватар пользователя pr0g
1 неделя 5 дней назад pr0g #

По поводу переключения темы "на лету", может посмотреть как это реализовано в модуле switchtheme.

0 Спасибо
Аватар пользователя itcrowd72
4 дня 4 часа назад itcrowd72 #

Исправил issue по поводу переключения темы при включенном кэшировании! Кто пользуется модулем и кэшированием - проверяйте.

0 Спасибо