Доступные ссылки

8

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

Существует много способов сделать сайт доступным и простым в использовании.

Табуляция

Пользователи с ограниченными возможностями могут перемещаться между ссылками с помощью табуляции (клавиша tab). Поэтому ссылки в табуляции должны быть в логически правильном порядке. С помощью атрибута tabindex можно установить порядок перемещения между ссылками, даже если страница имеет нелинейную структуру.

Горячие клавиши

Горячие клавиши обеспечивают более быстрый и легкий доступ к ссылкам, т.к. ссылки привязаны к конкретным клавишам на клавиатуре (обычно для этого необходимо нажать Alt или Ctrl + клавиша). Для пользователей с ограниченными возможностями этот метод является более предпочтительным чем перемещение между ссылками.

Не обязательно привязывать горячие клавиши ко всем ссылкам, но это необходимо сделать хотя бы для основного меню.

<a href="somepage.html" accesskey="s">Страница</a>

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

Можно применить метод «пропуск навигации» рассмотренный ниже, или создать отдельную страницу где будет описана возможность использования горячих клавиш. Еще один метод, набирающий популярность заключается в подсвечивании горячей клавиши при наведении на ссылку, так как это делается в большинстве Windows приложений. Для дополнительной информации прочитайте соответствующую статью на A List Apart.

Атрибут title

Атрибут title в ссылке показывает куда ведет ссылка.

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

<a href="#" onkeypress="opennastypopup()" onclick="opennastypopup()" title="Открыть всплывающее окно">Окно</a>

Всплывающие окна

Если вы решили использовать у себя на сайте всплывающие окна, то и их можно сделать более доступными используя onkeypress так же как и onclick. Кроме того если вы вставите адрес страницы в значение атрибута href и return false в функцию вызывающую всплывающее окно, пользователи без поддержки скриптов будут переходить на страницу в любом случае. Например:

<script type="text/javascript">
     function opennastypopup() {
	     window.open("monster.html", "", "toolbar=no,height=100,width=200");
	     return false;
     }
</script>
...
<a href="monster.html" onkeypress="return opennastypopup()" onclick="return opennastypopup()">Страница</a>

Смежные ссылки

Смежные ссылки должны быть разделены помимо пробелов чем то еще, для того чтобы устройства чтения с экрана могли их отличать. Для этого можно использовать специальные символы между ссылками (например – ссылка | ссылка) или обернуть ссылки (например – [ссылка] [ссылка]). Также можно поставить ссылки между элементами списка.

Пропуск навигации

Вы должны предоставить пользователям использующим специальные устройства чтения с экрана возможность пропустить навигацию и перейти непосредственно к содержимому. Это необходимо для того чтобы пользователь не проходил одно и тоже место несколько раз, в случае если навигационное меню повторяется на разных страницах. Для этого можно разместить перед меню ссылку на основное содержимое. Примерно вот так:

<a href="#content" accesskey="n">Ссылка на содержимое</a>
<div id="navigation">
      <!--Навигационное меню -->
</div>
<div id="content">
      <!--Основное содержимое -->
</div>

Скорее всего вы захотите скрыть эту ссылку от визуальных браузеров. Самый очевидный способ это использование display: none, но некоторые устройства чтения с экрана не прочитают такую ссылку. Выходом является придание ссылке нулевого значения ширины и высоты (width: 0; height: 0; overflow: hidden). Это придаст нужный визуальный эффект и устройства чтения с экрана будут нормально читать такую ссылку.

Источник: Accessible Links

Как определить шрифт

0

Наверняка у многих в жизни была ситуация когда надо было определить неизвестный шрифт. Например вам прислали макет где используются нестандартные шрифты которые вы не знаете и вам надо его сверстать. Сервис What the font?! позволяет определить шрифт за пару минут.

What the font

Шрифт можно искать по его названию или по производителю. Но главная особенность сервиса — это автоматический определить шрифта. Для этого необходимо загрузить образец шрифта на изображении. Сервис поддерживает наиболее распространенные графические форматы (GIF, JPEG, TIFF, BMP). Максимальный размер изображения не должен превышать 360 х 275 пикселей. Оптимальная высота шрифта на изображении 100 пикселей.

После загрузки изображения анализатор распознает символы.

Если определить шрифт все таки не получилось, можно отправить изображение на форум где вам всегда помогут.

Есть один косячок — нет поддержки кириллических шрифтов. Хотя может я недостаточно поковырялся.

CSS для диагностики

3

Eric Meyer предложил использовать опредленные CSS правила для выявления ошибок на странице в ходе проектирования. Цель правил визуально показывать ошибки на странице. Например если у ссылки не проставлен адрес она выделяется определенным цветом и сразу обращает на себя внимание.

Вот примеры правил для изображений:

img {outline: 5px solid red;}
img[alt][title] {outline-width: 0;}
img[alt] {outline-color: fuchsia;}
img[alt], img[title] {outline-style: double;}
img[alt=""][title], img[alt][title=""] {outline-width: 3px;}
img[alt=""][title=""] {outline-style: dotted}

Выглядит это следующим образом:

  1. Устанавливает всем изображениям красный контур шириной 5px.
  2. Если у изображения есть атрибуты alt и title, то ширина контура приравнивается к нулю.
  3. Если изображениее имеет атрибут alt, контура приобретает цвет fuchsia.
  4. Если присутствует атрибут alt или title контур увеличивается вдвое.
  5. Если у изображения пустой alt и заполненный title, или наоборот, ширина контура становится равной 3px.
  6. Если имеются пустой атрибут alt и пустой title, контур становится пунктирным.

Посмотреть стили в действии можно на демонстрационной странице.
А вот собственно и полная текущая версия:

div:empty, span:empty, li:empty, p:empty, td:empty, th:empty {padding: 0.5em; background: yellow;} ! important
*[style], img, a[href], font, center {outline: 5px solid red;} ! important
table, th {border: 5px solid red;} ! important
 
img[alt][title] {outline-width: 0;} ! important
img[alt] {outline-color: fuchsia;} ! important
img[alt], img[title] {outline-style: double;} ! important
img[alt=""][title], img[alt][title=""] {outline-width: 3px;} ! important
img[alt=""][title=""] {outline-style: dotted;} ! important
 
table[summary], th[scope="col"], th[scope="row"] {border: 1px solid #AAA;} ! important
 
a[title] {outline-width: 0;} ! important
a[title=""] {outline-width: 3px;} ! important
a[href="#"] {background: lime;} ! important
a[href=""] {background: fuchsia;} ! important

Конечно эти стили не заменят различные утилиты типа Web Developer Toolbar. Но они могут пригодится как еще один полезный инструмент в наборе веб-разработчика.