Плохая верстка блока?
В целом структура нормальная. Но, во-первых, список здесь не уместен, во-вторых, согласно макета блок выглядит как строка, а если отключить стили, то все выстроится в столбик. Таким образом более или менее правильная разметка будет выглядеть как-то так<section class="sort">
  <span class="sort__title">сортировать:</span>
  <span class="sort__items">
    <a class="sort__item" href="#">по цене</a>
    <a class="sort__item" href="#">по типу</a>
    <a class="sort__item" href="#">по функционалу</a>
  </span>
  <span class="sort__controls">
    <a href="#" class="sort__direction sort__direction_down icon-down-dir"></a>
    <a href="#" class="sort__direction sort__direction_up icon-up-dir"></a>
  </span>
</section>
Используйте ul если это действительно должно быть списком объектов\методов\элементов. Вся суть семантики в нативных принадлежностях.
Т.е. если это список, то <ul>
если это параграф, то <p>
если это боковая панель, то <aside>
если это навигация, то <nav>
Сергей все верно написал, но я бы добавил HTML5<NAV class="sort">
  <span class="sort__title">сортировать:</span>
  <span class="sort__items">
    <a class="sort__item" href="#">по цене</a>
    <a class="sort__item" href="#">по типу</a>
    <a class="sort__item" href="#">по функционалу</a>
  </span>
  <span class="sort__controls">
    <a href="#" class="sort__direction sort__direction_down icon-down-dir"></a>
    <a href="#" class="sort__direction sort__direction_up icon-up-dir"></a>
  </span>
</NAV>
Мораль: перед тем как выбрать тег, произнесите у себя в голове: 
"Что это за элемент\часть элемента?"