Internet Explorerの問題点


2005.3.18 高橋 誠

<li><img style="float: left">とすると、リストマーカが表示されない

 liの先頭を画像にして、その後にテキストを流し込もうとすると、<ol>の場合は番号が<ul>の場合はリストマーカが消えてしまいます。たとえば、赤龍館 トールキン著作一覧(英米)では書籍をliで並べているのですが、下記のように先頭に書影を載せるとリストマーカが消えています。5.5および6.0で確認。6.0 SP1で修正された模様。と思ったら、7.0では画像の前に出ました。「仕様」かも。

fontにあっても表示できない

 UnicodeのLatin Extended-Bの文字はMS UI Gothic, Arial Unicode MS等に入っているのですが、この文字を指定して、フォントをCSSで指定しても表示できません。例えば、UnicodeのIPA発音記号の相違一覧をご覧下さい。
 IPA Extensionの文字も、MS UI Gothicに入っていますが、このフォントを指定しても見えません。ただ、この場合は、Arial Unicode MSならば表示できます。

font-familyで一つしかフォントを選択しない

 font-family: "Times New Roman", "MS P明朝", serif
のようにフォントを列挙しておくと、Cascading Style Sheets, level 2 CSS2 Specification(W3C)Kazuteru OKAHASHI訳によると、
15.2.2 フォントファミリ(Font family: the 'font-family' property)

リストに挙げられたフォントは、各文字に対するグリフを含んでいるかどうかを順に検証される。

that are tried in sequence to see if they contain a glyph for a certain character.

ということになっているのですが、Internet Explorerでは、文書の中で一回だけfont-familyで列挙したフォントがシステムに存在するかチェックされて、最初に見つかったフォントが記憶されるようです。つまり、上記の例では、Times New Romanだけが記憶されて、日本文字のグリフはTimes New Romanにないので、MS P明朝を使うのでなく、Internet Explorerのインターネットオプションで指定した日本文字に対するフォントが使われてしまいます。これが標準でMS Pゴシックになっているのをなんとかしたかったのですが・・・

Macintosh版はfilterをサポートしない

 filterというスタイルシートの機能があり、Internet Explorer専用で文字の修飾が簡単にできるのですが、な、なんとMacintosh版のInternet Explorer4.01 SP1では動かないどころか画面が真っ黒になるそうです。4.01まではこのタグは直接指定しないと効かなかったので、<span>に直接書くのでなく、classを定義してspanで使うようにしたところMacintoshのInternet Explorer4.01でも無視されるだけになりました。
 なお、Macintoshでも、Netscape Navigatorならばこの修飾を無視するために正常に表示されます。
 このページのタイトルでも使っています。
 Internet Explorer 5のversion 4.0互換モードではこの機能は無視されます。

character set指定を無視する

 Windows95/98のInternet Explorer4.01 SP1ではmetaタグで
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS">
のように文書のキャラクタセットを指定しても無視されます。ISO-8859-2(Latin2)とかISO-8859-7(Greek)なんかも知らないようです。これはWindows版で見つけました。
 たとえば、Latin2をご覧ください。(表示)-(フォント)で(中央ヨーロッパ文字)を選ばないと正しく表示できません。上記のmetaタグはこの選択を意味しているのですが、理解しないようです。
 MSのページによるとWindows95/98のInternet Explorer 5ではうまく行くようにしたようです。

フォント指定を無視する

 Windows95/98のInternet Explorer 5では128以上のラテン文字に対するテングワールやキアスのフォント指定が効かなくなりました。お陰でテングワールがぐちゃぐちゃです。なぜかArial等のフォントは効くようです。詳しくは、Windows 2000上でキアスやテングワールを使ってみようをご覧ください。
 Internet Explorer 5のversion 4.0互換モードではまだ見えるので、Internet Explorer 5をインストールするときは互換モードを残すようにお勧めします。
 これはWindows 2000では発生しません。しかし、Internet Explorer 5.5では一部の文字でこの現象がまた起きるようになりました。特定の文字でなく並びにより起こるようです。

フォント指定をした場合文字幅の計算ができない

 これもテングワールフォントのときの問題ですが、前の文字に重ねる「負の」幅のフォントがあると文字幅の計算がおかしくなります。これはMSの知らないフォントだけで起こるのかと思っていましたら、「中央ヨーロッパ言語」を組み込んだときのTahomaやVerdanaのU+02CB等合成文字をMS自体も配布しています(^_^; UnicodeのIPA発音記号の一覧(i)をご覧下さい。

アクセスキーの効果が変わった

 このページの一番下のように、
 <A HREF="./index.html" accesskey=x>ホーム(x)</A>
のように書いておくと、Windowsでは、altキーとxを押すとこの文書に移動していたのですが、Internet Explorer 5から、このタグの位置に移動するだけで、もう一度エンターキーを押さないと指定文書に移動しなくなりました。次に引用するHTML 4.01 Specification (W3C) 内田明訳に違反しています。
 17.11.2 特定キーによるアクセス(Access keys

ある要素に設定されているアクセスキーを押すことで、その要素はフォーカスを受け取る。 フォーカスを受けたことで何が起きるかは、要素が何であるかに依存する。例えば、ユーザが A要素のリンクをアクティブにすると、ユーザエージェントは一般にリンクを辿る。

Pressing an access key assigned to an element gives focus to the element. The action that occurs when an element receives focus depends on the element. For example, when a user activates a link defined by the A element, the user agent generally follows the link.



ホーム(x)