Então eu fiz isso e funciona no Firefox 3.5 no Windows XP. Ele mostra uma caixa com algum texto, uma sobreposição de imagem e um div transparente acima que intercepta todos os cliques.
<div id="menuOption" style="border:1px solid black;position:relative;width:100px;height:40px;">
sometext goes here.
<!-- Place image inside of you menu bar link -->
<img id="imgOverlay" src="w3.png" style="z-index:4;position:absolute;top:0px;left:0px;width:100px;height:40px;" \>
<!-- Your link here -->
<a href="javascript:alert('Hello!')" >
<div id="mylinkAction" style="z-index:5;position:absolute;top:0px;left:0px;width:100px;height:40px;">
</div>
</a>
</div>
O que eu fiz: criei um div e o dimensionei para ser o tamanho de uma opção de menu, 100x40px (um valor arbitrário, mas ajuda a ilustrar o exemplo).
O div tem uma sobreposição de imagem e uma sobreposição de link. O link contém um div de tamanho igual ao div 'menuOption'. Dessa forma, um clique do usuário é capturado em toda a caixa.
Você precisará fornecer sua própria imagem durante o teste. :)
Advertência: se você espera que o botão do menu responda à interação do usuário (por exemplo, mudar a cor para simular um botão), então você precisará de um código extra anexado ao javascript que você invocará na tag, esse código extra pode endereçar o ' elemento menuOption 'através do DOM e alterar sua cor.
Além disso, não há outra maneira que eu conheço de você pegar um evento click e fazer com que ele seja registrado em um elemento abaixo de um elemento de página visível. Eu tentei isso também neste verão e não encontrei outra solução além desta.
Espero que isto ajude.
PS: O artigo sobre os eventos no quirksmode ajudou muito a me ajudar a entender como os eventos se comportam nos navegadores.