🎓

HTML, CSS, JavaScriptの標準の仕様書はどこにあるのか

2022/04/16に公開

HTML, CSS, JavaScript の書き方・使い方等を調べる時、初心者の方は、検索して出てくる解説記事やMDNの解説を参照する方が多いと思います。しかし、そうした解説の根拠となっている標準仕様について理解し、必要に応じて参照できるようになると、Web開発者としての基礎となり、中級者・上級者へのステップアップに繋がります。

この記事では2022年現在の HTML, CSS, JavaScript の標準仕様について簡単に解説します。

先にまとめ

技術 標準化団体 URL
HTML WHATWG https://html.spec.whatwg.org/
CSS W3C https://www.w3.org/Style/CSS/specs.en.html
https://www.w3.org/Style/CSS/current-work
JavaScript - ECMAScript TC39 ECMAScript: https://tc39.es/ecma262/
Intl API: https://tc39.es/ecma402/
Proposals:https://github.com/tc39/proposals
JavaScript - ブラウザAPI WHATWG https://html.spec.whatwg.org/
https://dom.spec.whatwg.org/
https://fetch.spec.whatwg.org/
など(一覧

HTML

HTMLの仕様策定には複雑な歴史があります。詳細は他の解説記事に譲りますが、簡単に述べるとW3CWHATWGのダブルスタンダード状態が長い間続いていました。2022年現在はWHATWGによってLiving Standardとしてまとめられた仕様が実質的な標準となっています。Living Standardという名前が示す通り、バージョンはなくエディターによって随時更新されています。

CSS

CSSの仕様W3Cが策定しています。現在は、CSSとして1つの標準仕様があるわけではなく、数多くのモジュールに分かれて標準仕様の策定が進められています。草案、勧告候補などを経て勧告に至るプロセスと、Levelという概念で整理されたバージョン管理が特徴です。年に1度、SnapShotとしてその時点での標準化の概況が公開されています。

JavaScript

JavaScriptは主にWebブラウザで広く使われるプログラミング言語ですが、Node.jsなどWeb以外の環境でも使われることがあります。一般にJavaScriptとされるものは、以下に大別できます。

  • 言語自体の仕組み(言語仕様などWebブラウザでもNode.jsでも変わらないもの)
    • ECMAScriptと呼ばれます
  • Webブラウザ環境が提供するAPI(DOMを中心としたWebサイトを動的に操作する仕組み)
    • Node.jsではNode.jsで、例えばOSの機能を利用するためのAPIなどがあります

このうち、前者のECMAScriptについてはEcma Internationalという団体TC39と呼ばれる委員会で標準化が進められています。プロポーザルとステージに基づく策定プロセスが特徴で、年に一度ES20XXとしてまとめてリリースされます。

後者のブラウザAPIに関しては、HTMLと同じくWHATWGによってLiving Standardとして策定されています。APIごとにDOM StandardFetch Standardなどといった形でまとめられており、LocationやHistoryなど HTML Standardに含まれているものもあります。WHATWGのウェブサイトから仕様の一覧が確認できます。

最後に

各項目の簡単な整理は冒頭に掲載しました。困った時の仕様を当たる際の参考にして頂けると幸いです。また、各項目については簡潔な説明に留めていますが、それぞれの歴史や策定プロセス、構成メンバーなどについても抑えておくと、より一層深い理解に繋がると思います。お読みいただきありがとうございました。

Discussion