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

Аватар пользователя itcrowd72
26

Всем привет!

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

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

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

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

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

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

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

Что делать, если модуль не работает?

Топ 3 проблем:
1) Не выбрана тема в admin/appearance/settings
2) Библиотека jQuery подключаемая из каталога с темой. Если вам нужна другая версия, отличная от той, что идет в ядре, используйте модуль jquery_update, а не подключайте самостоятельно!
3) Проверьте все подключаемые в теме JS-файлы. Народные "умельцы" любят подключать различные JS-файлы, которые часто написаны не по стандартам кодирования Drupal и приводят к ошибке работы других модулей (хотя сами работают).

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

Поучаствовать в разработке модуля можно на GitHub
Поучаствовать в разработке темы можно на GitHub

Внести пожертвование на развитие модуля можно тут

Тип материала:
Версия Drupal:

Комментарии

Аватар пользователя itcrowd72
itcrowd72 2 года назад

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

Аватар пользователя sergeybelya
sergeybelya 1 год назад

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

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

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

Аватар пользователя keha3912
keha3912 1 год назад

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

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

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

Аватар пользователя lipinart
lipinart 1 год назад

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

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

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

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

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

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

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

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

Привет!

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

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

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

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

Аватар пользователя Van'Denis
Van'Denis 1 год назад

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

Аватар пользователя tehfoxen
tehfoxen 1 год назад

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

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

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

Аватар пользователя tehfoxen
tehfoxen 1 год назад

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

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

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

Аватар пользователя tehfoxen
tehfoxen 1 год назад

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

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

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

Аватар пользователя pr0g
pr0g 1 год назад

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

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

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

Аватар пользователя qbigbass
qbigbass 11 месяцев назад

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

Аватар пользователя itcrowd72
itcrowd72 11 месяцев назад

Здравствуйте. Версию точно последнюю поставили? Новая версия не требует отключения кэширования. Ошибки в консоли браузера есть? Дайте ссылку на сайт сюда или мне в личку

Аватар пользователя qbigbass
qbigbass 11 месяцев назад

Ошибок в консоли браузера нет, разве что картинок некоторых нет

Аватар пользователя itcrowd72
itcrowd72 11 месяцев назад

Других нет. Она и последняя

Аватар пользователя keha3912
keha3912 11 месяцев назад

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

Аватар пользователя keha3912
keha3912 11 месяцев назад

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

Аватар пользователя itcrowd72
itcrowd72 11 месяцев назад

Здравствуйте! Раздел в шапке "Что делать, если модуль не работает?" читали?

Аватар пользователя keha3912
keha3912 11 месяцев назад

да, читал
стоит обычный модуль jquery_update
пытался менять версию jquery для темы используемым модулем - не помогло

Аватар пользователя keha3912
keha3912 11 месяцев назад

просьба выложить модуль на drupal.org и сделать проверку модулем настроек в admin/appearance/settings)

Аватар пользователя itcrowd72
itcrowd72 11 месяцев назад

На орге скоро будет. И проверку, видимо, придётся сделать, т.к. многие не очень внимательно читают readme. Спасибо за обратную связь!

Аватар пользователя keha3912
keha3912 11 месяцев назад

Дело в том, что очень трудно понять смысл плашки Special theme с выбором Special theme. Масло масленное :)
По идее надо ее назвать "The theme for the visually impaired" (Тема для слабовидящих), а в ней уже выбор темы Special theme

Аватар пользователя itcrowd72
itcrowd72 11 месяцев назад

Да надо перевод добавить с описанием. Если есть акк на GitHub, сделайте issue

Аватар пользователя keha3912
keha3912 11 месяцев назад

нахомячил

Аватар пользователя itcrowd72
itcrowd72 11 месяцев назад

Вижу, спасибо

Аватар пользователя itcrowd72
itcrowd72 11 месяцев назад

Пост был обновлен. Модуль и тема размещены на drupal.org. Просьба всем, кто пользуется, удалить старые версии и скачать модуль и тему с орга. Это нужно для дальнейшего обновления и статистики.

Аватар пользователя keha3912
keha3912 11 месяцев назад
1

Перешел на модуль с drupal.org. Спорное, конечно, решение в названия модулей и тем добавлять слова module и theme.
По мне так лучше развести названия на модуль visually_impaired_support и тему visually_impaired
При замене модуля тему Special лучше сразу не удалять (новая просто встает рядом), чтобы можно было легко перенести настройки и ничего не забыть.
Файл стилей style.css в теме visually_impaired кардинально изменился и перенести свои стили простым переносом файла из темы Special не получится. Отсюда просьба на будущее: сделайте пожалуйста шаблон подтемы для темизации или возможность подключения своего css файла в настройках модуля.
Неплохо было бы добавить русскоязычное описание модуля на drupal.org, как у яндекса сделано, т.к. этот модуль будет гуглиться исключительно по русскоязычным запросам....

Аватар пользователя itcrowd72
itcrowd72 11 месяцев назад

Я уже добавил соответствующий issue по созданию файла custom.css для пользовательских стилей.
Перевод добавлю, да

Аватар пользователя keha3912
keha3912 11 месяцев назад

а где? на drupal.org и на гитхабе не вижу

Аватар пользователя keha3912
keha3912 11 месяцев назад

аааа...а я в модуле искал :)
надо об этом файле упомянуть в описании модуля и документации, т.к. его нет в теме на drupal.org

Аватар пользователя itcrowd72
itcrowd72 11 месяцев назад

Упомяну, когда закрою issue)

Аватар пользователя itcrowd72
itcrowd72 11 месяцев назад
1

Выпустил обновление темы 7.x-1.0-rc4

CHANGELOG:
Fixed https://github.com/itcrowd72/visually_impaired_theme/issues/1
Fixed https://github.com/itcrowd72/visually_impaired_theme/issues/2
Fixed https://github.com/itcrowd72/visually_impaired_theme/issues/3
Fix kerning in admin panel
Fix container size with sidebars and not

Огромная просьба перед этим обновлением сделайте бэкап файла style.css, если вы изменяли или добавляли свои стили. Их нужно будет переписать в специальный файл кастомных стилей custom.css. Он будет находиться в каталоге files/visually_impaired_theme.
custom.css не будет перезаписываться при обновлении. В дальнейшем обновление будет происходить в штатном режиме

Аватар пользователя itcrowd72
itcrowd72 11 месяцев назад

Выпустил обновление модуля 7.x-1.0-rc2

Закрыты 2 issue
https://github.com/itcrowd72/visually_impaired_module/issues/2
https://github.com/itcrowd72/visually_impaired_module/issues/3

В модуль был добавлен файл перевода на русский язык. Если он не подтянется автоматически, можете импортировать его вручную на странице admin/config/regional/translate/import

Аватар пользователя keha3912
keha3912 11 месяцев назад

эх, зря обновил тему :)
в файл custom.css я перенес свои стили и....ничего :)
менял права на папку /sites/default/files/visually_impaired_theme с 755 на 775 и права файла custom.css с 644 на 664 , не помогло

Аватар пользователя itcrowd72
itcrowd72 11 месяцев назад

Вижу issue на орге. Переоткрыл на гитхабе. Будем разбираться.

Аватар пользователя itcrowd72
itcrowd72 2 недели назад
2

Выложил версию для Drupal 8 в свободный доступ. Ранее версия для Drupal 8 была платной.

Аватар пользователя Phantom63rus
Phantom63rus 2 недели назад

Офф/2: а как на счёт версии для слепых? Есть ридеры, которые зачитывают текст, косяк в том что многие темы не оптимизированы и пока они дойдут до блока с контентом... Глубоко не копал, там вроде есть какая-то метаразметка.

Аватар пользователя Semantics
Semantics 2 недели назад

Темы как раз вполне оптимизированы.
А вот SEO-оптимизаторы привыкли удалять нефиг все эти оптимизации

Аватар пользователя itcrowd72
itcrowd72 3 дня назад

Обновил тему оформления для восьмерки, синхронизировал её с кодовой базой семерки