スマホ・モバイル講座

携帯サイトのDOCTYPEについて

2011年2月9日

携帯サイトのDOCTYPEについて

docomo、au、softbankの携帯端末に対応したXHTMLを作る際、DOCTYPEの宣言の違いに注意する必要があります。

現在、キャリアごとに推奨されているDOCTYPEの宣言が異なります。

docomo
例:Compact HTML(CHTML)用のDOCTYPE
<!DOCTYPE HTML PUBLIC "-//W3C//DTD Compact HTML 1.0 Draft//EN">
例:iモード対応XHTML 1.0用のDOCTYPE
<!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/1.0) 1.0//EN" "i-xhtml_4ja_10.dtd">
au
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">

※参考:XHTML Basicの基本

softbank
<!DOCTYPE html PUBLIC "-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN" "xhtml-basic10-plus.dtd">

※参考:XHTMLとCSSによる携帯サイト制作

ただし、現状の携帯端末の表現能力ではDOCTYPEによる表示の差異はほとんどないので、XHTML Mobile Profile、もしくはXHTML 1.0 Transitionalに準拠したDOCTYPEを3キャリア共通で宣言しても実用上は問題ありません。

XHTML Mobile Profile、XHTML 1.0 Transitionalに準拠したDOCTYPEの宣言は下記のとおりです。

XHTML Mobile Profile 1.0
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml">
XHTML 1.0 Transitional
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">

docomoのXHTML対応は注意が必要です。docomoの場合はCSSの記述はインラインのみが対応となっているので、外部CSSが使えません。 また、機種側にXHTMLモードを認識させるには、Content-Typeを指定する必要があります。 参考:http://www.nttdocomo.co.jp/service/imode/make/content/html/notice/basis/#p05

.htaccessなどで下記のようにContent-Typeの設定を行えます。

AddType application/xhtml+xml .htm .html

phpなどの動的コンテンツでは、HTTPヘッダを出力する必要があります。

header("Content-type: application/xhtml+xml;charset=Shift_JIS");

ご参考までに、3キャリア対応のXHTMLテンプレートは次の通りです。

<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" />
</head>
<body>
</body>
</html>

XHTML Mobile Profile 1.0がXHTML Basic1.1に統合されましたが、当分は各キャリアの対応待ちとになるので、しばらくは上記のような方法で問題ないと思います。

参考

Comment

コメントを残す

メールアドレスが公開されることはありません。

リズムファクトリーはホームページの制作会社です。
ホームページ制作に関するご要望・ご相談はこちらからどうぞ。