Bug 2497 アドレスバーと<INPUT TEXT>でアンダーラインが見えない #2
初回投稿日時: 2004年09月12日04時09分38秒
最終更新日時: 2004年09月12日04時14分51秒
カテゴリ: Mozilla Core
SNS:
Tweet (list)
Macでは問題があるということで春永さんがreopenした。
ただ、Macで今まで何の症状もなかったという話と、今回のスクリーンショットを見る限りではMac固有のソースコードに問題があると思う。
今回のパッチは単に、line-height
を1
にするだけのものだが、理屈としてはこれは正しいはずである。他のOSでは、一行入力用のinput要素の場合、その内容領域は一行分のスペースのみが割り当てられている。ここに、1
より大きいline-height
値を与えると、行間のためのスペースを無理矢理とろうとする。このため、文字が押し下げられていたのが今までのバグの原因である。それに対してMacでは綺麗に表示されていたというのは、一行分以上の内容領域が与えられていたか、行間のためのスペースを中和するだけ押し上げられていたかのいずれかの方法を、Mac単独でアドホックに対応したのではないだろうか。最初のスクリーンショットにあるように、ボタンのテキストの位置を見ると、意図的に後者の手法をとっているように見えるのだがどうだろうか。
私はMacユーザへの対策として一時的にバックアウトされるのは仕方が無いと思う。だが、原因の所在を明確にしておかなくては、このバグは事実上wontfixと同じ扱いになってしまう。なぜなら、もうひとつの解決策である内容領域を広げるという手段は使えないからだ。
文字の大きさを現在のままとし、line-height: normal;
に耐えられる内容領域を確保しようとすると、そのinput要素のある行の行高自体が大きくなり、様々なページでレイアウトが崩れる可能性が高い。そのため、この手段は使えない。では逆に、文字の大きさを小さくして余裕をもたせようとする。すると、今度は小さすぎてアクセシビリティの問題が出てくるのでこれもできないだろう。バックアウトするかどうかは別として、今回の修正が最終的に取り入れられ、MacのWidgetまわりを他のOSにあわせることがより良い修正方法であると思う。