О сайтостроении, музыке и путешествиях

Метассылки и кнопки в веб-интерфейсах

Веб-разработчики часто не корректно определяют семантический смысл элементов и делают ссылку там где логичнее сделать кнопку и кнопку там, где разумнее поставить ссылку. Здесь я поразмышляю на тему ссылок, кнопок и логики их применения.

Метассылки

Метассылки отличаются от обычных гиперссылок тем, что они не связывают одну страницу с другой, а динамически изменяют содержимое или представление содержимого текущей страницы.

Такие динамические изменения обычно реализуются при помощи технологий AJAX и DHTML. Метассылки выделяются пунктирным подчеркиванием.

Я думаю, термин «ajax-ссылки» в данном случае не совсем корректен: под AJAX следует понимать асинхронный запрос к серверу и получение от него данных в формате XML, а это вовсе необязательное условие для наличия метассылки. Иными словами: что-то произойдет в рамках текущей страницы, но не обязательно будет иметь место асинхронный запрос к серверу. И уж тем более даже если запрос имеет место быть, то данные могут прийти не в виде XML, а в виде JSON, обычного HTML кода или plain-text'а, например.

Пример 1. Метассылки, фильтрующие письма в почтовом ящике «на лету»:

Показать: все, только непрочитанные.

Встретить в сети такие метассылки совершенно не составляет труда. Например, на главной странице Яндекса присутствуют сразу несколько таких ссылок: первая в качестве примера поискового запроса, вторая в новостном блоке для переключений фильтра (все новости, либо регион).

Кнопки

Кнопки используются для отправки серверу информации из формы на странице сайта и для обозначения перехода сайта или страницы (по отношению к текущему посетителю) в принципиально иное состояние.

Пример 2:

user miripiruni

В данном случае кнопка «Выйти» не может быть заменена обычной гиперссылкой или метассылкой, так как при нажатии пользователь не должен попадать на страницу с каким-то уникальным адресом, где происходит процесс завершения авторизации, — это не совсем корректно иметь адрес, на который достаточно перейти, чтобы лишиться авторизации на сайте.

В результате нажатия на кнопку, сайту (а точнее: на сервер) будет отправлена информация о завершении авторизации и затем пользователь попадет на страницу сайта которая будет отображена в соответствии с видом для неавторизованного посетителя.

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

При грамотном определении элементов веб-интерфейса пользователь подсознательно может догадываться, что должно произойти при взаимодействии с той или иной кнопкой и ссылкой.

P.S. Побудил на написание заметки Андрей Журавлев.