Progressive enhancement is a strategy for web design that emphasizes accessibility, semantic markup, and external stylesheet and scripting technologies. Designing with Progressive Enhancement is a practical guide to understanding the principles and benefits of progressive enhancement, as well as a detailed exploration of examples to help users--both designers and developers--understand how, where and when to implement specific coding and scripting approaches that embody progressive enhancement. Examples will cover a broad range of interface components, from simple content and layout approaches for basic websites, to complex widgets like calendars, sliders, color pickers and the like for robust functional web applications