<header id="page-header" role="banner"> <div id="container">Das
divist sicher überflüssig;headerist 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