JavaScript и доступность web-сайтов

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    JavaScript и доступность web-сайтов - Presentation Transcript

    1. JavaScript и доступность веб-сайтов Владимир Агафонкин
    2. Доступность : степень того, насколько возможно пользоваться сайтом как можно более широкой аудитории людей
    3. Доступность : степень того, насколько возможно пользоваться сайтом как можно более широкой аудитории людей независимо от их физических или технических возможностей
    4. представьте себе среднестатического пользователя Интернет
    5.  
    6. а что, если ты не среднестатический пользователь?
    7. технические ограничения
      • браузер, в котором не поддерживается или отключён JavaScript
      • ограниченные или нестандартные устройства ввода/вывода
      • ограничение трафика или пропускной способности канала
      технические ограничения
    8. физические ограничения
      • зрительной функции
      • (слепота, плохое зрение, дальтонизм )
      • двигательных функций
      • (в частности движения рук)
      • когнитивные ограничения
      • (нарушения функций памяти, внимания)
      • множество других
      физические ограничения
    9. как такие люди вообще пользуются Web ?
    10. вспомогательные технологии
      • скрин-ридеры
      • терминалы Брайля
      • распознаватели речи
      • экранные увеличители
      • множество других
      вспомогательные технологии
      • семантическая вёрстка
      • (привет, Вадим :)
      • правильное использование JavaScript
      как сделать сайт доступным?
      • навигация
      • (чаще всего строгая зависимость от мыши)
      • скрытый контент
      • оповещение пользователя о динамических изменениях на странице
      • нестандартное поведение браузера
      • (например, Ajax и кнопки вперёд/назад)
      с чем могут быть проблемы при использовании JavaScript ?
      • предоставить не требующую JavaScript альтернативу всего содержимого и функциональности
      • сделать саму JavaScript- функциональность максимально доступной
      два шага к доступности:
    11. доступный JavaScript
      • в качестве элементов, принимающих важные действия от пользователя, используйте только элементы, которые могут принимать фокус a, input, button, textarea, select div.onclick
    12. события в JavaScript
      • устройство-зависимые
      • onclick
      • ondoubleclick
      • onmouseover
      • onmouseout
      • onmousedown
      • onmouseup
      • onkeypress
      • onkeyup
      • onkeydown
      • устр.-независимые
      • onfocus
      • onblur
      • onchange
      • onselect
      • onclick *
      • * только для ссылок и элементов форм
      • используйте по возможности только независимые от устройств события onclick * , onfocus, onblur, onchange, onselect
      • при необходимости использовать устройство-зависимые события, применяйте сразу группы аналогичных событий, например: onmouseover + onfocus onmouseout + onblur onmouseup + onkeyup
      • убедитесь, что на сайте можно попасть куда угодно и сделать что угодно с помощью одной только клавиатуры
      • обрабатывайте location.hash ( чтоб ы работали ссылки на любой контент) website.com/blabla# tab1 website.com/blabla# tab2 website.com/gallery# photo1 website.com/gallery# photo2
      • используйте JS- библиотеки для реализации Ajax history - Really Simple History - jQuery history plugin - Mootools HistoryManager - YUI Browser History Manager - Dojo dojo.back
      • избегайте использования всплывающих окон <a href= “…” onclick= “ window.open(this.href) …
      • избегайте использования CSS-only решений для динамической функциональности (например, dropdown menus) они обычно работают только с мышью
    13. как сделать сайт с кучей JavaScript- кода работающим без него ?
      • graceful degradation
      • progressive enhancement
      два подхода к разработке:
    14. graceful degradation : «плавное упрощение» доработка полной версии сайта для функционирования без JavaScript в отдельных местах
    15. progressive enhancement :
      • создать полноценную версию сайта без JavaScript
      • заменить с помощью JavaScript стандартное поведение улучшенным (динамическим)
      • unobtrusive Javascript
      • ( ненавязчивый JavaScript)
      как совершать эту замену?
      • поместить весь JS во внешние файлы
      • привязывать функциональность к событиям DOM- элементов
      unobtrusive JavaScript:
    16. window.onload = function() { var form = document.getElementById('comment-form') ; form. onsubmit = function() { doSomeBrilliantAjaxyStuff(); ... return false; //отмена действия по умолчанию } } банальный пример :
    17. $( function() { $(‘comment-form’). bind(‘ submit ’, function( e ) { doSomeBrilliantAjaxyStuff(); ... e.preventDefault(); } ) } ) пример с jQuery:
    18. напоследок
    19. люди бывают р а з н ы е
    20.  
    21.  
    22.  
    23. дайте каждому шанс воспользоваться вашим сайтом
    24. спасибо! вопрос ы? [email_address]

    + guest42f396guest42f396, 2 years ago

    custom

    536 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 536
      • 536 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 2
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories