ラベル バグ の投稿を表示しています。 すべての投稿を表示
ラベル バグ の投稿を表示しています。 すべての投稿を表示
2013/08/20

iPhoneのSafariでフォントサイズが勝手に変わる際の対処法

iOSはおせっかいで余計なことを自動でやってくれちゃうので
スタイル指定を無視してフォントサイズを自動調整してくれちゃいます。

この自動調整を無効化する -webkit-text-size-adjust というプロパティがあるので
以下のように body などに記述しておくと良いと思います。

参考
iPhoneでフォントサイズが勝手に変わっちゃう時の解決方法 | YOUSORO.blog
-webkit-text-size-adjust: none を絶対に設定してはいけない理由 - てっく煮ブログ
body {
    -webkit-text-size-adjust: 100%;
}
2013/07/16

郵便番号フィールドにinput[type="number"]を使ってはいけない

スマホサイトを制作したのだがフォームにフォーカスを当てた際に出るキーボードを
数字キーボードにしたいという要望があったので
input[type="number"] や input[type="tel"] を使えば良いと聞いていた俺は
それぞれ郵便番号と電話番号のフィールドの type を text から変更したのだけど
input[type="number"] には罠があったので共有します。
input[type="number"] というよりは iOS の Safari にある罠です。

iOS の Safari は input[type="number"] のフィールドで入力値がゼロ始まりの数値の場合、頭のゼロを自動で除去する

この仕様…あのおせっかいな Excel を思い出す仕様だぜ…ギリッ…

例えば皇居の郵便番号 100-0001 は分割された郵便番号フォームの後ろの部分が以下のように頭ゼロになります。
-
表示上は iOS でも全く問題ないのだけれど POST するタイミングで iOS の Safari は 0001 を 1 に変換します。
ベーシックなバリデーションで郵便番号 7 桁とか判定して 7 桁入力してくださいとかエラー出すと
ユーザーは 7 桁入力したのにとなるので確実にクレームものです。
iPhone を普段使いしていない僕は完全に油断してやられました。
iOS のみで起こり、input[type="number"] でゼロ始まりの数値を POST した時にようやく分かるバグです。
全く油断もすきもありません。

とりあえず対処として input[type="text"] に戻しました。
input[type="tel"] に変えるのも一瞬考えましたが
電話番号でないフィールドに input[type="tel"] を適用するのも
またろくでもないことになりそうだったのでやめておきました。
2012/12/12

IEで2番目以降のGETパラメータが実体参照になり値が取得できないバグ


クリックでサンプルページへ

IE6/7/8/9 で確認しているバグ。IE10 で直っているかは知らない。
URL に GET パラメータを付けた際に2番目以降は & でつなぐわけだけど、
どうやら IE では実体参照と勘違いしてしまうみたいで変換されてしまうので
その GET 値が取得できなくなってしまう。PHP やってる時に出会ったわかりにくいバグだ。
IE 限定で起こるバグで GET の名前の部分が実体参照と被り、かつ それが2番目以降にあるというレアな限定バグ。
全て試したわけではないがHTML4 で使える文字実体参照
「HTML2.0 以降で使える文字実体参照」は変換されてしまうようだ。

対処法は名前を変えるか、2番目以降に書かないか、だ。
うーん、ひどい。

タグ(RSS)