Верстая шаблон под Джумлу, обнаружил, что iOS-устройства никак не обрабатывают псевдокласс :hover, что впрочем неудивительно: курсора то там нет… В шаблоне у меня было использовано меню на вложенных списках и, естественно, оно не работало. Продолжение смотрите под катом.

Примерный вид меню:
<div class="'menu">
<ul>
<li><a href="...">Главная</a></li>
<li><a href="...">История проекта</a></li>
<li><a href="...">Школа</a>
<ul>
<li><a href="...">Расписание</a></li>
<li><a href="...">Конкурс молодых хореографов</a></li>
</ul>
</li>
</ul>

CSS:
.menu ul li{
margin:0;
padding:0;
height:100%;
position:relative;
}
.menu ul li a{
margin:0;
padding:0;
line-height:39px;
display:block;
}
.menu ul li ul{
margin:0;
padding:0;
position:absolute;
top:38px;
display:none;
width:100%;
list-style:none;
}
.menu li:hover ul{
display:block;
}

Гугл, в основном, выдавал довольно сложные универсальные решения, требующие, к тому же правки CSS. Однако, тут я нашёл решение своей проблемы — маленький скрипт с использованием jQuery:
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
$(".menu li a").click(function(){
});
}

Исправить под Mootools (верстаю под Джумлу) не составило труда:
window.addEvent('domready', function(){
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
$$(".menu li a").addEvent('click', function(){ 
});
}
});

Для использования требуется только подставить в скрипт нужные селекторы. В итоге получаем работающее меню на тач-устройствах без правки CSS.

P.S. Скрипт проверялся только на iOS 5.1.1 по причине отсутствия других устройств, так что буду рад замечаниям по поводу девайсов с Android.