Accessible DOM panels inside a Godot WebGL canvas (HTMl-in-Canvas) experiment

Quest Signal it’s one of the demos in Google Chrome Labs awesome-html-in-canvas list

GoogleChromeLabs

Worth a scroll for the other approaches too.

Case study and playable demo:

What currently works:

  • three independent DOM panels rendered as world-space textures
  • native text selection, copy, Find in page, language metadata, and context menus
  • a native HTML button that triggers Godot physics and spawns rigid bodies
  • Godot sending the active physics-body count back into a DOM live region
  • DOM hit testing synchronized with the projected 3D surfaces.

The bridge is bidirectional:

DOM event
→ JavaScript callback
→ GDScript and Godot physics
→ game-state update
→ DOM live region

Because the source remains real DOM, it is exposed to the browser accessibility tree in the tested Chromium configuration. I have not completed a full screen-reader/assistive-technology matrix.

3 Likes