If you render to canvas, you would need to reimplement scrolling and zooming, checkboxes and input elements. Any custom reimplementation of this stuff will end up slower and clunkier than the optimised, native versions already in browsers.
Also (as far as I know) canvas content is inaccessible to screen readers. Accessibility matters.
Also (as far as I know) canvas content is inaccessible to screen readers. Accessibility matters.