不显眼的JavaScript过时了吗?

时间:2012-05-03 09:44:53

标签: javascript web accessibility paradigms

当我第一次阅读网络标准课程中unobtrusive JavaScript的原则时,我认为这是一件非常棒的事情。

  

不引人注目的JavaScript更像是一种编程哲学,而不是一种技术。到目前为止,它最重要的组件是清楚地了解哪个功能属于哪个层。所有绝对关键的网站功能都应该用纯HTML编写,但是一旦你创建了这个基础,就可以在基础之上添加一个JavaScript层,以便为支持它的浏览器提供更好,更清晰,更快速的界面。 / p>      

此外,不引人注目的JavaScript:

     
      
  1. 分隔结构和行为,以便制作代码   更清洁和脚本维护

  2.   
  3. 预先阻止浏览器不兼容

  4.   
  5. 使用干净的语义HTML图层

  6.   

对于我目前的项目,我使用这种方法。当我把JavaScript关闭以进行其他一些我必须做的工作时,我很惊讶有多少网站在没有JavaScript的情况下完全被破坏:缺少功能,以及缺少很多重要信息,这些信息根本不存在DOM。

这些特别是社交网站。这种情况应该不足为奇,所需的开发时间和用户体验可能比可访问性更重要。

我仍在问自己,不引人注目的JavaScript是不是已经过时了。我的意思是哪个浏览器本身不支持JavaScript?它仍然是适合2012年的方法吗?我开始怀疑它。

2 个答案:

答案 0 :(得分:17)

有两种方法可以使用网站和使用JS:

  1. JS作为增强功能

    这些类型的网站就像“文件”,在某种意义上它们类似于报纸,书籍和信件。您不需要花哨的效果来阅读和使用内容。随之而来的是渐进式增强:构建基本功能并在不牺牲目的的情况下增加复杂性

    大多数(大型)网站使用此方案即使在使用无能力的浏览器时也能保持其有用性。一个例子是StackOverflow,它甚至可以在lynx命令行浏览器上运行!

     ______
    | JS   | - JavaScript for (optional) enhancements
    |------|
    | CSS  | - CSS for (optional) style
    |------|
    | HTML | - (mandatory) HTML with base content
    '------'
    
  2. JS作为平台

    对于网络应用程序,它们是基于JS构建的实时,动态内容和功能,而HTML和CSS作为视图,这是合理的(更像是强制性的)。它是其他编程语言的同义词,在这些语言中,您可以使用类似库和插件的程序(无UI)“无头”。

    这种方法带来了优雅的退化:“仅在一定程度上支持向后支持,否则你根本不支持”

     ____________
    | HTML | CSS | - (optional) HTML and CSS view
    |------------|
    |     JS     | - (mandatory) JS platform
    '------------'
    
  3. 它通常归结为“它是文档还是应用程序?”的问题。

答案 1 :(得分:3)

不同的公司采取不同的方法。例如谷歌的搜索使用不引人注目的javascript,优雅降级,但对于GMail,他们维护一个单独的HTML网站,他们后来在GMail JS版本之后开发。

对我来说,这取决于

  1. 复杂性
  2. 功能,
  3. 费用
  4. 受影响的用户数
  5. 决定是使用不显眼的JS进行优雅降级,还是构建专用的HTML网站或完全忽略该用户群。