【发布时间】:2010-10-07 21:00:59
【问题描述】:
在为使用 AJAX 的应用程序设计和构建 UI 时,您何时会考虑优雅降级(针对禁用 JavaScript 或正在使用屏幕阅读器的用户)?
- 最后,一旦网站的 AJAX 版本完全完成
- 在每个发展阶段
- 我没有
- 别的东西...
【问题讨论】:
标签: ajax language-agnostic user-interface accessibility
在为使用 AJAX 的应用程序设计和构建 UI 时,您何时会考虑优雅降级(针对禁用 JavaScript 或正在使用屏幕阅读器的用户)?
【问题讨论】:
标签: ajax language-agnostic user-interface accessibility
目前我采用的方法是编写它,使其在没有 JavaScript 的情况下工作,然后在顶部添加 JavaScript。
这确实是graceful degradation 的反面。它强调在您的浏览器和设置允许的情况下增强页面。
【讨论】:
如今,progressive enhancement 通常比 graceful degradation 更受欢迎——即完全相反的方法。
【讨论】:
优雅的退化可以描述两件事:
这是一种行为(通常是网站或 Web 应用程序),允许网站在禁用某些功能(例如 JavaScript;CSS)时继续运行。
这是一种构建应用程序以在打开的铃声和口哨声的情况下工作的方法,然后用螺栓固定以使其在没有上述噪音制造者的情况下工作。
我假设您是在询问是否使用后者来实现前者。我绝对建议实现 1),因为任何在关闭 JavaScript 的情况下浏览的人(即,很多有计算线索的人;使用基于文本的浏览器的人;使用残疾辅助设备的人)否则将无法使用您的网站。
至于怎么做,A List Apartprogressive enhancement 上有一篇很棒的文章值得一看,你先在哪里建立网站才能正常工作,然后再添加 AJAX 等。我更喜欢这种方法,因为它为应用程序提供了坚实的基础,从一开始就具有良好的安全性和功能。未来可以在基础层面对其进行增强,然后添加到 AJAX 层;如果没有前者,将来很难在应用程序中添加优雅降级的组件。
无论如何,请欣赏这篇文章,如果您想进一步了解这些内容,A List Apart 是一个很棒的网站!
【讨论】:
Jeremy Keith 在他的Hijax 文章中总结了渐进增强的论点。
通常,我使用以下代码将“js”类动态应用于 HTML 元素,以针对支持 JavaScript 的浏览器
<script type="text/javascript">if(h=document.documentElement)h.className+=" js"</script>
【讨论】: