Несмотря на то, что меню более-менее прилично отображается, эта вёрстка совершенно не семантична.
Ошибки:
Во-первых, меню представляет собой *список элементов*, а для списка существует тег `LI`.
**Семантический подход -- это когда теги используются по назначению.** Для элементов списка `
`, для адреса ``, для заголовка таблицы `
` и т.п.
Во-вторых, класс `rounded-horizontal-blocks` показывает, что содержимое должно быть *оформлено* как скругленные горизонтальные блоки. Любой класс, отражающий оформление, несемантичен.
**Правильно -- чтобы класс был *смысловым***. Например, `
` будет говорить о том, что смысл элемента -- "меню".
В-третьих, элемент `.vertical-splitter`. Здесь класс вполне семантичен, этот элемент списка является вертикальным разделителем, так что здесь всё в порядке. Но на этот раз несемантичность -- в содержимом.
**Мы, по возможности, стараемся, чтобы HTML содержал именно информацию, а символ вертикальной черты`|` выполняет чисто оформительскую функцию.**
Поэтому от него следует либо вообще избавиться, либо переместить в CSS при помощи `::before`.
И, наконец, это не обязательно и не ошибка, но обычно элементы, которые являются ссылками или кнопками, оформляют в `` или `