- YaC 2013
- Всё, что вы делаете в Vim неправильно
- CSScomb 2.06
- IntelliJ IDEA → VIM
- Подкаст «Сделайте мне красиво!»
- Разыскиваются настройки
- Твиттер на коленке
- Видео с 404fest
- Домены .рф и зоны первого уровня
- Самое лучшее видео с 404fest
- Еду в Самару
- О локализации сайта
- Javascript API
- Автообновление IE9
- HTML5 Killers
- IE9 beta
- Про ссылки на RSS
- Про Flexbox, Grid, Template layout
- О теге audio и его атрибуте loop
- Управление цветами при помощи CSS
- Пишите правильно: «репозиторий»
- Лирическая заметка о WSD'09 в Минске
- CSS Reorder: Divide et impera
- О Минске, стандартах и просветлении
- Пятница — день обновлений CSS reorder
- Онлайн инструмент для сортировки CSS свойств
- H1
- Фотки с Я.Субботника
- HTML 5 demos
- Первый в мире сайт
- Вложенные списки
- Верстка сервисной навигации
- Про отсутствие курсора и как следствие :hover
- Кроссбраузерные полупрозрачные блоки с использованием opacity
- Футболки
- Масштабирование размера шрифта в IE
- Способ заклуглять уголки без картинок и без JavaScript
Метассылки и кнопки в веб-интерфейсах
Веб-разработчики часто не корректно определяют семантический смысл элементов и делают ссылку там где логичнее сделать кнопку и кнопку там, где разумнее поставить ссылку. Здесь я поразмышляю на тему ссылок, кнопок и логики их применения.
Метассылки
Метассылки отличаются от обычных гиперссылок тем, что они не связывают одну страницу с другой, а динамически изменяют содержимое или представление содержимого текущей страницы.
Такие динамические изменения обычно реализуются при помощи технологий AJAX и DHTML. Метассылки выделяются пунктирным подчеркиванием.
Я думаю, термин «ajax-ссылки» в данном случае не совсем корректен: под AJAX следует понимать асинхронный запрос к серверу и получение от него данных в формате XML, а это вовсе необязательное условие для наличия метассылки. Иными словами: что-то произойдет в рамках текущей страницы, но не обязательно будет иметь место асинхронный запрос к серверу. И уж тем более даже если запрос имеет место быть, то данные могут прийти не в виде XML, а в виде JSON, обычного HTML кода или plain-text'а, например.
Встретить в сети такие метассылки совершенно не составляет труда. Например, на главной странице Яндекса присутствуют сразу несколько таких ссылок: первая в качестве примера поискового запроса, вторая в новостном блоке для переключений фильтра (все новости, либо регион).
Кнопки
Кнопки используются для отправки серверу информации из формы на странице сайта и для обозначения перехода сайта или страницы (по отношению к текущему посетителю) в принципиально иное состояние.
В данном случае кнопка «Выйти» не может быть заменена обычной гиперссылкой или метассылкой, так как при нажатии пользователь не должен попадать на страницу с каким-то уникальным адресом, где происходит процесс завершения авторизации, — это не совсем корректно иметь адрес, на который достаточно перейти, чтобы лишиться авторизации на сайте.
В результате нажатия на кнопку, сайту (а точнее: на сервер) будет отправлена информация о завершении авторизации и затем пользователь попадет на страницу сайта которая будет отображена в соответствии с видом для неавторизованного посетителя.
Нельзя так же сказать, что вид или содержимое страницы изменится динамически, так как пользователь попадет на страницу принципиально отличающуюся от той, на которой он находился.
При грамотном определении элементов веб-интерфейса пользователь подсознательно может догадываться, что должно произойти при взаимодействии с той или иной кнопкой и ссылкой.
P.S. Побудил на написание заметки Андрей Журавлев.