🧱 Canvas

Feature Canvas SVG
Rendering Model Immediate mode – draw manually via JS Retained mode – DOM-based
Scalability Pixel-based (raster) drawing surface vector-based
Performance Faster for lots of dynamic pixels Better for static or interactive shapes
Interaction Needs manual hit-testing Native DOM events (click, hover)
Accessibility Requires manual setup Inherits semantic structure