Отделение поведения от контента, или Чем плохо решение с onclick
За последние годы всплывающие окна приобрели плохую репутацию, и вполне заслуженно. Они часто используются для того, чтобы заставить вас просмотреть рекламу, спровоцировать неосторожного пользователя на установку вируса или шпионской программы или, еще хуже, сообщить личную информацию, которая затем перепродается злоумышленником. Неудивительно, что в большинстве браузеров имеются механизмы блокировки всплывающих окон.
Впрочем, всплывающие окна не всегда плохи. Разработчики веб-приложений часто используют их для вывода справки, дополнительных настроек или других важных аспектов пользовательского интерфейса. Чтобы всплывающие окна не вызывали раздражения у пользователей, их следует реализовать ненавязчиво. На странице отдела кадров AwesomeCo находятся ссылки, которые выводят справочную информацию во всплывающих окнах. Большинство из них выглядит так:
html5_popups_with_custom_data/original_example_1.html
Holiday pay
Такой способ создания ссылок, открывающих всплывающие окна, весьма широко распространен. Собственно, многие начинающие программисты на JavaScript учатся создавать всплывающие окна именно таким образом. Однако у этого способа имеются свои недостатки, о которых необходимо упомянуть, прежде чем двигаться дальше.
Улучшение доступности
В ссылке не задан адрес места назначения! Если пользователь отключит JavaScript, то ссылка не приведет его на нужную страницу. Это серьезная проблема, которую необходимо решать немедленно. Никогда не опускайте атрибут href и не присваивайте ему фиктивные значения — ни при каких условиях. Присвойте адрес ресурса, который должен открываться во всплывающем окне.
html5_popups_with_custom_data/original_example_2.html
Holiday pay
Код JavaScript читает адрес ссылки из атрибута href присоединенного элемента.
Чтобы ваши страницы обладали хорошей доступностью, прежде всего убедитесь в том, что вся функциональность работает без JavaScript. Написать интерактивную часть JavaScript на таком фундаменте может быть намного проще.