2009-07-18 3 views
3

Там в настоящее искусство разработки веб-сайта, который работает для всех, и Progressive Enhancement практически мантра мне ...трюки Прогрессивное улучшение

Так что я интересно, что некоторые из лучших трюков вы» вы использовали для создания сайтов для каждый независимо от браузера, ОС, javascript, flash, разрешения экрана, недоступности доступа пользователя и т. д.?

(я знаю много о JavaScript и трюков браузера, но признаюсь, что понятия о флэш и т.д.)

EDIT: Я на самом деле не говорить об 1% сайтов, которые RIAs что просто не может функционировать без javascript или flash. Я не спрашиваю, как писать Документы Google без js. Я хотел бы знать, что люди делают для сайтов, которые может делать классные вещи, но на самом деле не необходимо.

Я предложу несколько из моих собственных в качестве ответа ...

+0

Любой веб-сайт, который является веб-сайтом, должен работать на всех. Абсолютно согласен. Но, очевидно, есть RIA, которые потребуют JavaScript, и я не вижу, как вы можете обойти это. У вас не может быть игры с действиями, где вы возвращаетесь на сервер каждые 60 секунд. Атлас будет интересным, потому что он полностью зависит от JavaScript. – Nosredna

+0

Хм ... ну, вы можете уйти в зависимости от javascript в настоящее время, особенно если вы предоставляете отдельный мобильный сайт, но даже мой телефон на 100 фунтов стерлингов поддерживает javascript (если медленно). –

+0

Это сложно, когда вы учитываете доступность. Например, слепым может понадобиться программа для чтения с экрана. Но в случае с игрой читать нечего. Я думаю, вам нужно классифицировать, что работает в браузере как веб-сайт или приложение. Трюк - это серая область между ними. – Nosredna

ответ

5

Я стараюсь избегать мантр, кроме мантры о том, что мир является грязным местом.

Я думаю, что многие функциональные возможности рабочего стола будут заменены функциональными возможностями веб-сайтов, и это будет сложный переход, который в конечном итоге будет иметь реальные приложения в браузере. Реальные приложения означают JavaScript или Flash или Silverlight, или Java или C# или Objective-J, скомпилированные в JavaScript.

Для меня единственным трюком является идентификация людей и браузеров, которые не могут с пользой использовать приложения и предоставлять им альтернативный контент.

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

I не думаю, что это нормально, для чего требуется JavaScript для веб-сайта, который является веб-сайтом, но я думаю, что это нормально для веб-приложения. Я не думаю, что это нормально, чтобы обслуживать только широкие страницы шириной 960 пикселей. I не думаю, что это нормально, чтобы показывать видео только в формате Flash.

+0

Согласовано о мантрах. Это был скорее поворот фразы, чем абсолютное мышление ... еще лучше подумать об этом, чем просто не заботиться, правда? –

+0

Кроме того, каким образом вы избегаете обслуживать только 960px страниц? –

+0

1) Сплав жидкости. 2) Обнаружить мобильные и обслуживать альтернативы. – Nosredna

4

Проверьте свою статистику (или установите Google Analytics, если у вас нет статистики) и определите, куда идут ваши пользователи и что они на самом деле делают.

например.

1.) Используют ли пользователи постоянный поиск, потому что они не могут найти что-то? если возможно, вы можете улучшить работу поиска?

2.) Предоставляет ли ваша страница 404 несколько быстрых вариантов для поиска связанных терминов или попробуйте «угадать» то, что они искали?

3.) Имеется ли на вашем сайте карта сайта, которая обеспечивает быстрый доступ к значимым частям вашего сайта?

4.) Если все остальное не удается, у пользователя есть простое средство связаться с вами/технической поддержкой, чтобы помочь им найти то, что им нужно?

5.) Не уверен, что вы «продаете» что-то на своем сайте, но аналогично тому, как вы попадаете на кассу в любом крупном розничном магазине кирпича ... они спрашивают вас, нашли ли вы все, что искали сегодня.Подумайте о том, чтобы предоставить возможность, когда пользователи могут делать предложения ... возможно, у вас есть неиспользуемый рынок, ожидающий покорения.

6.) Для удобства использования обязательно посетите свой сайт в IE (6,7,8), Safari и т. Д. И убедитесь, что он работает повсюду, о котором вы заботитесь.

7.) Есть замечательная книга под названием «Don't make me think», которая является отличным ресурсом по реалистичной юзабилити. Если вы еще не прочитали его, то идите, возьмите копию.

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

4

Некоторые из хитроумных трюков, которые я использую для работы с сайтами Ajax на основе:

1) Написать целую страницу и все ссылки, используя Нормальны тег перейдут на нужную страницу с отключенным javascript, затем «hijax» их на основе чего-то типа rel = external.

2) Добавьте теги noscript с альтернативным контентом в любом месте, где javascript в противном случае вставлял бы динамический контент.

3) Скрыть элементы, которые будут контролировать Javascript при нагрузке DOM с JavaScript, а не прятать их в таблице стилей, а затем показывая их с JavaScript, поскольку пользователь никогда бы не видеть их, если они имеют Javascript выключен.

+0

Для прогрессивного улучшения мне очень нравится книга ppk. – Nosredna

-1

Прогрессивное улучшение не сложно.

Рассмотрим три основные проблемы:

  • Содержание (HTML)
  • Презентация (CSS)
  • Поведение (JS)

Вы начинаете с содержанием и работать ваш путь через проблемы, связанные с тем, что каждая новая проблема не препятствует предыдущей или пытается подражать другой проблеме; JavaScript не должен генерировать контент; CSS не должен обрабатывать поведение; HTML не должен обрабатывать презентацию и т. Д.

2

Обычно я пишу весь сайт без javascript. Как только это будет функционировать, вы можете «пометить» его.

Тем не менее, есть некоторые хорошие стартовые блоки:

The PRG pattern, как правило, необходим для хорошей доступности.

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

Убедитесь, что вы применяете теги alt к изображениям только тогда, когда они имеют смысл. Допустимо давать изображение alt = "", когда оно предназначено только для целей дизайна. Точно так же установка title = "" будет удовлетворять желание пользователей Firefox использовать подсказки для зависания, не раздражая ваших доступных пользователей.

Надеюсь, что эти простые советы помогут! Доступность - это ответственность каждого!

-1

ОК, когда дело доходит до приложения типа веб-сайта, лучше всего поддерживать всегда множество форматов в пути RESTful ... HTML, XML, JSON, RSS, Atom (где это имеет смысл) и почему не другие ... для этого вам нужна чистая архитектура MVC на сервере ... ну, это не обязательно должен быть MVC, но, скажем, слой рендеринга должен быть немым, как хлеб, и колодец написанная бизнес-логика под управлением ... ваш внешний контроллер должен выбрать правильный формат для возврата в ответ на запрос, и там вы идете ... вся ваша бизнес-логика для извлечения/обновления данных, разбиения на страницы и т. д. реализуется один раз, и то вы просто визуализируете его в HTML-шаблоне или конвертируете его в JSON или делаете что угодно ...

Теперь идея была бы, чтобы мак e one view implementation, которая вернет твердотельный, семантический и простой HTML ... и сделает один, который будет сильно использовать javascript ... сделает их доступными по разным путям и сделает javascript uncrawlable ... поставьте одну строку javascript в начале вашего основного HTML-шаблона, который приведет к перенаправлению на javascript-версию этого сайта ... вы можете сделать то же самое и для флеш-памяти ... и т. д. ... затем в " грязная "версия приложений, вы можете делать что угодно, вам нравится ... загружать шаблоны по HTTP, а затем данные в JSON, а также делать рендеринг на клиенте, создавая постоянное приложение с поддержкой JavaScript с учетом состояния клиента ... почему бы и нет ?

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

Greetz

back2dos

2

Попробуйте предоставить резервный контент при использовании плагинов или другого контента, который может быть труднодоступным. Например, размещение видео на странице. Если вы должны были пройти путь HTML5:

<video> 
    <source src="video.ogv" type="video/ogg" /><!-- OGG for Mozilla/Opera --> 
    <source src="video.mp4" type="video/mp4" /><!-- h.264 for Apple/Google --> 
    <object><!-- Fall back to Flash/h.264 for older browsers --> 
      <!-- And in the event the UA can't handle any of those, all you can do is provide a link to the media --> 
      <p><a href="video.ogv">Download the video</a>.</p> 
    </object> 
</video> 

[псевдокод, но вы получите идею]

Для более полного решения этой конкретной проблемы, проверить Video for everybody Крок Камен в.

Смежные вопросы