2. Доступность: степень того, насколько возможно пользоваться сайтом как можно более широкой аудитории людей
3. Доступность: степень того, насколько возможно пользоваться сайтом как можно более широкой аудитории людей независимо от их физических или технических возможностей
8. технические ограничения браузер, в котором не поддерживается или отключён JavaScript ограниченные или нестандартные устройства ввода/вывода ограничение трафика или пропускной способности канала
10. физические ограничения зрительной функции (слепота, плохое зрение, дальтонизм) двигательных функций (в частности движения рук) когнитивные ограничения (нарушения функций памяти, внимания) множество других
18. с чем могут быть проблемы при использовании JavaScript? навигация (чаще всего строгая зависимость от мыши) скрытый контент оповещение пользователя о динамических изменениях на странице нестандартное поведение браузера (например, Ajax и кнопки вперёд/назад)
19. два шага к доступности: предоставить не требующую JavaScriptальтернативу всего содержимого и функциональности сделать саму JavaScript-функциональность максимально доступной
21. в качестве элементов, принимающих важные действия от пользователя, используйте толькоэлементы, которые могут принимать фокусa, input, button, textarea, selectdiv.onclick
22. события в JavaScript устройство-зависимые onclick ondoubleclick onmouseover onmouseout onmousedown onmouseup onkeypress onkeyup onkeydown устр.-независимые onfocus onblur onchange onselect onclick* * только для ссылок и элементов форм
23. используйте по возможности только независимые от устройств событияonclick*, onfocus, onblur, onchange, onselect
24. при необходимости использовать устройство-зависимые события, применяйте сразу группы аналогичных событий, например:onmouseover + onfocusonmouseout + onbluronmouseup + onkeyup
25. убедитесь, что на сайте можно попасть куда угодно и сделать что угодно с помощью одной только клавиатуры
26. обрабатывайте location.hash (чтобы работали ссылки на любой контент)website.com/blabla#tab1website.com/blabla#tab2website.com/gallery#photo1website.com/gallery#photo2
27. используйте JS-библиотеки для реализации Ajax history- Really Simple History- jQuery history plugin- Mootools HistoryManager- YUI Browser History Manager- Dojo dojo.back
31. два подхода к разработке: graceful degradation progressive enhancement
32. graceful degradation: «плавное упрощение» доработка полной версии сайта для функционирования без JavaScript в отдельных местах
33. progressive enhancement: создать полноценную версию сайта без JavaScript заменить с помощью JavaScript стандартное поведение улучшенным (динамическим)
34. как совершать эту замену? unobtrusive Javascript (ненавязчивый JavaScript)