Помогите [27/32], сделал на 100%, но правильно ли с точки зрения семантики?

HTML-код:

Испытание: строим сетку
Header
Menu
Promo 1
Promo 2
Left
Main
Right
Footer

CSS-код:

html,
body {
margin: 0;
padding: 0;
}

body {
width: 450px;
height: 335px;
font-family: “Arial”, sans-serif;
font-size: 10px;
color: white;
}

.layout-positioner {
width: 350px;
margin: 0 auto;
}

.container {
background-color: #34495e;
min-height: 170px;
margin-bottom: 10px;
}

.header {
float: left;
background-color: #c0392b;
min-height: 25px;
padding: 5px;
margin-top: 10px;
width: 340px;
}

.menu {
float: left;
padding: 5px;
padding-left: 55px;
margin-top: 10px;
min-height: 25px;
background-color: #3498DB;
width: 390px;
margin-left: -50px;
}

.promo-column-1 {
float: left;
background-color: #c0392b;
width: 160px;
min-height: 50px;
padding: 5px;
margin-top: 10px;
}

.promo-column-2 {
float: right;
background-color: #c0392b;
width: 160px;
min-height: 50px;
padding: 5px;
margin-top: 10px;
}

.content{
background-color: white;
min-height: 110px;
margin-bottom: 10px;
}

.column-left {
float: left;
width: 60px;
background-color: #3498DB;
margin-right: 10px;
min-height: 100px;
padding: 5px;
}

.column-main {
float: left;
width: 180px;
background-color: #3498DB;
margin-right: 10px;
min-height: 100px;
padding: 5px;
}

.column-right {
float: right;
width: 60px;
background-color: #3498DB;
min-height: 100px;
padding: 5px;
}

.footer {
background-color: #34495e;
padding: 5px;
min-height: 25px;
width: 390px;
margin-left: -50px;
padding-left: 55px;
}

<!DOCTYPE html
<head>
    <title>Испытание: строим сетку</title>
    <meta charset="utf-8">
</head>
<body>
    <div class="container">
        <div class="layout-positioner">
            <div class="header">Header</div>
            <div class="menu">Menu</div>
            <div class="promo-column-1">Promo 1</div>
            <div class="promo-column-2">Promo 2</div>
        </div>
    </div>
    <div class="content">
        <div class="layout-positioner">    
            <div class="column-left">Left</div>
            <div class="column-main">Main</div>
            <div class="column-right">Right</div>
        </div>
    </div>
    <div class="layout-positioner">
        <div class="footer">Footer</div>
    </div>    
</body>

Насчет семантики, имхо, вообще никак: у вас отсутствуют семантические теги.
И еще блок menu (голубой) у вас не соответствует заданию, он не тянется на всю ширину окна. Попробуйте поставить к примеру body {width: 550px;} и увидите, что получится.
Не знаю, насколько это для вас принципиально, просто замечание.