來源:派臣科技|時間:2020-12-06|瀏覽:次
本周,有人提議用一種語言取代HTML、CSS和JavaScript,理由是“它們在很大程度上相互重疊”。他們寫道,結構、風格和交互性之間的分離是基于一個“錯誤的前提”。我不這么認為。在這篇文章中,我們將看看為什么HTML、CSS和JS是不同的語言對人們有好處。
我不是來取笑這個提議的,任何人都歡迎對這個網(wǎng)絡平臺提出建議。我確實想概述一下為什么事情的當前狀態(tài)令人滿意。因為,正如記者Zeynep Tefepkci所說(來源):
如果你擁有美好的東西,如果你不捍衛(wèi)它,你就會失去它。
旁注:結構、風格和交互性之間的分離可以追溯到web最初的提議。一開始,只有結構。這個平臺是供科學家交換文件的。在有了最初的想法之后,一群聰明的人花了數(shù)年的時間才把這個平臺變成現(xiàn)在的樣子以及它現(xiàn)在的用途。這種情況還在繼續(xù)。你可以在我關于瀑布起源的演講中了解更多關于網(wǎng)絡歷史的信息,也可以在Jeremy Keith和Remy Sharpe的《如何在5天內建立萬維網(wǎng)》中了解更多。
一些用戶需求
用戶需要分離結構
網(wǎng)絡的有趣之處在于,你永遠不知道你在為誰構建東西。即使你有統(tǒng)計數(shù)據(jù)。有很多不同的用戶在使用web內容。它們都有不同的設備、操作系統(tǒng)、屏幕大小、默認語言、輔助技術、用戶偏好……因為如此之多,用一種專門用于結構的語言來表達網(wǎng)頁(或應用)的結構是非常必要的。
我們需要共享結構,以便:
屏幕閱讀器用戶可以通過標題導航網(wǎng)頁(參見標題是目錄)。
有注意力障礙的人可以打開閱讀模式
有運動障礙的人可以使用自動填充(參見識別輸入目的)
想要用母語閱讀外語頁面的人可以將URL粘貼到谷歌翻譯
所有這些用戶都依賴于我們編寫HTML(標題、語義結構、自動完成屬性、lang屬性)。我們會為這些用戶打破網(wǎng)絡嗎?或者,如果我們使用上述建議中的JSON抽象,并從中生成DOM,那么它是否值得打破開發(fā)人員目前習慣于創(chuàng)造可訪問體驗的方式呢?這種東西本來就很難教。
即使我們可以穿越回90年代,并且可以從頭開始發(fā)明網(wǎng)絡,我們仍然需要表達語義。將語義抽象到JSON可能會解決一些問題,并使一些人的生活更輕松,但是在看到一些嘗試之后,它通常會消除HTML所提供的簡單性和靈活性。
用戶需要樣式分開
就像把結構分離出來很重要一樣,用戶也需要我們把風格分離出來。
我們需要樣式分開,這樣:
低視力者可使用高對比度模式;WebAIM的一項調查顯示,51.4%的人會這么做。
只有移動設備的人可以在一個更小的屏幕上訪問同一個網(wǎng)站(響應式設計有效,因為CSS允許HTML與設備無關)
有閱讀障礙的人可能想用適合閱讀障礙的字體來重寫一些樣式(參見Seren Davies的閱讀障礙字體)
只能使用鍵盤的人可以打開強制聚焦輪廓的瀏覽器插件
Twitter的用戶可能想要使用一個定制的樣式表關掉趨勢面板(我