SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

そこが知りたい! Web標準サイトの活かし方

「携帯ゲーム機用Webページ」の作り方

そこが知りたい!Web標準サイトの活かし方(7)

ニンテンドーDSシリーズ用ページの作り方

 DSシリーズならではの特徴を押さえたところで、DSシリーズ向けのWebページの作り方を紹介します。ポイントは、縦長/タテ長モードを基本とし、2つの画面モードに対応することです。

画面サイズ

 DSシリーズの液晶画面の解像度は、上下画面それぞれ256×192pxですが、DSブラウザ/DSiブラウザでの有効な表示領域は、画面モードによって異なるので注意しましょう。

 2画面モード/通常表示のとき、拡大画面の表示領域は256×176pxで、縮小画面は、768×528px(拡大画面を縦横に3つ並べた分が1画面)となっています。

 縦長/タテ長モードでは、上下画面共に240×176pxで、合わせて240×352pxとなっています。

図2 画面モードと画面サイズ
図2 画面モードと画面サイズ

 縦長/タテ長モードで、CSSのメディアタイプ「handheld」を指定した場合、Small Screen Rendering(以下SSR、注1)は適用されないため、幅240ピクセルを超えると横スクロールしてしまいます。そこで、「max-widthプロパティ」で最大幅を指定してあげると親切です。また、画像も幅240pxサイズより小さくして表示させることができます。サンプルでは、全体を囲むID名「wrapper」のdiv要素に最大幅240pxを指定、img要素に最大幅180pxを指定しています。

注1

 SSRとは、一般のWebページを携帯電話のような小さな画面で横スクロールすることなく表示できるようレイアウトし直す技術を言います。

[リスト1]max-widthプロパティで最大幅240pxを指定
div#wrapper { max-width: 240px; }
img {max-width: 165px; }

2画面モード/通常表示に対応する

 2画面モード/通常表示では、PC用Webブラウザと同じように、メディアタイプ「screen」に指定されたCSSを読み込みます。PCのWebページとほぼ同じようにレンダリングされるため、アクセシビリティ的なポイントさえ押さえておけば、さほど気を使う必要はありません。

 PC用ブラウザとほぼ同じとは言え、動画や音声、FlashやPDFなど、DS/DSiブラウザが対応していないものについては、部分的に表示されません。また、製品の仕様上、画像を多用したページは快適に表示できない場合があります。そのため、画像表示をオフに設定しているユーザーもいます。これらのコンテンツが表示されなくても支障のないよう、代替手段を用意しておきましょう。アクセシビリティ的なポイントとは、例えば「画像にはalt属性で代替テキストを付ける」といった基本的なことです。

[リスト2]alt属性で代替テキストを提供する
<img src="sample.jpg" width="200" height="150" alt="サンプル写真" />

縦長/タテ長モードに対応する

 縦長/タテ長モードでは、WebページをDSの画面に収めることが優先され、自動的に独自のレイアウトに変換されるので注意が必要です。例えば、tableタグや幅や高さを指定したCSSなどが独自レイアウトに変換されることがあります。

 これは、OperaのSSR技術が使われているためです。SSRが適用されると、CSSが反映されず、悪戦苦闘することになりがちです。CSSを適用するには、メディアタイプを携帯電話やPDAなどと同じ「handheld」にします。するとOperaはそのページが携帯デバイス用に最適化されていると認識し、SSRを適用しなくなり「handheld」のCSSが有効になります。

[リスト3]メディアタイプを「handheld」に指定し、CSSを有効にする
<link rel="stylesheet" href="ds.css" media="handheld" type="text/css" />

十字ボタンとAボタンの制御

 DS/DSiブラウザの操作は、タッチペンで気軽にインターネットが楽しめるようになっています。また、十字ボタンでスクロール、Aボタンで選択したリンクの決定というように、ボタンを使った操作も可能となっているのが特徴です。十字ボタンは、テンキーの上下左右、AボタンはEnterキーに対応しており、JavaScriptを利用してイベントとして取得できます。上ボタンは38、右は39、下は40、左は37、Aボタンは13となっています。

十字ボタンとAボタンのKey系イベント対応表
ボタン 番号
38
39
40
37
A 13

次のページ
プレイステーション・ポータブル用ページの作り方

この記事は参考になりましたか?

そこが知りたい! Web標準サイトの活かし方連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 宮本麻矢(ミヤモト マヤ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5223 2010/06/29 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー