Além da parte semântica uma coisa que quase nínguem se atenta é que CSS precisa ser normalizado, cada browser renderiza determinados componentes de um jeito e isso pode dar problema, esse repositório é usado pelo próprio GitHub para normalizar o GitHub Pages e tem mais detalhes
Em resposta a Entendendo o Básico de HTML e CSS #001
1