■Safari (ver 1)での不具合など

 Macの標準のブラウザがInternet Explorer(IEと省略)からSafariになりました。IEでしか動作しないプログラムを作成した場合には、いくらかJavaScript部分で書き直しが必要になります。IE5以降でdocument.all〜という書き方や名前を直接指定していないW3C仕様のDOMに沿った普通の書き方(?)であればイベント部分の修正だけで良いでしょう。
 と言ってもIE独自のイベントが結構あり、それらはサポートされていません。イベント発生時にキー状態や座標などは取得できますが以下のような問題もあります。

●問題がなさそうなEventプロパティ
 x, y, ctrlKey(制限あり), metaKey(コマンドキーになります), cancelBubble, button(制限あり), screenX, pageX, pageY, offsetX, offsetY

●問題があるプロパティ
 screenY(原点が左上でなく左下!このため値が逆になります)
 type(テキストエリアでキーイベントが発生するとkeydownでなくkhtml_keydownといったIE,NNと互換性のない文字列を返す!)

 また、キーイベントはキー入力が可能なテキストフィールド、テキストエリアなどに限られているようです。
 イベントプロパティの取得もIEの

event.プロパティ名

 ではなくNetscape, Opera同様に

function getEvent(evt)
{
 evt.プロパティ
}

 とする必要があります。他にも問題がありJavaScriptでフォームのボタンなどの部品のスタイル、背景色などを指定しても無効になってしまいます。(これはAquaインターフェースのため。今後はAquaでなくiTunesのようなメタル、アルミ調のようなものになりそう)。

 何にしても今まではIE と Netscapeを考慮していたのがIEとSafariを考慮しなければいけなくなりました。場合によってはIE, Netscape, Safariの3つを考慮して作成する事になってしまうでしょう。運悪いとIE, Netscape, Safari, Operaというオチもありえます。