iPhone生活

iPhone向けホームページ開発

禁止事項・注意事項

避けるべき項目

  1. 容量超過
    • 2M以上のGIF/PNG/TIFF/アニメーションGIF
    • 32M以上のJPEG
    • 10MB以上のHTML/CSS/JavaScript/その他の非ストリーミングファイル
    • 処理に5秒以上を要するまたは10MB以上のメモリを要するJavaScriptプログラム
  2. プラグイン系コンテンツ(Flash/Java Applet/SVGなど)
  3. XSLT
  4. カスタムX.509証明書
  5. JavaScriptによるwindow.open以外のポップアップ
  6. JavaScriptによるwindow.alert/confirm/prompt以外のダイアログ
  7. ファイルのダウンロード
  8. によるファイルのアップロード

容量については、PC環境でストレスを感じない容量であれば満たせそうです。

Flashなどプラグイン系のコンテンツは一切対処法がないため、iPhone用のコンテンツに使用することは出来ません。 元々SEOやアクセシビリティの観点から、静的HTMLヴァージョンを用意するなどの対処が必要です。

window.showModalDialog()やwindow.print()は使用できません。

避けたほうが無難な項目

  1. フレームの使用
  2. マウスイベントのみによって操作できるメニュー
  3. ブロック要素を使用しない(段落・改行に関するHTMLマークアップの無視)
  4. CSSによるホバー設定(a:hover)

iPhoneにはスクロールバーがなく、フレームページは1ページのように表示されます。 意図しない不具合を招く可能性があるので、フレームページは避けた方が無難です。

マウスオーバーはマウスダウンに自動的に置き換えられるため、 例えばマウスオーバーでリンクを表示するメニューが行き止まりになってしまうことはありません。 しかし、直感的な操作が出来ずユーザビリティを著しく損ねる可能性がありますので、避けるほうが無難です。

iPhoneでは、ダブルタップした際にブロック要素単位で拡大する機能があるため、 ブロック要素を使ったHTMLであればこの機能に応えることが可能です。

ホバー効果は画面タップ時に起こるため、CSSによるホバーを重要な効果として使用している場合は注意が必要です。

検証 - Flash

日本の自動車メーカー「日産」のウェブサイトです。
Flashプラグインが有効なブラウザでは右写真のように見えますが、iPhoneでは左のように見えます。

検証 - ポップアップとダイアログ

上左図はwindow.openで新しいウィンドウを開いた際の反応です。狙い通り新しいウィンドウが開きます。
尚、window.openの第三引数で指定可能なウィンドウサイズやスクロールバーの有無などは無視されます。

次に上右図はwindow.alert、下左図はwindow.confirm、下右図はwindow.promptを試したものです。いずれも期待通りの反応です。
これらのダイアログは、

などで問題なく動作します。また、ダイアログの文字列はShift_JIS、EUC-JP、UTF-8共に文字化けはありませんでした。

検証 - ダウンロード

上左図はEXE/WMV、上右図はDOC、下左図はMP3、下右図はPPTのリンクをタップした際のレスポンスです。
以下に推測を交えてまとめます。

項目 レスポンス
iPhoneのPDFマニュアル記載の
メール添付で取り扱い可能なファイル
jpg/gif/tiff
doc/docx
key
numbers
pages
pdf
ppt/pptx
txt
vcf
xls/xlsx
ビューアーがあるため、ビューアーを起動して閲覧可能(doc/pdf/ppt/txt/xlsのみ検証)
Safari Web Content Guide for iPhone記載の
マルチメディアファイル
3gp/3gpp
3g2/3gp2
aiff/aif/aifc/cdda
amr
mp3/swa
mp4
mpeg/mpg/mp3/swa
wav/bwf
m4a
m4b
m4p
3gp/3gpp
3g2/3gp2
mp4
mov/qt/mqv
m4v
マルチメディアプレーヤーを起動し閲覧可能(3gp/mp3のみ検証)
その他 EXE
WMA/WMVなど
警告ウィンドウが表示され閲覧不可能

検証 - アップロード

を使用してみると、上図のように予めクリックできないボタンが表示されました。

検証 - フレームサイト

PCブラウザで表示したフレームは、右図のように既定サイズで右側にスクロールバーが表示されます。 一方iPhoneでは、左図のようにスクロールバーが表示されない代わりにフレームの中身を全て表示します。

検証 - マウスオーバー

MENU1にマウスを当てることでSUBMENU1~4を表示させる簡単なJavaScriptでテストをしました。
指を近づけても当然何の反応もありませんが、iPhone用Safariがマウスオーバーイベントをマウスダウンイベントに変更するため、 タップすることでSUBMENUを表示することが出来ました。

検証 - ダブルタップによるブロック拡大機能

上左図のようなdivブロック構造で、グレーの部分をダブルタップすると上右図のように拡大されます。ディスプレイ上にグレーの部分の全体が表示されます。
同様に緑の部分をダブルタップしてみると、下左図のように緑の部分を中心に拡大されたため、グレーの部分の左端が画面から切れています。

Copyright © ipn3g.com, All Rights Reserved.