This code is in the theme_superfish_build() function:
$output['content'] .= ($megamenu_wrapper) ? '<ul class="sf-megamenu"><li class="sf-megamenu-wrapper ' . $item_class . '">' : '';
$output['content'] .= ($show_children) ? (isset($wul[0]) ? $wul[0] : '') : '';
$output['content'] .= ($show_children) ? (($megamenu_content) ? '<ol>' : '<ul>') : '';
$output['content'] .= ($show_children) ? $children['content'] : '';
$output['content'] .= ($show_children) ? (($megamenu_content) ? '</ol>' : '</ul>') : '';
$output['content'] .= ($show_children) ? (isset($wul[1]) ? $wul[1] : '') : '';
$output['content'] .= ($megamenu_wrapper) ? '</li></ul>' : '';
and in theme_superfish_menu_item() there is:
$sub_menu .= ($properties['megamenu']['megamenu_content']) ? '<ol>' : '<ul>';
$sub_menu .= $element['below'];
$sub_menu .= ($properties['megamenu']['megamenu_content']) ? '</ol>' : '</ul>';
Why does it change to using an ordered list for mega menu instead of an unordered list? To me it seems semantically wrong to do that.
I think that wanting an ordered list for the main menu would be the less common use case that people should theme themselves, not the other way around.
Alternatively, it could be selectable via the UI, although in that case the default JS & CSS that goes with it needs to work for both options.
[EDIT]
I see now that the superfish JavaScript depends on there being ordered lists for mega menus.
That seems unnecessary to me, so since you also maintain the superfish JS that is being used could we not remove the dependency on OL and make it work for either?
Comments
Comment #2
rooby commentedComment #3
rooby commentedComment #4
rooby commentedComment #5
ivnish