Using an HTML list is semantically correct in this situation. If you literally want to create a list of links to pages in your site, why would you object to using semantically correct HTML via an intuitive element of site architecture (menus)?
Bullets are a superficial styling default for HTML lists and can easily be removed with CSS.
.block-menu-menu-name ul.menu li {
list-style: none;
list-style-image: none;
}
Using the Drupal menu system is still the easiest and most efficient way to create a list of links to pages within your site, even if you do not want to use an HTML list to display them.
You can easily override the theme functions that create any menu's HTML. In your theme's template.php file you can override theme_menu_link() and theme_menu_tree() for the menu you want to manipulate. Let's say the menu is called "Links List".
function THEMENAME_menu_link__links_list($variables) {
$element = $variables['element'];
$sub_menu = '';
if ($element['#below']) {
$sub_menu = drupal_render($element['#below']);
}
$output = l($element['#title'], $element['#href'], $element['#localized_options']);
return '<div' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</div>\n";
}
function THEMENAME_menu_tree__links_list($variables) {
return '<div class="links-list">' . $variables['tree'] . '</div>';
}
Note that there are two underscores before the machine name of the menu in the function name.
This would result in a list of divs with links inside them. Also, you could omit the div wrappers and add a <br />
after each link instead.
It seems like a lot of unnecessary work for what is essentially a superficial styling issue, but perhaps there some other aspect to your overall goal that would make this approach seem more appropriate?