Como trabalho com muito cliente americano, sou obrigado a fazer meus projetos pensando em todos os tipos de usuário, inclusive os do Safari.
LEMBRANDO, Safari do Windows não é igual ao Safari do MAC, irei mostrar aqui 2 fixes, um deles só aparece no Safari 3.x do Mac o outro é mais geral.
Começando.
OMFG, sei que no IE6 e no IE7 posso usar *classe(IE6-7) ou _classe (IE6), mais e o Safari? tem alguma gambiarra? Não!!! Por isso vamos usar PHP + CSS para ter um CSS Fix apenas para o Safari.
if ((strpos($_SERVER['HTTP_USER_AGENT'], "Mac") !== false) or (strpos($_SERVER['HTTP_USER_AGENT'], "Safari") !== false)) echo "<link href=\"".DEFAULT_URL."/macfix.css\" rel=\"stylesheet\" type=\"text/css\" media=\"all\">\n"; ?>
Obs: isso serve para Linux também
Ok, esse é o primeiro fix que já ajuda MUITO!! ele serve para qualquer elemento.
Agora vou falar de um outro bug retardadissímo do Safari que aparece apenas no Mac.
Alguém já viu como o Safari do Mac rendeniza um INPUT? bom, o mac simplismente ignora o estilo do input, por mais que você force com !important ou coisa assim.
Qual a solução? <BUTTON>
Ah tudo bonito, tudo lindo, mais e ae? funciona mesmo? sim por partes, apesar do Safari não ignorar os estilos aplicados no <button> ele ignora algumas coisas como height.
Uma forma de solucionar isso seria com padding, mais seria uma solução por pois se fosse necessário aumentar a font do button, o botão ficaria zuado.
Por isso deve ser usado line-height, junto com height.
PRONTO, agora você tem um botão semanticamente correto, funcionando perfeitamente em todos os browsers =D
Espero que tenham gostado, não sou muito de postar aqui no fórum, mais como me matei pra consiguir essa façanha, achei legal compartilhar com todos.