Progressive Enhancement (プログレッシブエンハンスメント)
プログレッシブエンハンスメント (Progressive enhancement) とは、可能な限り多くのユーザーに不可欠なコンテンツと機能のベースラインを提供することを中心とした設計哲学であり、必要なすべてのコードを実行できる最新のブラウザーのユーザーに限り、最高の体験を提供します。
プログレッシブエンハンスメントの「プログレッシブ」とは、古いブラウザーや機能の限られた端末のユーザーには、よりシンプルでありながら良い使い勝手を実現し、同時に新しいブラウザーや機能が豊富な端末のユーザーには、より魅力的で充実したものへ使い勝手を進化させる設計であることを意味しているのです。
機能検出は、一般にブラウザーが高水準のコンテンツを処理できるかどうかを判断するために使用されます。 ポリフィル は JavaScript で欠けている機能を構築するためによく使用されます。
アクセシビリティに特別な注意を払うべきです。可能な限り、受け入れ可能な代替案が提供されるべきです。
プログレッシブエンハンスメントは、ウェブ開発者が複数の未知のユーザーエージェントによってアクセスされているウェブサイトの問題のバランスを取って、最良のウェブサイトの開発に集中できるようにする便利なテクニックです。 グレースフルデグラデーションは関連していますが、プログレッシブエンハンスメントとは反対の方向に向いているとよく見られます。 実際には、両方のアプローチが有効であり、互いに補完することができます。
関連情報
- Wikipedia 上の プログレッシブエンハンスメント
- What is Progressive Enhancement, and why it matters at freeCodeCamp
- Progressive Enhancement reading list 2021 at QuirksMode
- Understanding Progressive Enhancement by Aaron Gustafson; a 2008 A List Apart article which first "placed progressive enhancement at the forefront of web developer thinking"
- Inclusive Web Design For the Future with Progressive Enhancement (related article) by Steve Champeon and Nick Finck; a 2003 SXSW presentation cited by Aaron Gustafson as "unveiling a blueprint for a new way of approaching web development", and naming it "progressive enhancement"