今日は、Webページの作り方に関して、ちょっとした細かい話を。ページに画像を入れるときに、imgタグの「文字の色」をCSSで指定しておきましょう。画像に文字色? と思ったあなた、ちゃんと理由があるのです。
なぜ画像なのに「文字の色」を指定しなければいけないのでしょうか。それは、画像が表示されない状態では画像のaltテキストが表示されるため、その状態での表示をおかしくない状態にするためです。
念のために説明しておくと、altテキストとは、imgタグで画像の簡単な説明をテキスト記述するものです。HTMLの用語では「alt属性」と呼ばれ、img要素には必ず記述することとされています。altテキストはふつうにブラウザでページを見ているときには関係ありませんが、画像を解釈できない検索エンジンや視覚障害者が使うテキスト読み上げブラウザにとっては、そこに何が示されているのかを理解するのに重要です。
しかし、alt属性が表示されるシチュエーションはほかにもあります。iPhoneやイー・モバイルなどを使ってモバイル環境からウェブにアクセスする人にもaltテキストは関係があります。モバイル環境では通信速度が(オフィスなどに比べると)遅いため、画像の表示をオフにしている場合があるのです。そうすると、画像のあるべき場所にはaltテキストが表示されます。また、画像をオフにしていなくても、通信が遅くて画像が読み込まれるまで時間がかかる場合は、altテキストが表示された状態になります。
そういった状況で、多少なりともaltテキストを読んで理解してもらうためにも、img要素の文字色を設定しておくべきなのです。特に濃い背景に画像だけを置いている場所などでは、altテキストが標準の文字色で表示されると読みづらくなる場合もあるでしょうから、しっかりと文字色を指定しておきましょう(標準では画像のaltテキストは親要素の文字色が使われます)。
画像のaltテキストが表示された際の色を設定するには、CSSで次のようにします。
img{
/* 黒背景だとして文字を白色にする場合 */
color: #ffffff;
}
ほかにも、ロゴ画像のaltテキストなら、ロゴに近いフォントや太字にして、背景色にもロゴの色と同様の色を指定しておくといいでしょう。
#logo img{
/* Web担のロゴなら背景ピンクで文字は白、太字で大きく */
background-color: #EC6089;
color: #ffffff;
font-weight: bold;
font-size: 2em;
}
また、画像にはwidth属性(幅)とheight属性(高さ)で正しく画像のサイズを指定するようにしましょう。
widthとheightは省略してもブラウザが適切に設定してくれますが、ブラウザにこの処理をさせると、画像を読み込んでからHTMLの表示を調整していくため、ページ表示に余分な時間が(多少)かかってしまいます。また、altテキストだけが表示されてもレイアウトが崩れないようにするためにも、widthとheightを指定しておくのがいいでしょう。
ということで、
- 検索エンジンやモバイルを考慮して画像にはaltテキストを設定する
- altテキストが表示される場合も考慮してimg要素の文字スタイルをCSSで指定する
- ページ表示のパフォーマンスとaltテキスト表示のレイアウトを考慮して画像にはwidthとheightを指定する
ようにするといいのではないでしょうか。
ちなみに、この記事は456 Berea Streetの次の記事がネタ元となっています。
Specify a text colour for img elements | 456 Berea Street
http://www.456bereastreet.com/archive/201002/specify_a_text_colour_for_img_elements/
関連記事
春だからWeb担当者100人オフ会! あなたも4/22に熱い夜を過ごしませんか?
2010年3月28日 21:00
【受付終了】Web担当者100人交流会 2012年夏@原宿は9/13開催! Web担のみなさんのご参加おまちしています
2012年8月21日 16:34
【締切】Web担当者100人交流会★アクセス解析新年会@原宿☆Web担+a2i+eVar7共同で1/26開催!
2011年12月27日 16:17
CMS導入でウェブマスターと現場Web担当者の間に冷戦勃発! なぜ? どうすればいい?
2011年2月9日 9:00
Web担忘年会12月10日開催! 今年と来年をWeb担当者仲間と語り合いましょう
2008年11月21日 0:00
【締切】Web担当者100人交流会 2011年第1弾は2/17開催! みなさんのご参加をお待ちしています!
2011年1月14日 17:46
バックナンバー
この記事の筆者
安田 英久(やすだ・ひでひさ)
株式会社インプレス
Web担当者Forum 編集統括(初代編集長)
プログラミングやサーバー、データベースなどの技術系翻訳書や雑誌『インターネットマガジン』などの編集や出版営業を経て、Webサイト 「Web担当者Forum」初代編集長。ビジネスにおけるWebサイトの企画・構築・運用と、オンラインマーケティングの2軸をテーマにメディアを展開いる。現在は編集統括として媒体に携わる。
個人としては、技術とマーケティングの融合によるインターネットのビジネス活用の新しい姿と、ブログ/CGM時代におけるメディアのあるべき姿を模索し続けている。趣味は素人プログラミングと上方落語と南インドカレー。
- Twitter:@Hidehisa
- Facebook:https://www.facebook.com/hidehisa.yasuda
筆者の人気記事
矢印・特殊文字・記号一覧|コピペ・標準フォントで使用可能
2016年6月7日 11:00
URLとURIの違いとは? パーツの構造・名称・意味も大解説!
2010年3月9日 10:00
図と表のキャプションやタイトルの位置、違いはある? どこが正解?
2015年10月27日 11:00
PNGとJPEG画質の違いは? 拡張子でどう違う? ウェブ画像使い分けの基本
2018年4月17日 11:00
HTTPリクエスト/レスポンスとは? HTTPヘッダーを理解しよう
2010年1月12日 11:00
Twitterの始め方とは? ツイッターは何する所?など初心者必見ガイド
2009年9月29日 10:00