W3Cのモバイル・ウェブのガイドライン
2006年6月
2006年6月27日にWorld Wide Web Consortium (W3C)は、携帯機器上での Web 利用をパソコン上での利用と同等に使い易くするという使命の実現に向け、重要な段階に達したと発表している。W3C はこの指針の技術内容に対する広範な合意に基づき、Mobile Web Best Practices 1.0 を勧告候補として公開した。以下はhttp://www.w3.org/TR/2006/CR-mobile-bp-20060627/の60項目からなるリストのみを翻訳したものである。不明の箇所や詳細は英文の本文を参照されたい。
このガイドラインで使っているデフォルトのコンテント提供コンテキストは以下のようである:
·
使用可能スクリーン幅:
120 Pixels, minimum.
·
マークアップ言語サポート:
XHTML - Basic Profile [XHTML-Basic]
·
文字エンコーディング:
UTF-8 [UTF-8]
·
イメージ・フォーマットのサポート:
JPEG
GIF 89a (インターレス、トランスペアレント、アニメーションはなし)
·
最大ページ・サイズ:
20kB
·
色:
Web safe(Web
safeカラーは0,
51, 102, 153, 204,及び255の値のみからの赤/緑/青の要素からなる)
·
スタイル・シート・サポート:
External CSS Level 1 [CSS].
·
HTTP:
HTTP/1.0 [HTTP1.0] あるいはそれより新しい[HTTP1.1].
1.
テーマの一貫性:あるURIをアクセスして得られるコンテントは、異なった各機器からアクセスしたときに、テーマ的に一貫した経験を与えるものであること(いろんな機器でもアクセスできるOne
Webの原則に立つ)
2.
能力:強化されたユーザ経験を与える為に機器の能力を活かす(デフォルトのコンテキストを目標にしながらも、より良いユーザ経験の為に機器の持つ能力を活かすことを考える)
3.
相違:不十分な実装を回避する為に妥当なステップをとる(いろんなブラウザに対応できていることを確認する)
4.
テスト:エミュレータと共に実際の機器でテストをする
5.
URI:入口のURIは短くする(http://www.example.org/index.htmlでなく"http://example.org"を、www.example.org/example.htmlでなく"example.org/example"をタイプすれば良いようにサイトを設定する)
6.
ナビバー:そのページのトップに最低限のナビゲーションを置く(2次的なナビゲーションがどうしても必要なときはそのページの一番底に置く)
7.
バランス:あるページでリンクを張りすぎることと、ユーザが探しているものに達するのにリンクを辿りすぎることのバランスを念頭に置く
8.
ナビゲーション:一貫したナビゲーションのメカニズムを提供する
9.
アクセス・キー:ナビゲーション・メニューと頻繁にアクセスされる機能へのリンクにアクセス・キーを割当てる
10. リンク・ターゲット:各リンクのターゲット(行き先)をユーザが明確に特定できるようにする
11. リンク・ターゲットのフォーマット:該機器がサポートしていることがわかっているとき以外は、ターゲット・ファイルのフォーマットを表示する
12. イメージ・ファイル:該機器が効率的にこれをサポートしている事が分っているとき以外はイメージ・マップは使わない
13. ポップ・アップ:ポップ・アップや他のウィンドウを出さないようにし、またユーザに伝えることなくウィンドウを変えない
14. 自動リフレッシュ:ユーザにこれを伝え、またこれをサポートする手段を与えない限り、定期的にリフレッシュするページはつくらない
15. リダイレクション:ページを自動的にリダイレクトするのにマークアップをつくらない。そうではなくてHTTP
3xxコードでリダイレクトするようサーバを設定する
16. 外部リソース:外部にリンクされたリソースの数を最小に保つ(あるページ内のイメージの数を最小にし、スタイル情報をページあたり単一のシートに統合する)
17. 適正:該コンテントがモバイルのコンテキストで使ったときに適正なものであるようにする(モバイルのユーザはブラウジングではなく特定の情報を探していることが多いので、それを先ず見せる)
18. 明確性:明確で簡単な文章を使う
19. 限定:ユーザが要求したコンテントに限定する
20. 使えるページ・サイズ:使えるが限定されたサイズの部分にページを分割する
21. ページ・サイズの制限:ページの全体サイズが該機器のメモリ制限内で適正であるようにする
22. スクロール:2次的スクリーンが避けられないとき以外はスクロールは一方向のみに制限する
23. 中心の趣意:そのページの趣意の中心となるものをそうでない要素に優越させる
24. スペーシングの為のグラフィックス:スペーシングの為にグラフィックスは使わない
25. 大きなグラフィックス:該機器が解釈できないイメージは使わない。大きいいマージや高分解のイメージはそうしなければ大事な情報が失われる場合を除き使わない
26. 色の使用:色付きで送られた情報が色無しでも利用できるようにする(色でハイライトさせてもユーザには見えないことがある)
27. 色のコントラスト:前方及び背景の色の組合せが充分なコントラストが得られるかを確認する
28. 背景イメージの解読性:背景イメージを使ったときは該機器でコンテントがきちんと読めること
29. ページ・タイトル:短いものの適切に記述されたページ・タイトルをわたす
30. フレーム無し:フレームは使ってはいけない
31. 構造:論理的なドキュメント構造を示すのに、マークアップ言語の機能を使う
32. テーブルのサポート:該機器がサポートしていることが分っているとき以外はテーブルは使わない
33. ネストしたテーブル:ネストしたテーブルは使わない
34. テーブル・レイアウト:レイアウトの為にテーブルを使わない
35. テーブルの代替物:可能な場合は、タブ的表現の為に代替手段を使う
36. 非テキストの代替物:各非テキスト要素に等価なテキストを与える(テキスト・オンリーで解釈された時もつかえるようページをデザインする)
37. オブジェクトまたはスクリプト:組み込みオブジェクトまたはスクリプトは使わない
38. イメージのサイズ指定:固有なサイズを持っているときはマークアップでイメージのサイズを指定する(img要素でheightとwidth属性を指定)
39. イメージのリサイズ:固有サイズがある場合はサーバでイメージのサイズを変える
40. 有効なマークアップ:出版されている公式の文法に適合したドキュメントを作る(無効なマークアップは意図せぬ結果をもたらす)
41. 寸法:ピクセルによる尺度は使わない。マークアップ言語の属性値とスタイル・シートのプロパティ値に絶対値を使わない
42. スタイル・シートの使用:該機器がサポートしないことが判っているとき以外は令アオウトとプレゼンテーションのコントロールにスタイル・シートを使う
43. スタイル・シートのサポート:ドキュメントをオーがナイズして必要ならスタイル・シート無しでも読めるようにする
44. スタイル・シートのサイズ:スタイル・シートは常に短くする
45. 最小化:簡素で効率的なマークアップを使う
46. コンテント・フォーマットのサポート:該機器がサポートしていることがわかっているフォーマットでコンテントを送る
47. 推奨コンテント・フォーマット:可能であれば推奨フォーマットでコンテントを送る(一部の機器はacceptヘッダを送らない、一部の機器は自分の能力を正しく送らない、一部の事業者のゲートウェイは自分が受付けるフォーマットを含めたacceptヘッダを送ってしまう、User
agentヘッダは必ずしも該機器をユニークに特定しない、UAProf情報が得られないか不完全である、などの問題が良く提起されている)
48. 文字エンコーディングのサポート:該機器がサポートしていることがわかっている文字エンコーディングで該コンテントが必ずエンコードされているようにする
49. 文字エンコーディングの使用:その文字エンコーディングが使われていることを応答のなかで示す(HTTPの応答ヘッダのContent-Type:
text/html; charset=utf-8及びXML指定の<?xml
version="1.0" encoding="UTF-8"?>など(HTTPヘッダで指定されているときは通常無視される)で指定する)
50. エラー・メッセージ:きちんと情報が伝わるエラー・メッセージと、そこから使える情報に戻る為の手段(バック、リトライ、ホームなど)を与える
51. クッキー:クッキーに依存しない(多くの携帯電話機はクッキーを蓄積しないし、ゲートウェイの一部はクッキーのヘッダ行を外してしまう)
52. キャッシング:HTTP応答のなかでキャッシング情報をわたす(Cache-Control:
publicなど)
53. フォント:フォントに関連するスタイルのサポートに頼らない
54. キー入力の数の最小化:キー・ストローク数を最低に保つ
55. フリー・テキストを避ける:できる限りフリーなテキスト入力を避ける
56. デフォルトを設定する:できる限り予め選定したデフォルト値を提供する
57. デフォルト入力モード:該機器がサポートしていることがわかっているときは、デフォルトのテキスト入力モード、言語、及び/あるいは入力フォーマットを指定する。
58. タブ順序:リンク、フォーム指定、及びオブジェクトによって論理的な順序をつくる
59. コントロールのラベリング:総てのフォーム・コントロールに適正且つ明示的に関連したラベルをつける
60. コントロール位置:それが参照するフォーム・コントロールに関連させて適正にレイアウトされるようラベルを配置する