石輪っぷり!
フォームと Mac版 Internet Explorer
2007年6月 8日 22時11分 | コメント(2) | トラックバック(0)
※この投稿は180日以上前のものです。最新の情報とは異なる場合があります。
未だに Mac版 IE を気にかけなければならないのかって感じですが、現在構築中のサイトのクライアントが iMac を使用されており、その周辺にも Mac 愛用者が多そうなので、普段チェックしている Firefox,Windows版 IE7,IE6,IE5.5,Safari (Netscape,Opera をチェックすることもある)に加え、今回は Mac版 IE5 での表示確認もすることにしました。
案の定、いろいろとレイアウトにズレがあり、CSS を変更したり、Mac版 IE 専用の CSS ファイルを作ってそれだけに読み込ませるようにしたりして修正をしていきました。
ところが、あるページを表示しようとするとフリーズしてしまうという致命的な問題が。
それはちょっと複雑なメールフォームを設定しているページ。他のブラウザでは全く問題ないのですが、Mac版 IE ではフリーズしてしまいます。
フォームに組み込んでいる Javascript を削ったり、ひとつずつフォーム項目をコメントアウトしながらいろいろ試しているうちに、チェックボックスの部分に問題があることが判明しました。
しかし、目を凝らして見てもソースに問題は見受けられません。一般のブラウザでは問題ないし、構文チェックもOK。
そうこうしているうちに label タグの置き方に原因があることがわかりました。
ちなみに、label タグはフォームの項目と入力エリアなどのコントロールを関連付けするために付けています。これを付けてあると、項目のテキストをクリックしても関連付けられたコントロールにフォーカスされますし、音声ブラウザでは何の項目の入力エリアかがわかりやすくなります。
で、チェックボックスやラジオボタンの場合、label の置き方が2通りあります。
<label for="check1">
<input type="checkbox" id="check1" name="check1" value="1" />
○○○
</label>
あるいは、
<input type="checkbox" id="check1" name="check1" value="1" />
<label for="check1">○○○</label>
一般的にどちらでも問題なく機能するのですが、この記述方法が原因でした。当初前者のように記述していましたが、これを後者の記述に変更したらフリーズしなくなりました。
このために何時間悩んだことか。全く IE ってやつは!
トラックバック(0件)
- :
- « 前の記事
- Movable Type 4 発表
- 次の記事 »
- position プロパティは IE7 で使えない

コメント(2件)
1. kamachi | 2008年3月30日 9時25分
ブログ拝見させていただきました。よろしくお願いします。
MT4インストールしたのですがMACだとコメント欄がアクティブにならなくて書き込みができないのですが、記述を変更すれば問題解決?するのかと思いましたが、いかがでしょうか?
2. いしわ | 2008年3月30日 14時37分
kamachiさん
当方、MT4で構築したブログではMacでも問題なくコメント欄使えます。
アクティブにならないといわれるコメント部分のソースコードはどうなっているのでしょう?
コメントする