You also need to consider accessibility. For two reasons:
1. Visuals are good, but you need to account for people who use screen readers to navigate your website. That's why you'll need to have a richer HTML document. (For more information on this,
see this Hubspot article).
2. Optimizing for accessibility has SEO benefits, too. Search engine crawlers, such as Googlebot, first index the HTML version of your website and then move on to any JS elements. If your content is hidden within or loaded via JS elements, the crawler may consider your website "empty" because it doesn't contain any valuable information for the users. As a result, it may delay any subsequent crawls for your website. (For more information on JS rendering and indexation,
check out this article from the Google developers blog).
I hope this helps. :)