JavaScript и доступность веб-сайтов презентация

Содержание

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

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


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

людей

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

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

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


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


Слайд 7технические ограничения


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

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

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


Слайд 9
физические ограничения


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

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

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


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


Слайд 12вспомогательные технологии


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


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

сайт доступным?

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

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

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


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

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

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


Слайд 17доступный JavaScript


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

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

Слайд 19события в JavaScript
устройство-зависимые
onclick
ondoubleclick
onmouseover
onmouseout
onmousedown
onmouseup
onkeypress
onkeyup
onkeydown
устр.-независимые
onfocus
onblur
onchange
onselect
onclick*

* только для ссылок и элементов форм


Слайд 20используйте по возможности только независимые от устройств события 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


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

plugin - Mootools HistoryManager - YUI Browser History Manager - Dojo dojo.back

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


Слайд 26избегайте использования CSS-only решений для динамической функциональности (например, dropdown menus) они обычно

работают только с мышью

Слайд 27как сделать сайт с кучей JavaScript-кода работающим без него?


Слайд 28graceful degradation
progressive enhancement
два подхода к разработке:


Слайд 29graceful degradation:
«плавное упрощение»
доработка полной версии сайта для функционирования без JavaScript в

отдельных местах

Слайд 30progressive enhancement:
создать полноценную версию сайта без JavaScript
заменить с помощью JavaScript стандартное

поведение улучшенным (динамическим)

Слайд 31unobtrusive Javascript
(ненавязчивый JavaScript)
как совершать эту замену?


Слайд 32поместить весь JS во внешние файлы
привязывать функциональность к событиям DOM-элементов
unobtrusive JavaScript:


Слайд 33window.onload = function() {
var form = document.getElementById('comment-form');
form.onsubmit = function() {
doSomeBrilliantAjaxyStuff();
...
return false;

//отмена действия по умолчанию
}
}

банальный пример:


Слайд 34$(function() {
$(‘comment-form’).bind(‘submit’, function(e) {
doSomeBrilliantAjaxyStuff();
...
e.preventDefault();
})
})
пример с jQuery:


Слайд 35напоследок


Слайд 36люди бывают разные


Слайд 40дайте каждому шанс воспользоваться вашим сайтом


Слайд 41спасибо!
вопросы?
agafonkin@gmail.com


Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

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


Для правообладателей

Яндекс.Метрика