<header id="page-header" role="banner"> <div id="container">
Das
div
ist sicher überflüssig;header
ist Container genug.
Wie sich dem CSS entnehmen lässt ist das div anscheinend nicht überflüssig. #page-header geht mit Hintergrundbild über die gesamte Breite während #page-header .container den zentrierten Inhalt umfasst.
<main role="main">
<footer role="contentinfo">
Auch diese
role
-Attribute sind nicht angebracht.
<main role="main"> ist meines Wissens hilfreich für diejenigen Browser die "main" noch nicht mit der ARIA-Rolle verknüpfen.
Simon2