Ответ 1
В наши дни Progressive Enhancement обычно предпочтительнее Изящная деградация - то есть противоположный подход.
При проектировании и создании пользовательского интерфейса для приложения, использующего AJAX, когда вы считаете изящное ухудшение (для пользователей, у которых отключен JavaScript или используется программа чтения с экрана)?
В наши дни Progressive Enhancement обычно предпочтительнее Изящная деградация - то есть противоположный подход.
Метод, который я использую до сих пор, это написать его так, чтобы он работал без javascript, а затем добавил javascript сверху.
Это действительно обратная сторона грациозно деградации, это делает акцент на улучшении страницы, как позволяет ваш браузер и настройки.
Изящная деградация может описывать две вещи:
1) Это поведение (обычно это веб-сайт или webapp), который позволяет сайту продолжать работу, когда некоторые функции отключены (например, Javascript; CSS).
2) Это подход, который создает приложение для работы с включенными колоколами и свистами, а затем исправления исправлены, чтобы заставить его работать без упомянутых шумоподавителей.
Я предполагаю, что вы спрашиваете, следует ли использовать последнее для достижения первого. Я бы определенно предложил достичь 1), так как любой, кто просматривает Javascript (например, много людей с компьютерным ключом, те, кто использует текстовые браузеры, те, кто использует средства инвалидности), в противном случае не смогут использовать ваш сайт.
Что касается того, как это сделать, A List Apart имеет отличную статью о Progressive Enhancement, на который стоит обратить внимание, когда вы сначала строите сайт, а затем добавляете AJAX и т.д. Я предпочитаю этот подход, потому что он дает приложению прочную основу для работы, с приличной безопасностью и функциональностью от слова go. Будущие улучшения в нем могут быть сделаны на базовом уровне, а затем добавлены в слой AJAX; без первого, сложнее добавить в будущем изящно унижающие компоненты в приложение.
В любом случае, наслаждайтесь статьей, и если вы хотите узнать больше об этом материале, A List Apart - отличный сайт!
Джереми Кейт подводит итог аргументам для Progressive Enhancement с его Hijax.
Как правило, я использую следующий код для динамического применения класса js к элементу HTML для таргетинга браузеров с поддержкой JS
<script type="text/javascript">if(h=document.documentElement)h.className+=" js"</script>