The devil is in the details…
If you show and hide content in your page using JavaScript you can break important functionality, like the "find in page" use case. By using semantic HTML, you can support this.
Tags: a11y, webdev