機種依存について

概要

ここでは、機種に依存した動作について記述します。

docomo
SoftBank
au
WILLCOM
EMOBILE
全キャリア共通

docomo

TABLEタグの表示について

表示されるテーブルが、画面横幅より大きい場合、画面横幅のサイズに自動で縮小されます。
そのため自動縮小される際に、セル内の文字が重なり、端末での表示が乱れる場合があります。

<表示例(テスト端末:SH902i)>

TABLEが、画面横幅に収まっている場合 TABLEが、画面横幅を
オーバーしている場合
※画面横幅に自動縮小されることにより、セル内の文字が重なっている。

N2002

  • <ol><li> でリストを作成したとき、途中で <li type="a"> と指定した場合に指定した箇所以降が全てアルファベットに変わります。
  • <h> のサイズ指定は不可ですが、h6 だけ縦に短く横に長いフォントで表示されてしまいます。
  • 画像1枚あたりのファイルサイズが 20KB となっています。

P2102V

  • <img> の align="center" には対応していません。("middle"は対応)

F671i

  • <ol><li> でリストを作成したとき、途中で <li type="a"> と指定した場合に指定した箇所以降が全てアルファベットに変わります。

N503i

  • <ol><li> でリストを作成したとき、途中で <li type="a"> と指定した場合に指定した箇所以降が全てアルファベットに変わります。

P506iC

  • Flash内で 20px未満のフォントは 20px で表示されたり、表示されない場合があります。

NM706i

  • <input> の maxlength は byte数ではなく文字数換算になります。

HT-03A

  • mailto の本文内で記述した改行部分(%0D%0A)はメーラー上では「□」で表示されます。
  • ページ内に <a>~</a> タグだけしかない場合、タッチ以外の操作でリンクを選択できない場合があります。
  • 約950KBのルートドキュメントを表示し、しばらくブラウザを操作していると強制終了することがあります。

SH-10B

  • ページ内に <a>~</a> タグだけしかない場合、タッチ以外の操作でリンクを選択できない場合があります。
  • 約950KBのルートドキュメントを表示し、しばらくブラウザを操作していると強制終了することがあります。

Xperia

  • mailto の本文内で記述した改行部分(%0D%0A)はメーラー上では「□」で表示されます。

GALAXY S

  • "¥" は "\" で表示されます。

GALAXY Tab

  • "¥" は "\" で表示されます。

BlackBerry 8707h

  • CSSの一部が無効なため、画像絵文字が表示できません。

BlackBerry Bold 9700

  • リンクの文字色を指定しても、マウスオーバーすると、青字になります。

SoftBank

<img sizeFix>

SoftBankの一部の端末ではファイルサイズ的には端末のキャッシュサイズに収まるにも関わらず表示できない画像というものが存在します。
一般には品質が低いJPEG画像でこのような現象が発生しますが、このようなJPEG画像は<img sizeFix>を用いると容易に生成されてしまいます。SoftBankの一部の端末で画像が表示されないという現象が発生しないように<img sizeFix>を用いるのであれば、同時にframeRatio属性などで画像の大きさを制限しておくなどの工夫が必要になります。

リクエストURIのクエリ名

SoftBankでは下記に示す文字列をクエリ名として予約していますので、下記に示す文字列をクエリ名に使用することは推奨しません。

  • pid
  • sid
  • uid
  • nl
  • cl
  • jskyで始まる任意の文字列
  • prc
  • cnt
  • reg
  • gid
  • rpid
  • rsid
  • vsekey
  • vsernk

また、下記に示す文字列もクエリ名として使用しないことを推奨します。

  • lid
  • ol
  • pl

なお、クエリ名は大文字小文字の区別をしません。例えばpidであれば、piD,pId,pID,Pid,PiD,PId,PIDもクエリ名として予約されていることになります。

TABLEタグの入れ子について

SoftBank端末では、TABLEタグの入れ子は5個までに制限されています。
それ以降のTABLEタグに関しては、セル内の情報を含め削除されます。

<テーブルの表示例>

通常の表示 SoftBank端末での表示

<table border="1"><tr><td>テーブル1

<table border="1"><tr><td>テーブル2

<table border="1"><tr><td>テーブル3

<table border="1"><tr><td>テーブル4

<table border="1"><tr><td>テーブル5

<table border="1"><tr><td>テーブル6

</td></tr></table>

</td></tr></table>

</td></tr></table>

</td></tr></table>

</td></tr></table>

</td></tr></table>

<table border="1"><tr><td>テーブル1

<table border="1"><tr><td>テーブル2

<table border="1"><tr><td>テーブル3

<table border="1"><tr><td>テーブル4

<table border="1"><tr><td>テーブル5

<table border="1"><tr><td>テーブル6

</td></tr></table>

</td></tr></table>

</td></tr></table>

</td></tr></table>

</td></tr></table>

</td></tr></table>

※赤字の部分が削除され出力される。

テーブル1
テーブル2
テーブル3
テーブル4
テーブル5
テーブル6
テーブル1
テーブル2
テーブル3
テーブル4
テーブル5

VGA端末での表示

VGA端末(キャッシュサイズ500KBの機種)ではブラウザの表示領域を QVGA/VGA で切り替えることができます。
切り替え指定は<meta>タグによる指定で行われますが、コンテンツ内に記述が無い場合は「VGA」モードになります。

このため元コンテンツをQVGAでデザインしている場合は画像や文字が小さく表示されることがあります。

これを回避するために元コンテンツには以下のように QVGA/VGA を明確に指定しておくことを推奨します。

<meta name="disparea" content="qvga">

702NK

  • mailto の subjectパラメータ及び bodyパラメータに2バイト文字を記述した場合、文字化けが発生します。
  • <table> の枠線が表示されません。
  • hr style="border-color:~" には対応していません。
  • hr style="float:~;" には対応していません。

703N

  • textarea 要素に埋め込んでいる文字列の最後の文字が改行の場合、埋め込んでいる文字列内の改行数 * bytes 分の文字列が文字列の末端から削除されます。
  • <marquee> に <span style="background-color:char;"> を指定しても反映されません。
  • hr style="border-color:~" には対応していません。
  • hr style="float:~;" には対応していません。

705NK

  • hr style="border-color:~" には対応していません。

702MO

  • <span style=""> での文字装飾には対応していません。
  • mailto の記述は URLエンコードすると文字化けを起こすので Shift_JIS のままで記述する必要があります。
  • wap-marquee には対応していません。
  • text-decoration:blink; には対応していません。

802N

  • textarea 要素に埋め込んでいる文字列の最後の文字が改行の場合、埋め込んでいる文字列内の改行数 * bytes 分の文字列が文字列の末端から削除されます。
  • hr style="border-color:~" には対応していません。
  • hr style="float:~;" には対応していません。

802SE

  • <body background=""> で表示される背景画像は1枚だけとなります。
  • <img> の vertical-align:middle; に対応していません。

802SH

  • textarea 要素に埋め込んでいる文字列の最後の文字が改行の場合、埋め込んでいる文字列内の改行数 * bytes 分の文字列が文字列の末端から削除されます。
  • hr style="border-color:~" には対応していません。
  • hr style="float:~;" には対応していません。

902T

  • <body background=""> で表示される背景画像はテキストなどが表示される部分だけに反映されます。
  • <marquee> に alternate を指定した場合、文字が画面内でバウンズせず一旦画面外に出てから戻ってくる動作になります。

902SH

  • textarea 要素に埋め込んでいる文字列の最後の文字が改行の場合、埋め込んでいる文字列内の改行数 * bytes 分の文字列が文字列の末端から削除されます。
  • hr style="border-color:~" には対応していません。
  • hr style="float:~;" には対応していません。
  • Flash内で 11px 以下のフォントは表示できません。

iPhone

  • iOS 4 以下では "¥" は "\" で表示されます。
  • iOS のバージョンにより input type="number" の挙動が異なります。
    iOS 5 では入力された値が「0」(ゼロ)で始まる数値の場合、先頭の「0」が削除されます。
    iOS 4 まで iOS 5
    入力値 0123456789 0123456789
    入力完了後の表示 0123456789 123,456,789
    実際に送信される値 0123456789 123456789

au

TABLEタグの表示について

auの XHTML Basic 機では、表示されるテーブルが画面横幅より大きい場合、表示が乱れる場合があります。

<表示例(テスト端末:W47T)>

TABLEが、画面横幅に収まっている場合 TABLEが、画面横幅を
オーバーしている場合
※左画像のソースに、列を一つ追加し、同端末同環境で閲覧した画像

TABLEタグの入れ子について

auの XHTML Basic 機では、TABLEタグの入れ子を許容していません。
TABLEタグを入れ子で記述した場合、一番外側のTABLEタグ以外の情報は全て削除されます。

<テーブルの表示例>

通常の表示 SoftBank端末での表示

<table border="1"><tr><td>テーブル1

<table border="1"><tr><td>テーブル2

<table border="1"><tr><td>テーブル3

</td></tr></table>

</td></tr></table>

</td></tr></table>

<table border="1"><tr><td>テーブル1

<table border="1"><tr><td>テーブル2

<table border="1"><tr><td>テーブル3

</td></tr></table>

</td></tr></table>

</td></tr></table>

※赤字の部分が削除され出力される。

テーブル1
テーブル2
テーブル3
テーブル1

INPUTのvalue値に"$"をセットする場合について

x-Servletでは全てのau端末に対して<input>や<textarea>などのvalue値に"$"の文字を含まれていた場合は"$$"に変換します。

コンテンツ例

<input type="text" name="text01" maxlength="8" value="$10-">

<input type="hidden" name="key" value="$keyword$">

変換結果

<input type="text" name="0" maxlength="8" value="$$10-">

<input type="hidden" name="1" value="$$keyword$$">

auの古い端末では"$"をvalue値にセットして表示させる場合にエスケープする必要がありますが最近の端末ではそのまま"$$"と表示されてしまいます。
この場合はコンテンツサーバ側でvalse属性に"$"を含めた文字をセットする際に"&#36;"としてください。

コンテンツ例

<input type="text" name="text01" maxlength="8" value="&#36;10-">

<input type="hidden" name="key" value="&#36;keyword&#36;">

変換結果

<input type="text" name="0" maxlength="8" value="&#36;10-">

<input type="hidden" name="1" value="&#36;keyword&#36;">

これにより"&#36;"がそのまま出力され、端末上では"$"と表示されます。

このエスケープ処理が必要となるタグ、属性は以下の通りです。

  • <textarea>タグ
  • <input>タグ
    • text属性
    • password属性
    • hidden属性
    • submit属性
    • reset属性

変換される絵文字の違いについて

auの XHTML Basic 機では、世代によって表示できる絵文字が異なります。
x-Servletでは端末ごとに表示できる絵文字の出し分けを行っています。


端末 変換される絵文字の範囲
A3015SA 絵文字番号:1 ~ 334
A3011SA
A3012CA
A3013T
A3014S
C3001H
C3002K
C3003P
絵文字番号:1 ~ 334、500 ~ 518
上記以外の端末 絵文字番号:1 ~ 822

※対応していない絵文字は pictogram.xml の "ALT" に設定されているテキストキャラクタに変換されます。

W11K

  • wap-marquee-dir:rtl; を左から右、ltrを右から左に流れる解釈になります。無指定の場合は右から左となります。

W21H

  • hr color には対応していません。
  • wap-marquee-dir:rtl; を左から右、ltrを右から左に流れる解釈になります。無指定の場合は右から左となります。

X06HT

  • mailto の本文内で記述した改行部分(%0D%0A)はメーラー上では「□」で表示されます。

IS01

  • ページ内に <a>~</a> タグだけしかない場合、タッチ以外の操作でリンクを選択できない場合があります。
  • 約950KBのルートドキュメントを表示し、しばらくブラウザを操作していると強制終了することがあります。

IS03

  • mailto の本文内で記述した改行部分(%0D%0A)はメーラー上では「□」で表示されます。

WILLCOM

TABLEタグの表示について

WILLCOM機では、端末ごとの表示モード(ケータイモード、スモールスクリーンモード、フルスクリーンモード)によりTABLEタグの表示が異なります。以下に、端末ごとの対応表を記します。

<TABLEタグ対応表>

端末名 TABLEタグの表示
WX310J
WX310SA
WS003SH※
WS004SH※
※PCと同じ扱い
全ての表示モードで正しく表示される。
WX300K
WX310K
AH-K3001V
AH-K3002V
表示モードが、フルスクリーンモードならば表示される。
AH-J3001V
AH-J3002V
AH-J3003S
どの表示モードでも、正しく表示されない。
x-Servletでは、TABLEタグを削除して出力する。

表示モードの違いについて

セル1 セル2 セル3 セル4 セル5 セル6 セル7 セル8

上記のようなコンテンツを閲覧する場合、
表示モードが「ケータイモード」、「Smart-Fitモード」、「デスクトップモード」の設定次第で、表示が異なります。

表示モードが「ケータイモード」または「Smart-Fitモード」の場合、画面端を超えると上の画像のように、自動的に改行され表示されます。 表示モードが「デスクトップモード」の場合、画面端を超えても改行されずに、スクロールバーが表示されます。

TABLEタグの属性について

WILLCOM端末は、docomo端末の実装に準じているため、「FRAME」「CELLPADDING」「CELLSPACING」の属性は削除され出力されます。

9(nine)

  • <table> の有効無効が設定可能です。

WX220J

  • <ol><li> でリストを作成したとき、途中で <li type="a"> と指定した場合に指定した箇所以降が全てアルファベットに変わります。

WX320T

  • 画像の後は文字が回りこみません。
  • hr width が効きません。
  • img hspaceが効きません。

WX340K

  • 画像の後は文字が回りこみません。
  • hr width が効きません。
  • img hspaceが効きません。

EMOBILE

H11T

  • <img> の vertical-align:middle; に対応していません。

H11HW

  • submit と reset が存在する入力フォームで submit を押すと reset も飛んでしまいます。

H12HW

  • <marquee> に alternate を指定した場合、文字が画面内でバウンズせず一旦画面外に出てから戻ってくる動作になります。
  • <select> の multiple属性には対応していません。
  • mailto での bodyパラメータの指定に対応していません。
  • submit と reset が存在する入力フォームで submit を押すと reset も飛んでしまいます。
  • css で background-image には対応していますが、背景画像の表示が崩れます。

H31IA

  • wap-marquee には対応していません。

全キャリア共通

<input>タグのmaxlength属性の扱い

入力文字数を指定する maxlength属性は docomo、WILLCOM では「入力バイト数」を表し、その他のキャリアでは「入力文字数」となっており扱いが異なります。
半角文字を入力する際は問題になりませんが、全角文字を入力したい場合は入力できる文字数が異なってしまいます。

この問題に対してx-Servletでは、<input> タグの halflength属性で対応しています。

TOP