Smart Communication Design Company
ホーム > ナレッジ > Blog > Web標準Blog > 2009年2月 > Graceful DegradationとProgressive Enhancement

Graceful DegradationとProgressive Enhancement

2009年2月10日
フロントエンド・エンジニア 矢倉

以前「OperaがWeb標準のカリキュラムを公開」で取り上げたOpera Web Standards Curriculum。今回は“Graceful degradation versus progressive enhancement”について、すこし触れてみようと思います。

Graceful DegradationとProgressive Enhancementとは?

記事では、それぞれを次のように説明しています。

Graceful Degradation
Webサイトで表現したい機能を、特定の水準にあるモダンブラウザーに対して提供します。しかし、低水準の古いブラウザーに対しても、同等ではないもののそつのない、または理にかなったかたちで機能を提供します。
Progressive Enhancement
ターゲットとするすべてのブラウザーに対し、最低限伝えるべき機能を実装します。その上で、より高水準の環境(ブラウザー)では、高い機能を体験できるように機能強化をおこないます。

Graceful Degradationは後方互換や古い環境に対しての対処という考えを持ちますが、Progressive Enhancementは「できる環境ではよりよいものを」といった、前向きなアプローチを取っています。

多様性を受け入れる柔軟なWebへ

さて、このような手法がなぜ注目されているのでしょうか。これには、日々絶えず変化しするWebと、Webにアクセスする環境の多様化が背景にあるものと思われます。

携帯電話やスマートフォン、ネットブックなど、Webを閲覧する手段は増え続けています。また、Google Chromeなど新しいブラウザーの出現や既存ブラウザーのバージョンアップ、または古いブラウザーを使い続けるユーザー層など、ソフトウェア側においても多様化が進んでいます。

このような状況で、全てのユーザーに同じWebサイトを提供しようとすると、全ての利用環境を意識するあまり、実装できる機能はとても最小的なものとなってしまいます。かといって、特定の環境だけに最適化されてしまうと、その環境下にいないユーザーに不都合を与えてしまうこととなります。

柔軟な媒体としてのWebを最大限生かすために、多様性を受け入れること。これがGraceful DegradationやProgressive EnhancementによるWeb制作の根底にある考え方です。

新しい技術の取り込みだけが目的ではない

Progressive Enhancementについては、昨年11月に開かれたWeb Directions Eastでも、スピーカーの何人かが取り上げていました。また、策定途中のHTML5やCSS3、DOM APIを利用するときにも、この考えが取り上げられることが多く、目にする機会が今後増えていくものと思われます。

しかしながら、このように新しい技術を利用することに絡めてProgressive Enhancementが紹介されることが多く、その結果「IEで利用できないから……」といった反応も少なからずみられます。確かにそういった側面もあるのですが、それだけがProgressive Enhancementのすべてではありません。

ということで次回は、記事の後半にある例などをもとに、今のWeb制作とGraceful Degradation/Progressive Enhancementとの関わりについて紹介したいと思います。