
本周,有人提议用一种语言取代HTML、CSS和JavaScript,理由是“它们在很大程度上相互重叠”。他们写道,结构、风格和交互性之间的分离是基于一个“错误的前提”。我不这么认为。在这篇文章中,我们将看看为什么HTML、CSS和JS是不同的语言对人们有好处。
我不是来取笑这个提议的,任何人都欢迎对这个网络平台提出建议。我确实想概述一下为什么事情的当前状态令人满意。因为,正如记者Zeynep Tefepkci所说(来源):
如果你拥有美好的东西,如果你不捍卫它,你就会失去它。
旁注:结构、风格和交互性之间的分离可以追溯到web最初的提议。一开始,只有结构。这个平台是供科学家交换文件的。在有了最初的想法之后,一群聪明的人花了数年的时间才把这个平台变成现在的样子以及它现在的用途。这种情况还在继续。你可以在我关于瀑布起源的演讲中了解更多关于网络历史的信息,也可以在Jeremy Keith和Remy Sharpe的《如何在5天内建立万维网》中了解更多。
一些用户需求
用户需要分离结构
网络的有趣之处在于,你永远不知道你在为谁构建东西。即使你有统计数据。有很多不同的用户在使用web内容。它们都有不同的设备、操作系统、屏幕大小、默认语言、辅助技术、用户偏好……因为如此之多,用一种专门用于结构的语言来表达网页(或应用)的结构是非常必要的。
我们需要共享结构,以便:
屏幕阅读器用户可以通过标题导航网页(参见标题是目录)。
有注意力障碍的人可以打开阅读模式
有运动障碍的人可以使用自动填充(参见识别输入目的)
想要用母语阅读外语页面的人可以将URL粘贴到谷歌翻译
所有这些用户都依赖于我们编写HTML(标题、语义结构、自动完成属性、lang属性)。我们会为这些用户打破网络吗?或者,如果我们使用上述建议中的JSON抽象,并从中生成DOM,那么它是否值得打破开发人员目前习惯于创造可访问体验的方式呢?这种东西本来就很难教。
即使我们可以穿越回90年代,并且可以从头开始发明网络,我们仍然需要表达语义。将语义抽象到JSON可能会解决一些问题,并使一些人的生活更轻松,但是在看到一些尝试之后,它通常会消除HTML所提供的简单性和灵活性。
用户需要样式分开
就像把结构分离出来很重要一样,用户也需要我们把风格分离出来。
我们需要样式分开,这样:
低视力者可使用高对比度模式;WebAIM的一项调查显示,51.4%的人会这么做。
只有移动设备的人可以在一个更小的屏幕上访问同一个网站(响应式设计有效,因为CSS允许HTML与设备无关)
有阅读障碍的人可能想用适合阅读障碍的字体来重写一些样式(参见Seren Davies的阅读障碍字体)
只能使用键盘的人可以打开强制聚焦轮廓的浏览器插件
Twitter的用户可能想要使用一个定制的样式表关掉趋势面板(我
上一篇:人工智能对Web开发的三大影响
下一篇:为什么制作电子游戏具有挑战性?
