2021.08.21 2023.03.26

【現役が語る】iOSブラウザは現代のIE6かもしれない【Webデザイン】

雑記

案件でちょくちょく遭遇するんですけれど、「ChromeやMacのSafari、Android環境では問題なかったのに、iOS(iPhone)だけにバグが起きてしまう」という事案がままあって、その対応のためだけに遅くまで残業することもあり、悩ましく思っています。

この状態はまさに、「iOSは現代のIE6(インターネットエクスプローラー6)」とも言えるのではないかと、ある意味そう思わざるをえません。

では具体的にどう悩ましく思っているのかを、極力わかりやすく述べていきます。同じく悩んでいる人や、これからWEBデザイナー・フロントエンドとして働こうとしている人にも、知識として知っていただければと。

それから、以下の内容は2021年の現状で書かれている部分は、あらかじめご留意ください。

  • 正確な情報を求む

    誤りがあればご連絡ください

iOSにだけ起きる代表的なバグ

背景

iOSは悩ましい

まず、iOS特有のバグや症状がどのようなものがあるのか、以下に代表的なものを挙げていきます。

iOSは背景固定と背景切り抜きの併用ができない

現状のiOSでもっとも頭を悩ませるバグが、

background-attachment:fixed; //背景固定
background-size: cover; //背景トリミング(切り抜き)

このふたつのCSS併用がiOSだけできないというもの(MacのSafariでは問題ないのに……)。

背景固定して、閲覧者のデバイス幅に合わせて背景をトリミング加工もするという、現代のデザイン重視のサイトだとよくあるレイアウトが、iOSにだけできないんですよね。

ちなみにiOSで見るとどうなるかというと、原寸サイズ(?)に拡大されてしまい、なんの背景がわからなくなってしまいます。これはデザイン上かなり致命的です。

fixed(完全固定)やsticky(追従固定)といった、さまざまな人が代替案を考案していますが、前者は1ページに一箇所しか使えませんし、後者はその表現のために全体のコードを微調整しなければならず、余計な時間がかかってしまいます。

このバグが厄介(というよりタチが悪い)なのは、ほぼほぼ公式認定のバグであることと、それを数年前から言われているのに、Apple側は未だに修正しないことなんですね。

ここを直してもらえれば残業せずに救われる人が世界中で出るでしょうから、早急に対応してもらいたいものです。

background:fixedでの背景固定はiOS(iPhone)でうまく動かないのでこれを使いましょう|ホームページ制作のYCOM

【CSS】background-attachment:fixedがスマホだけ効かない原因と対処法|でざなり

【注意!】iOSでは背景画像が動いてしまう問題について|Qiita

background-attachment:fixed still not supported?|Apple Developer Forums

iOS(iPhone10)はSlickの指スライド操作が無効化される

『Slick』という、Webサイト制作会社やフリーランスなら有名な画像スライドがあります。画像スライドというのは、よく企業サイトのトップページを見ると、最初に画像が左右へ動いたり、ふわーっと切り替わる(フェードイン・アウト)アレのことです。

そしてこの『Slick』はオープンソースライブラリということもあって、誰でも自由に使えるコードな上に自由度も高く、さまざまなサイトでも紹介されているほど、重ねるように有名なんですね。こちらの職場でもよく使っています。

しかしiPhone10のiOSブラウザから、「画像スライドを指(タップ操作)でも動かせるようにする」という挙動ができません。

とはいえ、対応するコードが明確にあるということですし、そんなに難しくないですから、業務を圧迫されることもありませんから、それは救いでしょう。

具体的には、SlickのJavascript(JS)のファイルの最後に、

$(document).ready(function () {
    $('.スライドの該当クラス名').on('touchstart', function(){
        return true;
    });
});

これを追記で入れるだけになります。

jQueryとよばれるライブラリが必要であることや、WordPressだと「$」だと動かない問題が起きるため、「jQuery」と書き換える必要も出てくるかもしれません。

これを語ると長くなりますから、よくわからない方は「jQuery 使いかた」で検索してください。

ただ、これを入れてもiOSだけ指スライドしてもコマ送りのようにスムーズにスライドできない場合もあり、検証は必要です。

【JQuery】Slickのスライダーで、iOS10以上でフリックが効かないバグ対応|MAKOCHIN WEB

slick.jsでフリックの動作が効かないときの対応メモ|kishiken.com

ほかにも縦横比率を維持する「aspect-ratio」がiOSだけ対応されていなかったり(2021年秋に実装予定)、角丸(boeder-radius)とマウスホバー(:hover)の併用が上手くできなかったりと、細かいところはあるんですが、おおむね代表的かつ、致命的になりかねないバグは上記ふたつでしょうね。

コーダーから嫌われていた『IE6』

背景

IE6対応は
いい思い出

この「特定のブラウザに適応させるためだけに残業や追加業務を強いられる」という部分は、かつてWindowsXPなどで使われていた『IE6』を彷彿(ほうふつ)とさせます。

コーディングやフロントエンド知識がない人からすれば、「IE6の何が悪いの? みんな使ってたじゃん」となるんですが、IE6は本当にくせ者でした。

当時のIE6全盛期のころの自分はまだ学生で、趣味でサイトを作っていたレベルでしたが、IE6のためだけに適応させる意味不明なコードなどが多々あったのを覚えています。

どのぐらい嫌われていたのかは、以下のサイト様などがわかりやすいため、興味のある方は参考にしていただければと。というか、マイクロソフト公式すらもIE6を「腐った牛乳」とボロクソに言われ、葬式まであげるレベル。

IE6がコーダーに嫌われていたなんて知らなかった|マイネ王

なぜ、Webサイト制作者からIEは嫌われてきたのか??|株式会社アイビーネット

「IE6は9年前の腐った牛乳」――Microsoftがアップグレード呼び掛け|ITmedia NEWS

IE6の“葬儀”行われる Microsoftから献花も|ITmedia NEWS

記事タイトルでは「iOSは現代のIE6かもしれない」とは書いているんですけれど、正直なところ、まだiOSのほうがマシです。そこもまた救いであり、実際、IE6ほど嫌われてはいませんからね。

ただ重ねるように、iOSのためだけにコードを最適化させる気苦労と憤(いきどお)りは変わりません。

最後に:日本のiPhoneシェアは多くないがしろにできない

背景

日本はiPhone使用率が
非常に高い

iOSってコーダーから見ると悩ましい部分が多々あり、かつてのIE6のようなことをしているんですね。しかもMacのSafari上では問題ないことも多々あることから、「おなじAppleのブラウザなのに、開発部署が別なの?」とツッコみたくなります。

これもまたIE6と似ているんですが、iOS(iPhone)の利用者は特に日本が多いため、「iOSの対応は切ればいい」と単純に言えず、ないがしろにできないのも、頭を抱えている部分です。

そのため、コーディングをするWEBデザイナーやフロントエンドエンジニアの人、またはその業界を目指す人は、サブ端末でもいいのでiPhoneの一台ぐらいは持っておいたほうがいいです。

iPhoneというか、スマホ上ではデベロッパーツール(開発者モード)が使えないため、推測上で直すしかありませんが、全くわからないという状況よりかはマシなはずですからね。

Mac環境なら、『Xcode』というアプリケーションを使用して擬似的なiPhoneの再現は可能ですが、高性能なマシンスペックが必要なため、自信がない場合はオススメしません。

どちらにせよ、AppleはiOS特有のバグを一日でも早く直してもらいたいものです。

iPhoneシェア率が異常!世界と逆をいく日本のスマホ市場【2021年5月】|bitWave

寄付のお願い

フキダシ3 ありがとう
ございます
  • 当サイトはみなさまのご支援により、広告なしの実現やサイト維持をおこなっています。

    記事や作品が気に入りましたら、支援サイトのご支援や寄付をよろしくお願いいたします。

記事・作品をシェア

https://umakose.com/notes/210821-1/

クリック・タップでコピーできます

1.シェアについて

赤竹ただきち(以下、当管理者)が運営するウマコセドットコム(以下、当サイト)の内容をシェアする場合、個人サイト・ブログ・サービス・SNSを問わず、URLなどを記載して出典元を明記ください。

明記していただければ、社会通念上の範囲内でご自由にシェアが可能です。

2.記事の引用(転載)

記事内の文章を引用される場合、URL元を明記し引用要素(blockquote)内に記載してください(なおサイト内のコピペは悪用・言い逃げ対策のため不可にしていますので、ご了承ください)。

掲示板やSNSの場合は、文頭に「>」などをつけ、オリジナルコンテンツ(コピーコンテンツ)ではないことを明確にしてください。

要約のための一部改変は、記事の意図を大幅に変えなければ可能とします。

3.キャラクターの使用

当サイトに掲載されているオリジナルキャラクターの使用は、創作性が高い非営利の個人に限り、イラスト・マンガなどに使用できます。非営利・個人の定義はこちらをご参照ください。

制作費・人件費の範囲内であれば、有償配布や支援サイトの掲載も可能としますが、AIで作成した作品で当管理者の絵だと誤認させる、有償行為をするのはご遠慮ください。

4.禁止行為

以下の行為が見られた場合は、個別のご連絡や法的処置などといった対応をとらせていただく場合があります。

A.二次利用・加工・改変

本サイトの画像・イラスト・文章・ブログレイアウトなどの悪意ある二次利用・加工・改変行為や、信用毀損・反社会的など、社会通念上問題のある目的での利用。

B.不適切な拡散

特定のキーワードや文面に反応するなど、不適切な拡散行為の禁止(誤った解釈のみならず、〈自他問わず〉いわれなき風評被害や誹謗中傷につながる恐れがあるため)。

C.誹謗中傷

当サイト・他者・企業などを誹謗中傷する目的での引用。また煽り・マウント行為といった、意見・提起・指摘ではなく、人格・風評を著しくおとしめようとする行動も含む。

5.著作権

当サイトは著作権の侵害を目的とするものではありません。

画面のスクリーンショットや二次創作物の知的所有権はそれぞれの権利者・団体に帰属しており、各利用規約を確認した上で掲載しています。

有料二次創作は権利元の創作ガイドラインを厳守するように努めていますが、問題があれば当サイトのお問い合わせよりご報告ください。

6.トラブル

当サイト記事のシェアなどが要因で発生したトラブルなどについては、一切の責任を負いかねます。あくまでも参考・一意見として扱ってください。

当管理者まで直接ご意見・ご指摘を希望される場合は当サイトのお問い合わせからご連絡願います。

制定日:2017/2/24
改定日:2023/6/5

シェア・引用の前に「規約・ポリシー」をご一読ください(同意したものとみなします)。

特定の単語・見出しで拡散、他者を誹謗中傷・マウント・バッシング目的のシェアは固くお断りいたします。

シェア内容が悪質だと判断した際、個別にご連絡を差し上げる場合があります。

社会通念上のモラルとマナーを守っていれば、こちらからご連絡をすることはございません。シェア・引用をしていただき、誠にありがとうございます。

プロフィール

    • フキダシ2
    • 赤竹ただきちTadakichi Akatake
  • 岩橋良昌氏と真木よう子氏のエアガンで撃った撃ってない論争で学ぶべきは、「大人の対応ができないリテラシーの低い人たちが、SNSをやるとどうなるか」の教訓じゃなかろうか。

    わざわざ火種になることを書く上に売り言葉買い言葉、相手を「重度の精神障害」と刺激させる弁解もいただけない。片方を鵜呑みにして当事者を人格否定するユーザーも論外。

    どちらが真実かという事実確認は第三者の外野がすべきではないとして、40過ぎた社会人同士が、大人の対応が出来ていなければSNSのリスクも理解していない事実の部分は問題ね。

    そういう人がSNSで気軽に発信できてしまうのが今の時代。自分の記事を愛読してくれてる人は、こうはならないように一緒に学んでいきたいと思う。

イラストレーター・コーダー+WEBデザイナー・ライターの京都生まれなウサギ好き。多様な絵柄を描け、外国人でも絵でわかるマンガ、ウサギと口内描写にこだわりを持つ。

コーディングとWebデザインは両方可能。案件によっては「デザインとコーディングの同時進行」の荒業もおこない、SEOを意識したマークアップも得意。

「自省・リテラシー向上・正しい批判」をライフワークとし、当サイト記事も「中学生でもわかりやすい、気づき・理解・学ぶ」を全体テーマとして執筆。

これは微力ながら閲覧者に考える・学ぶ助力のほか、自身も学ぶ目的も含み、実社会・ネット・SNSでも「わかりやすく参考になった」とご好評の声多数。

「下手でも自分の弱さを認め、自省し学び、その姿勢を相手への敬意として表すことも忘れない人」は、年齢・性別問わず好きなタイプ。

自省についての解説を読む

リテラシーについての解説を読む

正しい批判についての解説を読む