И снова про версию для слабовидящих

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

Всем привет!

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

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

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

Если вы не хотите использовать эти блоки, то для переключения темы можно использовать любые объекты, главное назначить им id "vi-block" и "vi-normal-block" соответственно. Так же с помощью CSS можно изменить и изображения на кнопках в блоках.

У модуля один большой недостаток: для переключения темы "на лету" должно быть отключено кэширование. Кто может предложить решение как заставить темы меняться при включенном кэше - прошу в комментарии.

2 Спасибо

Комментарии

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

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

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

Рад помочь.

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

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

:)

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

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

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

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

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

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

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

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

0 Спасибо
Аватар пользователя sergeybelya
8 months 4 недели назад 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 Спасибо
Аватар пользователя ivnish
8 months 4 недели назад ivnish #

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

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

UPD 12.10.2016

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

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

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

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

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

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

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

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

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

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

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

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

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

Привет!

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

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

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

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

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

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

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

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

0 Спасибо