レスポンシブ対応でWeb制作することが多くなった。
だがしかし、一般的に使われる「レスポンシブWebでデザイン」というフレーズに違和感を覚えている。
その実態は「ひとつのHTMLファイルで、ビューポートをセットして、CSSのメディアクエリーである横幅サイズをPCとスマホ用の起点として見た目を切り替えること」を指すケースがほとんどだからだ。
本来の「レスポンシブWebデザイン」とは、幅広いデバイス(たとえばスマホやタブレット、デスクトップ)に対して、見た目や操作性が最適化されたウェブデザインの手法のことである。
極端なことを言ってしまえば、メディアクエリを使わずにHTMLファイルを用意して、どのデバイスからのアクセスか判別して出し分けることも、立派な「レスポンシブWebデザイン」のはずだ。
イーサン・マルコッテは、A List Apartの2010年5月の記事で、レスポンシブウェブデザイン (Responsive Web Design, RWD) という用語 (フルードグリッド、フレキシブルイメージ、メディアクエリを意味すると定義) を新造した。
Wikipedia「レスポンシブウェブデザイン」の記事内から抜粋
なるほど。「メディアクエリ」だけでなく、「フルードグリッド」「フレキシブルイメージ」も含まれてしっくりきた。
そもそも彼は「デスクトップやスマホだけでなく、それ以外のデバイス別にコンテンツを用意したとして、それらすべてをサポートしつ続けることができますか?」と問題提起している。
その解決手段のひとつとして「メディアクエリ」の利用を提案。
彼は、(当時)デスクトップでの閲覧を想定した固定ではないフレキシブルなデザインだけでは、今後の対応は足りないと危惧。その例としてスマホを取り上げ、メディアクエリーを用いた実装例が紹介されている。
記事元:Responsive Web Design · An A List Apart Article
重要なポイントは、2つあると思う。
利用側は、どのように閲覧するかは様々(たとえば、スマホ、タブレット、デスクトップ、印刷物など)であることが前提。
また、イーサン・マルコッテの記事の最後には、こうも書かれている。ユーザーの目的によってはデバイスごとに異なるコンテンツを提供するほうがよいケースもあるかもしれない。それはつまり、「フルードグリッド」「フレキシブルイメージ」「メディアクエリ」のデザイン手法以外のことも考える必要がある、ということだ。
「メンテナンス」が煩雑しないようにする手段の一つとして「メディアクエリー」が紹介されているわけだが、もし「メディアクエリー」を使わなくても、利用側にとって「見やすい・使いやすい」ことを担保しつつ「メンテンナス性」が向上するなら?
常に課題意識として持ち合わせるべきだと思う。
WordPressのような容易にコンテンツをカスタマイズできるCMSの普及によって選択肢は増えている。
イーサン・マルコッテの記事に紹介された「手法」を指すか、「マインド」を指すかで捉え方は変わる。
「フルードグリッド」「フレキシブルイメージ」「メディアクエリ」のデザイン手法を用いて制作すること。
「幅広いデバイスに対して、運営側・利用側の双方にとって最適化する」にフォーカスし、それを解決すること。
現場では、スマホでもPCでもそれなりに見えることを「レスポンシブに対応している」と言われる。違和感を感じたとしても、一旦受け入れ、レスポンシブWebデザインとしては「フルードグリッド」「フレキシブルイメージ」「メディアクエリ」の考えを持って返答する。このスタイルがもっともスマートでスペシャルで、みんながハッピーだと思います。
どんなデザイン手法を用いたとしても、忘れてはならないのは、それは「ユーザーにとって最適か」どうかということ。
たとえば、iPhoneで考えてみる。iPhone 5/7/7 Plus。それぞれ異なる解像度のデバイスだ。たとえばどのような見せ方が「最適」なのだろう?
解像度が大きいほど情報量を多く見せるのがいいのか、どのデバイスも同じ比率で見せるのがいいのか、とか。縦向き、横向きは?とか。
もちろんターゲット・ユーザーと提供する内容によって、答えは異なる。
あらゆるデバイスや閲覧の仕方にひとつずつ「最適化」しましょう、という話しではなく、費用対効果と運用面に配慮し「ターゲット・ユーザー」を明確にイメージしましょう、ということ。
デザインする場合はもちろん、デザインをコーディングする場合においても、「ターゲット・ユーザー」を意識しながら制作することは、より良い成果物につながります。
ソフマップで、MacBook Air Mid 2013 を中古で購入した。なつかしのOS X Lion。だがしかしッ!工場出荷時に初期化してアップデートしよう・・・
外部のAPIを利用する際、リクエスト回数が制限されることがある。また、リクエスト回数が制限され、かつ毎日更新をルールとする外部のAPIもある。 そんなと・・・
インスタに投稿した画像を自動でホームページでも更新されるようにしたい。もっとも簡単に実現する方法を紹介する。 公式リファレンスInstagram・・・
このたび、ハンドメイドアクセサリー作家さんのWebサイト制作させていただきました! Sunny Side Accessory(サニーサイド アクセサリー・・・
5年くらい前に購入した書籍「インタラクションデザイン」。この書籍内ではたくさんの事例が紹介されている。残念ながらその多くは現在閲覧することができなくなっていた・・・
WordPressを自作する上でもはや欠かせないプラグインの一つが、「Advanced Custom Fields」。 名前を変更しようと思って、Wor・・・
配列の場合 /** * 配列の重複を削除する * * @param {array} ary* * @return {array} 処理後のary・・・
5年以上前と比べると、アップデートが簡単で驚く。とくに記事にするまでもないと思いつつ、一応備忘録。 インストールすると、既存のディレクトリはそのままに別・・・
プラグインを更新中に、誤って、違うページにアクセスしまいました。すると、管理画面だけでなく、公開中のすべての画面が「briefly unavailable f・・・
Gulp。いつもは正常に動いている環境をそのままコピーして再利用するようにしている。そうすることで、案件ごとに毎回環境作りをする手間を省くことができ、何よりG・・・
めっちゃ参考になるページを見つけた。 絞り込みをするたびに色々ググっていたが、これがあればほとんどのことが解決できそうな気がする。 参考: これは便利!Word・・・
まずはサンプル。 これは、overflowをautoにした要素のスクロール位置を変更するサンプルです。 これは、overflowをautoにした要素のスクロ・・・
iframeで呼び出した際、iframe自体はスクロールさせずに高さを取得してiframe全体を表示させます。 サンプル:iframeの高さを自動調整するデモ・・・
http://localhost:8888/ での参照ではなく、http://localhost/ で参照できるようにします。 MAMPの設定を変更する M・・・
【2020年07月13日】 macOS Catalina(10.15.5) / Adobe iLLustrator 2020(24.2.1) にて動作確認済・・・
いつもは直接アップロードしているので気にしていなかったが、WordPress管理画面のメニュー「メディア」からfavicon.icoをアップロードしようとした・・・
<?php $args = array( 'paged' => 1, 'posts_per_page' => 20, 'post・・・
WordPressの管理画面。「投稿」や「固定ページ」の一覧は、公開日順に並んでいる。ところが、カスタム投稿を追加した場合、公開順ではなく名前順に並んでいること・・・
ポイントを使ったり、増やしたりしたときに、結果のポイント数に差し替えるのではなくて、カウントアップしたり、カウントダウンして動的に動かそうと思って作ってみた。・・・
前回、「入力フォームを自由にカスタマイズできる「Advanced Custom Fields」」で基本的なフィールド名を出力方法を紹介したが、今度は条件分岐に関・・・