HTML-in-Canvasで作る未来のWeb UI表現

スライド(Speaker Deck) フロントエンドカンファレンス関西2026 はてブ 229件
元記事URL
https://speakerdeck.com/clockmaker/html-in-canvas
はてなブックマーク
https://b.hatena.ne.jp/ao41/20261015#bookmark-4794422340859573634
ブックマーク日時
2026-10-15 09:26 (JST) / 2026-10-15T00:26:16Z
タグ
あとで読む
登壇
株式会社ICS 池田泰延(@clockmaker)氏・2026年10月12日 フロントエンドカンファレンス関西2026(グラングリーン大阪)

📌 このスライドの要約

Webプラットフォームに2026年に登場した新機能 「HTML-in-Canvas」 について、株式会社ICSの池田泰延氏が解説した登壇資料です。HTML-in-Canvasとは、HTML・CSSでレイアウトされたコンテンツの「見た目」をそのままCanvasに取り込めるようにする技術で、Canvas 2D / WebGL / WebGPU の描画APIから利用できます。スライド内では「HTMLにCanvasの表現力を加える」「CanvasにHTMLの機能を加える」という双方向のメリットが、豊富なデモとともに紹介されています。

なお本スライドはモーションを多用するテーマのため、著者はSlideShareでの視聴ではなくYouTubeでの視聴を推奨しています。

🆕 HTML-in-Canvasとは何か

🎨 方向性1:HTMLにCanvasの表現力を加える

CSSの filter や backdrop-filter は「用意された効果」しか指定できません(iOS 26のLiquid Glass風表現も backdrop-filter のぼかしが中心)。HTML-in-Canvasなら:

  1. HTMLをブラウザーでレイアウト
  2. その2D画像をCanvasへテクスチャとして取り込み
  3. シェーダーで自在に加工(屈折・渦巻き・波など)

ページ全体にCanvasエフェクトをかけた画面遷移デモなどが紹介されています。

✍️ 方向性2:CanvasにHTMLの機能を加える

美しい日本語の文字組

Canvasの fillText() によるテキスト描画は折り返しができないなど貧弱です。HTML-in-Canvasなら、HTML+CSSの高度な文字組機能をそのままCanvasに持ち込めます:

マシンリーダブルなCanvas・入力フォーム

ポイント:Canvasの弱点(美しい文字組・DOM構造・入力フォーム)をHTMLで補える。HTML-in-Canvasは演出だけではなく、実務のフロントエンド開発にも役立つ技術。

🛠 実装方法(Canvas 2Dの場合)

  1. Canvasの子要素としてHTML(描画対象のカード等)を配置
  2. paint イベントでHTMLの更新通知を受け取り、ctx.drawElementImage() で描画
  3. canvas.requestPaint() で再描画を要求
  4. ctx.translate() や ctx.rotate() で移動・回転も可能。Canvas 2Dではヒットエリア(クリック範囲)もブラウザーが自動同期
注意点:シェーダーによる波形状の変形は、HTMLのクリック範囲(ヒットテスト)には反映されない。 precise hit testing は課題として議論中(WICG/html-in-canvas issue #148)。

🖼 ウェブアプリへの応用:記事カードジェネレーター

📚 対応ライブラリー

🌐 対応ブラウザー(2026年10月11日時点)

ブラウザー対応状況
Chrome 155対応(フラグ設定・オリジントライアル)
Edge 155対応(同上)
Firefox 157.0.1未対応
Safari 27.0未対応(WebKitで実装中)

さらに Chrome 157 で2026年11月3日に正式提供予定とのことで、まもなくフラグなしで使えるようになる見込みです。

⚖️ 類似技術(SVG foreignObject)との比較

HTMLを画像化する既存手法としてSVGの <foreignObject> がありますが、HTML-in-Canvasには以下の優位点があります:

比較項目SVGのforeignObjectHTML-in-Canvas
CSSの文字組SVG内のHTMLにCSSを指定ページのCSSをそのまま利用
HTMLの更新SVG画像を作り直す必要paintイベントで自動更新
Webフォント外部URLから読み込み不可ページのフォントを利用可能
外部画像外部URLのまま表示不可HTML内の画像を利用可能
入力・文字選択不可可能(マシンリーダブル)

🕰 まとめ:Canvasタグの歴史と位置づけ

HTML-in-Canvasは、「HTML・CSSの文字組・レイアウト・入力」と「Canvasの加工・合成・3D」のいいとこどりを実現する、Web表現を大きく広げる機能といえます。