JavaScript и доступность веб-сайтов Владимир Агафонкин

Содержание

Слайд 2

Доступность: степень того, насколько возможно пользоваться сайтом как можно более широкой аудитории людей

Доступность:
степень того, насколько возможно пользоваться сайтом как можно более широкой аудитории

людей
Слайд 3

Доступность: степень того, насколько возможно пользоваться сайтом как можно более широкой

Доступность:
степень того, насколько возможно пользоваться сайтом как можно более широкой аудитории

людей
независимо от их физических или технических возможностей
Слайд 4

представьте себе среднестатического пользователя Интернет

представьте себе среднестатического пользователя Интернет

Слайд 5

Слайд 6

а что, если ты не среднестатический пользователь?

а что, если ты не среднестатический пользователь?

Слайд 7

технические ограничения

технические ограничения

Слайд 8

браузер, в котором не поддерживается или отключён JavaScript ограниченные или нестандартные

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

ввода/вывода
ограничение трафика или пропускной способности канала

технические ограничения

Слайд 9

физические ограничения

физические ограничения

Слайд 10

зрительной функции (слепота, плохое зрение, дальтонизм) двигательных функций (в частности движения

зрительной функции
(слепота, плохое зрение, дальтонизм)
двигательных функций
(в частности движения рук)
когнитивные

ограничения
(нарушения функций памяти, внимания)
множество других

физические ограничения

Слайд 11

как такие люди вообще пользуются Web?

как такие люди вообще пользуются Web?

Слайд 12

вспомогательные технологии

вспомогательные технологии

Слайд 13

скрин-ридеры терминалы Брайля распознаватели речи экранные увеличители множество других вспомогательные технологии

скрин-ридеры
терминалы Брайля
распознаватели речи
экранные увеличители
множество других

вспомогательные технологии

Слайд 14

семантическая вёрстка (привет, Вадим :) правильное использование JavaScript как сделать сайт доступным?

семантическая вёрстка
(привет, Вадим :)
правильное использование JavaScript

как сделать сайт доступным?

Слайд 15

навигация (чаще всего строгая зависимость от мыши) скрытый контент оповещение пользователя

навигация
(чаще всего строгая зависимость от мыши)
скрытый контент
оповещение пользователя о динамических

изменениях на странице
нестандартное поведение браузера
(например, Ajax и кнопки вперёд/назад)

с чем могут быть проблемы при использовании JavaScript?

Слайд 16

предоставить не требующую JavaScript альтернативу всего содержимого и функциональности сделать саму

предоставить не требующую JavaScript альтернативу всего содержимого и функциональности
сделать саму JavaScript-функциональность

максимально доступной

два шага к доступности:

Слайд 17

доступный JavaScript

доступный JavaScript

Слайд 18

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

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

которые могут принимать фокус a, input, button, textarea, select div.onclick
Слайд 19

события в JavaScript устройство-зависимые onclick ondoubleclick onmouseover onmouseout onmousedown onmouseup onkeypress

события в JavaScript

устройство-зависимые
onclick
ondoubleclick
onmouseover
onmouseout
onmousedown
onmouseup
onkeypress
onkeyup
onkeydown

устр.-независимые
onfocus
onblur
onchange
onselect
onclick*
* только для ссылок и элементов форм

Слайд 20

используйте по возможности только независимые от устройств события onclick*, onfocus, onblur, onchange, onselect

используйте по возможности только независимые от устройств события onclick*, onfocus, onblur, onchange,

onselect
Слайд 21

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

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

+ onfocus onmouseout + onblur onmouseup + onkeyup
Слайд 22

убедитесь, что на сайте можно попасть куда угодно и сделать что

убедитесь, что на сайте можно попасть куда угодно и сделать что

угодно с помощью одной только клавиатуры
Слайд 23

обрабатывайте location.hash (чтобы работали ссылки на любой контент) website.com/blabla#tab1 website.com/blabla#tab2 website.com/gallery#photo1 website.com/gallery#photo2

обрабатывайте location.hash (чтобы работали ссылки на любой контент) website.com/blabla#tab1 website.com/blabla#tab2 website.com/gallery#photo1 website.com/gallery#photo2

Слайд 24

используйте JS-библиотеки для реализации Ajax history - Really Simple History -

используйте JS-библиотеки для реализации Ajax history - Really Simple History - jQuery history

plugin - Mootools HistoryManager - YUI Browser History Manager - Dojo dojo.back
Слайд 25

избегайте использования всплывающих окон

избегайте использования всплывающих окон