forum.okis.ru
http://forum.okis.ru/

Версия для слабовидящих
http://forum.okis.ru/viewtopic.php?f=12&t=4643
Страница 1 из 1

Автор:  Надежда77 [ 09 окт 2014, 16:01 ]
Заголовок сообщения:  Версия для слабовидящих

Можно ли установить такую функцию, как версия для слабовидящих? Если да, то как?

Автор:  Okis [ 10 окт 2014, 01:13 ]
Заголовок сообщения:  Re: Версия для слабовидящих

Что подразумевается под версией для слабовидящих? Увеличенный размер шрифта?

Автор:  Надежда77 [ 10 окт 2014, 18:12 ]
Заголовок сообщения:  Re: Версия для слабовидящих

Существует программа "Доступная среда" (для инвалидов), где предполагается существование версии сайтов для слабовидящих. Для образовательных учреждений сделали обязательным наличие такой версии сайта. То есть это не только нажми ctrl+, а именно нажми на какой-то значок или символ и весь сайт можно просматривать в увеличенном режиме и повышенной контрастности. Возможно ли у нас такое сделать?

Автор:  Okis [ 11 окт 2014, 20:07 ]
Заголовок сообщения:  Re: Версия для слабовидящих

Конечно, достаточно найти реализацию подобного (например на javascript) и интегрировать на сайт.

Автор:  Надежда77 [ 11 окт 2014, 23:03 ]
Заголовок сообщения:  Re: Версия для слабовидящих

Ой, мне бы как для блондинки, подробнее... и по-шагово))) что я должна сделать? где? пожалуйста!

Автор:  Okis [ 12 окт 2014, 02:20 ]
Заголовок сообщения:  Re: Версия для слабовидящих

Увы, но я не знаю. Могу лишь сказать что такое возможно.

Автор:  Михаил Орлов [ 14 окт 2014, 10:01 ]
Заголовок сообщения:  Re: Версия для слабовидящих

Надежда77 писал(а):
Ой, мне бы как для блондинки, подробнее... и по-шагово))) что я должна сделать? где? пожалуйста!

В принципе, это не так уж сложно осуществить.

1. Создаём необходимые файлики, что после загрузим в корень сайта и поставим такие коды в "Параметры сайта".
Код:
<link type="text/css" href="/normal.css" rel="stylesheet" title="Нормальный" />
<link type="text/css" href="/medium.css" rel="alternate stylesheet" title="Средний" />
<link type="text/css" href="/large.css" rel="alternate stylesheet" title="Крупный" />

Или:
Код:
<link type="text/css" href="/normal.css" rel="stylesheet" title="A" />
<link type="text/css" href="/medium.css" rel="alternate stylesheet" title="A+" />
<link type="text/css" href="/large.css" rel="alternate stylesheet" title="A++" />

2. Содержание каждого из выше перечисленных примерно такое:
Код:
body {font-size: 12px;}
body {font-size: 14px;}
body {font-size: 16px;}

Т.е. просто проставим размеры, которые будут применены для всего текста на сайте.
3. Теперь нам нужен управляющий скриптик, для переключения между шрифтами:
Код:
<script type="text/javascript" src="/styleswitcher.js" rel="noindex"></script>

Обзовите его как хотите ;) А содержание пропишите примерно такое:
Код:
function fontsizeup(event)
{
   // Skip tabs; 9 being the ASCII code for a tab
   if (event && getKeyCode(event) == 9)
   {
      return true;
   }

   var active = getActiveStyleSheet();

   switch (active)
   {
      case 'A--':
         setActiveStyleSheet('A-');
      break;

      case 'A-':
         setActiveStyleSheet('A');
      break;

      case 'A':
         setActiveStyleSheet('A+');
      break;

      case 'A+':
         setActiveStyleSheet('A++');
      break;

      case 'A++':
         setActiveStyleSheet('A');
      break;

      default:
         setActiveStyleSheet('A');
      break;
   }

   return false;
}

function fontsizedown(event)
{
   // Skip tabs
   if (event && getKeyCode(event) == 9)
   {
      return true;
   }

   var active = getActiveStyleSheet();

   switch (active)
   {
      case 'A++' :
         setActiveStyleSheet('A+');
      break;

      case 'A+' :
         setActiveStyleSheet('A');
      break;

      case 'A' :
         setActiveStyleSheet('A-');
      break;

      case 'A-' :
         setActiveStyleSheet('A--');
      break;

      case 'A--' :
      break;

      default :
         setActiveStyleSheet('A--');
      break;
   }

   return false;
}

function getKeyCode(event)
{
   // IE doesn't fire the onkeypress event for tabs
   // Reference: http://www.quirksmode.org/js/keys.html

   var code = (event.keyCode) ? event.keyCode : 0;

   // Probably using FF
   if (!code && event.charCode)
   {
      code = event.charCode;
   }

   return code;
}

function setActiveStyleSheet(title)
{
   var i, a, main;

   for (i = 0; (a = document.getElementsByTagName('link')[i]); i++)
   {
      if (a.getAttribute('rel').indexOf('style') != -1 && a.getAttribute('title'))
      {
         a.disabled = true;
         if (a.getAttribute('title') == title)
         {
            a.disabled = false;
         }
      }
   }
}

function getActiveStyleSheet()
{
   var i, a;

   for (i = 0; (a = document.getElementsByTagName('link')[i]); i++)
   {
      if (a.getAttribute('rel').indexOf('style') != -1 && a.getAttribute('title') && !a.disabled)
      {
         return a.getAttribute('title');
      }
   }

   return null;
}

function getPreferredStyleSheet()
{
   return ('A-');
}

function createCookie(name, value, days)
{
   if (days)
   {
      var date = new Date();
      date.setTime(date.getTime() + (days*24*60*60*1000));
      var expires = '; expires=' + date.toGMTString();
   }
   else
   {
      expires = '';
   }

   document.cookie = name + '=' + value + expires + style_cookie_settings;
}

function readCookie(name)
{
   var nameEQ = name + '=';
   var ca = document.cookie.split(';');

   for (var i = 0; i < ca.length; i++)
   {
      var c = ca[i];

      while (c.charAt(0) == ' ')
      {
         c = c.substring(1, c.length);
      }

      if (c.indexOf(nameEQ) == 0)
      {
         return c.substring(nameEQ.length, c.length);
      }
   }

   return null;
}

function load_cookie()
{
   var cookie = readCookie('style_cookie');
   var title = cookie ? cookie : getPreferredStyleSheet();
   setActiveStyleSheet(title);
}

function unload_cookie()
{
   var title = getActiveStyleSheet();
   createCookie('style_cookie', title, 365);
}

onload_functions.push('load_cookie()');
onunload_functions.push('unload_cookie()');

/*
var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);
*/


Должен работать, вроде не ошибся, попробуйте, или, если необходимо подкорректируйте сами под свои нужды. Удачи! :hi:
P.S. Советую работать в этом блокноте: http://notepad-plus-plus.org/.

Автор:  Надежда77 [ 14 окт 2014, 14:37 ]
Заголовок сообщения:  Re: Версия для слабовидящих

Спасибо большое! Буду разбираться)))

Автор:  digavrn [ 24 янв 2015, 22:14 ]
Заголовок сообщения:  Re: Версия для слабовидящих

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

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/