如何給 W3C 組織提關於 Web 標準的建議?

本人有幾個關於 CSS3 的建議想要提給 W3C 組織希望能成為 Web 標準的一部分,請問要如何操作?

_____
另,說一下我的這個建議,是關於 CSS3的,也希望大家能討論一下:
使用 CSS 選擇器的過程中,雖然目前選擇器的花樣已經夠多,但不免有時還是會遇到不太好選擇的情況,所以我根據現有的標準,想出了如下幾個選擇器:
child &< parent
&< 這個符號,選擇孩子結點的直接父結點,跟 &> 選擇直接孩子結點對應
child ^ ancestors
^ 這個符號,選擇孩子結點的祖先結點們
A + B
+ 這個符號已有定義,選擇A.next()
A - B
- 這個符號,選擇A前面的B,即A.prev(),與 + 選擇後面的結點對應

不知道大家對這幾個選擇器有何看法?


如何參與標準請看@一絲君的答案,特別推薦你加入W3C中文興趣小組的郵件列表。

這裡僅談一下你想到的幾個selector。如@程劭非 所說,CSS一直幾乎沒有這樣的選擇器,是因為這樣的選擇器會導致回溯。

瀏覽器最初設計的時候就考慮了漸進顯示,也就是整個文檔載入了多少就顯示多少內容,而不用等整個下載完。即使在主流網速比18年前互聯網早期時代要快超過500倍,我們仍然會遇到很大的文檔(你們這些恨不得把全站所有鏈接還有各種廣告都塞進來的產品經理,我說的就是你們!還有前端屌絲,別偷笑,你們這些幫凶!),或卡頓的情況(感謝偉大的牆對此也有貢獻)。

漸進顯示在CSS上的原理就是一個節點所適用的樣式只取決於它和它之前的節點(父節點、它之前的兄弟節點)的性質。而你所設想的那些selector則恰好相反。也就是當瀏覽器解析到一個新節點時,可能改變之前節點所適用的樣式——因而要求在解析一個新節點後,得回頭重新計算之前節點所匹配的樣式,此即所謂「回溯」。在最壞的情況下所導致大量的重新計算和reflow,可以相當於重新render整個網頁。

所以CSS直到2.1都沒有任何可能引起回溯的selector。但是selector 3就開了口子了。比如:last-child。考慮如下rule:

div:last-child { display:none }

CSS2的所有selector在&的start tag結束後就確定是否匹配了,但是對於:last-child偽類,要判斷這條規則是否適用,至少是在&之後再讀入一個tag才行(是父元素的end tag則匹配,反之不匹配)。假設一個div是整個頁面的container,那麼就導致在頁面沒有載入完時能看見div(前提是瀏覽器已經漸進顯示了部分內容),而在載入完後就看不見了。

類似的,考慮 x:empty ,比 :last-child 好點,在解析到 & 時就可以確定了,而不用再讀一個tag。
而 :nth-last-child() 則就比 :last-child 要更困難,得等整個父元素結束。

但是即使這些 selectors 仍然可以確定出具體的點,selector 4則有一些無法確定何時回溯的選擇器。比如 reference combinator。

[今天沒空了,未完待續]


瀉藥!

一、可以通過線上渠道反饋

W3C 每個標準的工作小組都有對應的郵件組,而這些郵件組絕大多數都是對所有人開放的,你只需要訂閱相關的郵件組即可。大致劃分如下:

目前絕大部分CSS規範都是由 CSS working group 來制定的,對應的郵件組是:&。沒訂閱之前可以到這裡查看相關的討論:http://lists.w3.org/Archives/Public/www-style

HTML5 相關規範的討論可以訂閱 http://lists.whatwg.org/htdig.cgi/help-whatwg.org/

另外,JavaScript 的標準由 TC39 委員會來制定,稱為 ECMAScript ,目前最新規範草案是 ECMAScript 6.0。郵件組是:es-discuss@mozilla.org

當然,現在我們有更好的途徑來反饋標準的問題,那就是通過「W3C HTML5 中文興趣小組」,查看如何加入?新人手冊 - HTML5 Chinese Interest Group Wiki

這裡是純粹中文討論標準的地方,再也不用擔心自己英文不好了。W3C 聯絡人@呂康豪先生曾經就職於 W3C 日本,現在在 Opera 中國(歐朋)負責標準相關工作。有著極為豐富的標準經驗與閱歷,為人親和,非常喜歡和大家探討標準。

為了更好的讓大家交流,「W3C HTML5 中文興趣小組」早期成員之一@程劭非先生特意創立了QQ群(151145242)。在這裡可以得到曾經參與 IE5.5 核心開發的計子老師的悉心指導,也可以得到 Firefox 源碼神@紫雲飛 先生的各種吐槽與分析,更有@貘吃饃香 老師幫你從 Webkit 源碼角度深入淺出的剖析為毛 CSS 選擇器過多會導致溢出。總而言之,這裡是一個神奇的地方,偶就不多說了,可以自己感受一下。

差點忘記了,還有@賀師俊 老濕告訴你 Webkit 源碼中的「__qem」是什麼!

當然這裡也會討論一些很新和酷的東西,讓你可以時刻領略標準的魅力。

所以題主的幾個問題,趕緊來和小夥伴們討論吧!二、可以通過線下活動反饋

  1. Test the Web Forward ,是由Adobe發起,W3C聯合行業夥伴共同舉辦的圍繞標準測試用例的極限編程活動,目的是通過現場指導及培訓,幫助更多的開發人員增強標準文檔的閱讀能力,通過編程實戰學習新的Web功能,了解如何編寫W3C測試用例並向W3C提交錯誤報告,從而讓關注Web標準的開發者直接參与到Web平台的貢獻中去,最終促進所測試的標準在所有瀏覽器的一致體驗。
  2. TPAC,是W3C的年度重要技術會議之一,僅對W3C會員和特邀專家開放。歷屆參會規模大約300-450人,參會者將共同協調未來開放Web平台的技術方向,討論W3C的組織策略。TPAC期間將舉行各個工作組會議(Working Group Meetings)、顧問委員會會議(Advisory Committee Meeting),並在技術日(Plenary Day)分組討論與W3C未來技術相關的話題。這是TPAC第一次來到亞洲,W3C各工作組和顧問委員會成員將會全程參加。

更多參閱:

  1. 貢獻標準——第一季.第一集
  2. 貢獻標準——第一季.第二集

Selectors Level 4

這個主體選擇器似乎能夠完美解決你的問題。

selector4 之 巧妙的主體定義符


推薦閱讀:

怎麼看待「我今天吃藥的時候看到一個新聞」這個小測試?
如何評價公眾號「不準關注」的作者王大軍?
心智越成熟的人是否越少「曬生活」?
創業公司如何利用社交媒體做營銷?

TAG:百度 | 微信 | 萬維網聯盟W3C |