As I dive into learning Angular (along with Angular Material and Flex-Layout), one aspect that seems a bit murky to me is how to maintain semantic HTML while utilizing these frameworks. Most examples I come across focus on specific Material / Flex-Layout tags without mentioning basic elements like header, main, etc.
For my initial simple page build, I'm contemplating the following structure, but unsure if it's the right approach:
<body>
<header><!-- header with other mat elements... --></header>
<mat-sidenav-container>
<nav>
<mat-sidenav></mat-sidenav>
</nav>
<main>
<mat-sidenav-content></mat-sidenav-content>
</main>
</mat-sidenav-container>
<footer></footer>
</body>
My specific questions are: 1) Are header, nav, main and footer correctly positioned? 2) Are they still necessary when using these material elements?
Thank you!