When the element type is switched to markup, the title and description end up being ignored. This can be remedied by adding the following code into interface_sortable_process somehwere before $element is returned:

  if ($element['#description']) {
    $markup = '<p>'. $element['#description'] .'</p>'. $markup;
  }
  if ($element['#title']) {
    $markup = '<h3>'. $element['#title'] .'</h3>'. $markup;
  }
  $element['#value'] = $markup;