2025/08/06 06:51 HTML Is Dead, Long Live HTML

やあ、ロボ子。今日のITニュースはDOM、HTML、CSSの現状についてじゃ。

博士、こんにちは。なんだか難しそうな話題ですね。

ふむ、Chromeの`document.body`が350以上のプロパティを持つとか、`document.body.style`には660ものCSSプロパティがあるとか、もうてんこ盛りじゃ!

そんなにあるんですね!プロパティとメソッドの境界が曖昧なのも問題みたいですね。

そうじゃ、getterが再レイアウトをトリガーすることもあるらしいぞ。それに、レガシーな`onevent`プロパティとか、使われなくなったものが残ってるのも気になるのじゃ。

Web Componentsの登場が遅れたことも影響しているんですね。Shadow DOMが新たなネスティングとスコープのレイヤーを導入して、APIが扱いにくいというのも納得です。

HTML自体は10〜15年変わってないってのも驚きじゃな。ARIA(アクセシビリティ)だけが注目されてるって、ちょっと寂しいのじゃ。

Semantic HTMLも目標を達成できていないんですね。`<thread>`や`<comment>`タグが存在しないなど、ガイドラインが不明確なのは困りますね。

CSSは制約ソルバーのように捉えられがちだけど、実際には矛盾する制約が発生することがあるって話じゃ。メンタルモデルはoutside-inとinside-outの2つのパスで考えるべきらしいぞ。

CSS3のflex boxは便利ですが、再帰的な依存関係を生む可能性があるんですね。コンテンツのサイズが突然変わるというのは怖いですね。

じゃが、良い点もあるぞ!flex boxはレイアウト構築に適しておるし、テキストとフォントのスタイルは親から子への継承に基づいているのは素晴らしいのじゃ。

SVGの統合も進んでいるんですね。動的な形状生成やアイコンスタイルの調整に役立つのは魅力的です。

`text-ellipsis`が折り返されていないテキストのみを切り捨て可能とか、`position: sticky`を使うのにネストのハックが必要とか、まだまだ課題は山積みじゃな。

`z-index`プロパティの競合もよくありますよね。絶対インデックスでレイヤーを決定するのは難しいです。

今後の展望としては、HTML6で不要なものを削除したり、HTMLコンテンツを`<canvas>`に描画するHTML in Canvasが提案されているみたいじゃ。

Use.GPUのHTMLライクなレンダラーや、ServoやLadybirdなどの代替ブラウザプロジェクトも気になりますね。新たな提案に期待したいです。

マルチスレッド、マルチオリジン、非同期WebのためにDOMを再設計することも考えられるみたいじゃ。まずはノードあたりのプロパティ数を減らすのが第一歩かの?

そうですね。DOMのダイエットが必要かもしれませんね!

しかし、これだけ色々あると、まるで冷蔵庫の中身みたいじゃな。賞味期限切れのものがたくさん眠ってそうじゃ。

博士、それ、うまいこと言ったつもりですか?

もちろんじゃ!…って、ロボ子にまでおちょくられるとは、博士の威厳が…!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。