Ярослав Патрикеев
5 октября 2011

Добрый день!

Последнее время качественные решения в проектировании веб-интерфейсов могут требовать использования определённых технологий. Невозможно сделать динамические визуализации данных без Джаваскрипта. Даже в простой форме серенькие подсказки в текстовых полях скрываются при передаче фокуса ввода с помощью скрипта, что уж говорить об фоновой подгрузке данных в поиске.

Но есть давняя традиция проектировать сайты так, чтобы они работали без скриптов, флеша и т. д. — ведь они могут быть отключены или не поддерживаться браузером пользователя. Как вы считаете, нужно ли ориентроваться на это правило в наше время? Или сейчас хотя бы уж Джаваскрипт работает у всех?

И если нужно ориентироваться, то чем заменять изящные динамические решения? Ведь зачастую статические будут громоздкими и менее удобными (если вообще их можно придумать). И чья это задача — технолога или дизайнера?

Спасибо.



Ярослав!

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

Я думаю, что подход «всё должно работать и без Джаваскрипта» уже несколько устарел. Если создание бесскриптовой версии стоит существенных трудозатрат, то стоит подумать, окупятся ли они.

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

Что касается Флеша, то требовать его сегодня в большинстве случаев — просто неприлично.

P. S.

Я веду практический курс «Пользовательский интерфейс и представление информации». Дата следующего курса пока неизвестна.

 
Мы напишем вам, когда будет открыта запись. Без спама.

Поделиться

Комментарии

Юрий Хан
5 октября 2011

Раньше на скрипты нельзя было закладываться из-за того, что они могли не поддерживаться браузером, или у браузера могла быть кривая объектная модель.

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

Саша Сергеев
5 октября 2011

Разные браузеры на разных устройствах: Гугль-ТВ ведёт себя совсем не так, как Сафари на Айфоне 3Г.

Движки ява-скрипта по разным внутренним причинам могут отказаться выполнить ваш код. И если страничка после этого оказалась плохо выглядящей или не работающей как надо — пользователь, скорее всего, уйдёт и, возможно, не вернётся.

Кому интересно — немножко статистики:
http://httparchive.org/interesting.php

Артём Петренков
5 октября 2011

Не следует забывать, что многие сайты могут посещаться с мобильных телефонов через браузер Опера-мини, в котором поведение скриптов кардинально отличается: работа скрипта происходит на промежуточном сервере, для чего требуется перезагрузка страницы. Таким образом, если скрипт подвешен на событие изменения текстового поля (например, для его валидации), то после ввода данных в каждое из полей формы браузер будет перезагружать страницу. Это, естественно, будет крайне неприятно для пользователя, особенно учитывая неторопливость мобильного интернета.

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

Денис Соколов
5 октября 2011

Я один из тех, кто всюду ходит без скриптов. Веб для меня — страницы, связанные ссылками.

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

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

Как разработчикам относиться к таким, как я? Не забывать, что большая часть современных интернет-статистик (Гугл-аналитикс, Яндекс.Метрика) работают с помощью скриптов, так что они нас не считают. Не принимайте решения о размере нашего слоя по ним. Для примера, опросы на хабре показывают от 7% до 17% человек без скриптов.

Эдик Цветцих
5 октября 2011

К слову, в Хроме джаваскрипт отключить уже невозможно. Думаю, до полной гармонии (js всегда включен, флэша ни у кого нет), осталось совсем немного :-)


5 октября 2011

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

Только технолога надо иметь ответственного и «крутого». Кажется, на фестивале «404» о таком подходе Артём Поликарпов делал доклад «Технолог — тоже дизайнер» (http://2011.404fest.ru/themes/tech-is-design/), жаль видео ещё не опубликовано.

Денис Чмель
6 октября 2011

Сомневаюсь, что рядовые пользователи отключают скрипты, но скромно убеждён, что в большинстве случаев можно и нужно избегать их как требования. Достаточно того, что при неграмотном навесе джаваскриптов решения выходят а) трудноотладочными, запутанными, б) хрупкими и даже порой в) регрессивными. Это когда у ссылки вместо href проставлен onclick, когда форма сабмитится через аджакс, но не содержит тэга form, когда вместо (а не на базе) стандартного скрола эмулируется нестандартный, когда красивая кнопка делается изображением-ссылкой потому что так легче сверстать, когда чекбокс или вкладка не имеют фокуса от того что они — div'ы, и это ещё не самые запущенные примеры.

Когда речь не идёт о полностью динамических проектах (как гмейл, гугль-календарь), глупо намеренно избегать классические методы. Нет, вовсе не нужно писать логику интерфейса под отключенный джаваскрипт (для кого?), достаточно только не затруднять фолбэк там, где это несложно. Перегружать / улучшать классические подходы, а не подменять их. Иначе можно подпортить жизнь как пользователям (у которых вдруг мышь перестает скролить, форма — сабмититься по энтеру, ссылки — открываться средним кликом) так и коллегам (больше слоев для дебага, сложнее покрывать интерфейс тестами, легче нагородить неразберихи новичку).


Цель рубрики — обсуждение вопросов дизайна всех видов, текста в дизайне и взаимоотношений дизайнеров с клиентами.

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

Решение о публикации принимается один раз; мы не имеем возможности комментировать или пересматривать свое решение, хотя оно может быть ошибочно. Уже опубликованные комментарии могут быть удалены через некоторое время, если без них обсуждение не становится менее ценным или интересным.

Вот такой веб 2.0.

Недавно всплыло

4 Это я неправ, что долго думал, или магазин, что допустил такую ситуацию? 3 4 Как создавался новый сайт бюро. Часть третья 1