En tu ejemplo se observa que nav header section aside son solo parte de body en forma independiente ¿por que la etiqueta nav se encuentra por encima de header? ¿nav no es una etiqueta que forma parte de header? ¿dónde está la etiqueta main? ¿a quienes contiene main? ¿aside es parte de main o se encuentra fuera de main? ¿será que el desorden con que se maneja el código es el responsable que al final se tenga que modificar la ubicación de parte del código para que se aplique el css? ¿al momento de realizar realmente un proyecto no tendremos problemas por tantos ajustes a última hora? Gracias disculpa las interrogantes
Realmente el orden se da dependiendo de la estructura que tenga tu página, considera cada una de estas como si fuera el clásido DIV solo que desde un punto de vista de HTML5, en el cual te dan la posibilidad de usar las mencionadas anteriormente por diferentes motivos: - Orden - Robots de búsqueda (por ejemplo el de Google). Es importante considerar que por medio de CSS puedes modificar la ubicación de los contenedores sin importar el orden dentro de las lineas en el HTML, claro está que esto no es una buena práctica, sin embargo en bueno tenerlo en consideración. Nav y header pueden ser complementos pero son independientes. Main lo puedes tomar como el contenedor principal (no para etiquetas como aside, nav o header), más bien para elementos como lo pueden ser las secciones de tu página. Espero haber podido solucionar tus dudas, un saludo.