Liner Note

情報(ユーザー中心デザイン・ユーザビリティ)と技術(ウェブプログラミング・ウェブサービス)についてのメモ書き

画像置換問題とは

画像置換

ウェブ技術に詳しい方には耳にタコができるくらい聞いた話ではありますが。

これはミツエーリンクスで解説されている通り、HTML文書でマークアップしたテキストを、CSSで画像に置き換えて表示させる手法で、具体的にはテキストはdisplayプロパティで隠したり、あるいはtext-indentやpositionプロパティを使って画面外に追いやり、画像を親要素の背景画像として表示させる感じで実現します。

このテクニックに対する問題点も同ページで指摘されていて、CSSが有効かつ画像は非表示という閲覧環境において(中略)適用箇所については一切の情報が得られなくなることです。

この功罪については、画像置換の問題点 – てんぽという記事に表でまとめられていて、わかりやすいです。

想定ユーザ像

で、そうしたデメリットに対しての毎度の反論が「どこにそんな特殊なユーザがいるのか」「そんな特殊なユーザは考慮していない」というもので、前者について具体的に考えられるユーザ像を検討してみると、

  • ダイヤルアップなどのナローバンドでインターネット接続を利用するユーザ
  • モバイル環境などのナローバンド環境でインターネット接続を利用するユーザ
  • 印刷時に画像表示を無効にして印刷するユーザ

一番下については、通常読み込むCSSをscreenhandheldメディアのみに限定して、printメディアには読み込ませないことが対策になるでしょう、また印刷用CSS(media=”print”なCSS)も積極的に使っていくべきです。

前二者は、つまり、表示が崩れないために*1 CSSを有効にするけども、帯域節約のために画像はオフにしておくというユーザです。

このへんはGoogle Analyticsを使っても、そういったユーザがどのくらいいるのか定量化できないので、なかなか議論しづらいところではあります。

また、木達一仁さんは、そのような設定変更を「わざわざ」行う程の知識を持ったユーザは、アクセシビリティが損なわれる危険性をそもそも承知しているはずとの意見を紹介しています。

アクセシビリティ確保における優先順位の付け方

さきの反論の後者のものとも関連しますか、なんというか、これはアクセシビリティ確保に対する優先順位の付け方の問題のような気がするのですね。

というのは、私自身もこうした画像置換の問題は確かにあると思うけども、他にもっとアクセシビリティ確保すべき優先順位の高いものがあるんじゃないかと*2 。つまり、全ての環境にアクセシビリティを確保するというのはお題目としては言えても「完璧に確保しようか」となると自ずと限界があります。

だから、比較的技術的に貧弱なUAに対して、配慮すべき一線(あるいは妥協)をどこに設定するかという決断が必要になります。その一線まで優先順位に従って対策を講じて、できる限りのアクセシビリティを確保していくことになるでしょう。

なので、この話からいくと、こうしたユーザに配慮しようというウェブ管理者は、前提としてこれより上位にある対策を既に講じていることになります。

その上での対策ですが、まず(X)HTMLをいじらないというのが大前提です。span空要素やらを付加する方法もありますが、構造記述言語としての(X)HTMLという性格に反しますので。

それで、カラクリエイト:JavaScript-enhanced image replacementを試してみたという記事では、javascriptで画像表示が有効か無効かを判定して、無効の場合、要素に施したプロパティを無効にすることで、テキストを表示させるという手法を提案しています。

記事でも触れられているように、javascript無効の環境ではダメポという問題は含んでいますけども、現時点では有効な対策だと思います。

また、ちょっとマシな画像置換 – てんぽという記事では、絶対配置と配置順序に関するプロパティを利用してなんとかしようという方法もあります。

ちなみにこのサイトでも画像置換を多用していますが、私としては、現時点ではこのようなユーザは一線の外にありますので、なんらかの策を施してアクセシビリティを確保しようという気はありません。ただし、その一線の中では最大限アクセシビリティやユーザビリティを確保していると自負してはいます*3

おまけ

ところで、帯域節約のために画像オフにしているユーザに、逆に伺いたいのですが、画像オフってそれほど帯域節約になるんでしょうか?

というのは、例えばうちのトップページは300KBほどあるんですが、そのうち画像は86KBあり、全体からすると30%程度です。多いと思われるかもしれませんが、javascriptはなんかかんやライブラリを読み込んで150KBほどあるのでこちらはおおよそ半分程度あります。

あくまでうちのサイトのことなので一般化はできませんが、画像オフがどれほどの帯域節約になるのかなとは思うところです。

  1. テーブルレイアウト+CSSなんてサイトも多いので。mixiなんかはCSSをオフにすると紹介文欄が縦にものすごく伸びます[戻る]
  2. X 8341等に書いてあることなど。もっと言うなら出典のアクセス性を確保するとか、ケータイブラウザなどのUAに適したUIを用意するとか[戻る]
  3. そうでないと思う部分があればコメントかブックマークでお知らせ下さい[戻る]
キーワード:

似たもの記事

読者の皆さんの反応サイト内コメントの更新情報(RSSフィード)

読者のコメント

6

ブックマークコメント

0

他サイトの関連記事

0

読者のコメント

  1. お名前

    p

    投稿日時
    2007年08月26日
    18時ごろ
    Comment No
    #1

    初めまして。
    私は Windows Mobile (W-ZERO3) 搭載のブラウザ (IE Mobile、Opera Mobile) でよく Web を利用しますが、まさに CSS 有効、画像表示無効の状態です。
    想定ユーザ像2に一番近いでしょうか。

    画像は帯域を節約 (というか高速化) するために意図的にオフにしています。
    CSS は本当は無効化したいんですが、IE にも Opera にも無効化するオプションがありません。表示が崩れないためにではありません。
    JavaScript は有効なので、JavaScript を使って判別するという手はおそらく有効に働くと思います。
    NetFront や jig 等のフルブラウザではまた違うかもしれません。

    画像表示がオフだとテキストすら表示されなくなる場合があるというのはちょっと想定外で、たまたまこのエントリに出会った私は今学習しましたが、利用者のほとんどがそもそも承知しているはずという考えは無理があると思います。

    ただ、いずれにせよまだニッチなユーザであることは認識しているので、「特殊ケースだから」という理由で切り捨てられるならそれはそれで「まあしょうがないか」という感はあります。画像置換が使われる部分って大抵重要じゃない情報が入っている場所だと思いますし、見えなくてもたぶん困りません。

    また、節約される帯域の話ですが、たとえ全体の3割でしかなくとも、86KB あったら私の 64kbps では11秒です。割合で少なくとも絶対量で考えれば相当なものです。
    (確かに画像を抜いてもサイドバーやら CSS やら JS やらで肥大化する最近のブログのデータ量には携帯利用時には辟易するものがありますね)

    また、HTML や CSS、JS には、画像と違って圧縮転送が効くので、実際に転送される情報量は1/3~1/5程度になることも考慮すべきかと思います。(クライアント側・サーバ側双方で有効化されていれば、ですが)
    このページの HTML も元データは 26KB あるようですが、実際に転送されているデータ量は 8KB と、1/3以下になっているようですね。

  2. お名前

    leva

    投稿日時
    2007年08月26日
    21時ごろ
    Comment No
    #2

    ご意見ありがとうございます、参考になりました。
    モバイル環境でのサイト閲覧に一定の需要があるとすれば、一般的にはhandheld向けCSSを用意して、随時テキスト置換していく方法も考えられますね。CSSが無効にできないUAというのも意外と多いのかもしれません。

    それと、うちのサイトでは「Mobile Eye +」というケータイ/PDA用UA向けに専用のテキストベースの軽いテーマを用意して送るプラグインを導入しているので、こうした環境では問題はないはずです。
    HTMLもGZIP圧縮(これはWordPress標準の機能)しているので、ご指摘の通りデータ量は減っています。JSやCSSの圧縮も考えたのですが、今後アクセス量が増えてくるとサーバ側で圧縮(mod_deflate)していると、負荷も無視できくなってくるだろうと思いますので、現状は本文データのみにしています。

  3. お名前

    シマダ

    投稿日時
    2007年12月07日
    14時ごろ
    Comment No
    #3

    なぜみんな、 「画像が読み込まれないのは画像を非表示にしている環境である」 と話を限定してしまうのでしょうか。 何らかの通信上の問題があって画像が届かないとか、 そういう状況をなぜ誰も想定しないのでしょうか。

  4. お名前

    幸之介

    投稿日時
    2008年02月11日
    7時ごろ
    Comment No
    #5

    ノートPC + PHS という環境で、たまに「CSS ON & IMG OFF」に設定することがあります。
    確かにここのように軽いサイトであれば効果はそれほどでもないかもしれませんが、画像OFFの効果が高いサイトは世の中にたくさんあります。そして、わざわざ「このサイトは軽そうだから画像ONにしよう」などとブラウザの設定を切り替えながらネットサーフィンするわけでもありません。

    「そのような設定変更を「わざわざ」行う程の知識を持ったユーザは、アクセシビリティが損なわれる危険性をそもそも承知しているはず」というのももっともで、少なくともわたしはその危険性を認識していますが、理想主義の私の個人的意見では、-9999pxなどと指定しなければ実現できないデザインなど軽くあきらめてしまえるのが大人であると感じています(笑)。

はてなブックマークでつけられたコメント

他サイトの関連記事

トラックバックはまだ寄せられていません


トラックバックとは
この記事に言及したサイトをこちらに掲載する仕組みをトラックバックと言います。ここでは、このサイトに頂いたトラックバックを一覧表示しています。
トラックバックしてくださる方へ
この記事への言及がない記事など、トラックバック受信方針に沿っていないものは、読者にお見せしても仕方ないこともあり削除させていただいることをご了承ください。
トラックバックを受け取るためのURI

コメント書き込みフォーム

  • メールアドレスはウェブ上で公開したり、連絡以外で使うことはありません
  • コメントを公開したくないが、作者に連絡を取りたい場合は メールで連絡してください
  • 本文中にHTMLコードは使用できません(URLはそのままお書きください)