Voted #1 web book in .net

Adaptive Web Design

Crafting Rich Experiences with Progressive Enhancement

by Aaron Gustafson

Foreword by Jeffrey Zeldman

Adaptive Web Design not only provides the clearest, most beautiful explanation of progressive enhancement I’ve ever read, it’s also packed full of practical know-how pumped directly into your neocortex through Aaron’s warm and friendly writing style. If you aren’t already using progressive enhancement to build websites, you soon will be.

Jeremy Keith, Author, HTML5 for Web Designers

About the Book

The web is an ever-changing medium whose scope, application, audience and platform continue to grow on a daily basis. If you’ve worked on the web for any amount of time, you’ve likely heard or even used the term “progressive enhancement.” Since the term’s inception, it has been considered a best practice for approaching web design. But what is it really? And how do we reconcile its meaning with the rapid evolution of the languages and browsers we rely on to do our jobs?

In this brief book, Aaron Gustafson chronicles the origins of progressive enhancement, its philosophy, and mechanisms, and reveals the countless practical ways that you can apply progressive enhancement principles using HTML, CSS, and JavaScript. By understanding progressive enhancement and how to apply it properly, web practitioners can craft experiences that serve users (rather than browsers), giving them access to content without technological restrictions.

Table of Contents

  1. Foreword
  2. Chapter 1: Think of the User, Not the Browser
  3. Chapter 2: Progressive Enhancement With Markup
  4. Chapter 3: Progressive Enhancement With CSS
  5. Chapter 4: Progressive Enhancement With Javascript
  6. Chapter 5: Progressive Enhancement for Accessibility
  7. Chapter 6: Take It Away
  8. Index

Download the Project Files or fork on Github.

About the Author

Aaron has nearly 15 years experience on the web and, in that time, has cultivated a love of web standards and an in-depth knowledge of website strategy and architec­ture, interface design, and numerous languages (including XHTML, CSS, JavaScript, and PHP). He co-founded Retreats 4 Geeks, an intimate technology training series, and is Group Manager of the Web Standards Project (WaSP) where he has spearheaded both Web Standards Sherpa and a small business outreach effort. He wrote the JavaScript library eCSStender, serves as Technical Editor for A List Apart, is a contributing writer for .net Magazine, and has filled a small library with his technical writing and editing credits.

Contributors

  • Jeffrey Zeldman
    wrote the foreword for this book. You know who he is. If you don’t, you should.
  • Veerle Pieters
    designed the cover of the book. She loves to play with color for everything web and print.
  • Krista Stevens
    edited the book. The web is her labor of love.
  • Craig Cook
    nitpicked over some of the technical parts of the book. He makes websites and is kind of a stickler about that stuff.
  • Derek Featherstone
    is an accessibility specialist. Naturally, he helped make sure the book’s accessibility recommendations were up to snuff.

Reviews

  • “Finally. Progressive enhancement explained with a perfect balance of theory and practice. Aaron’s take-aways will have you progressively-enhancing your markup, style and behavior with ease.”

    Dan Cederholm Author, CSS3 For Web Designers

  • “With this forward-thinking book Aaron shows us that anyone can produce accessible, engaging web experiences without sacrificing their ambitions. Through progressive enhancement, he’ll show you how to bring designs to life without compromising the integrity of content. I’ve been learning from Aaron for many years, and suggest you do the same.”

    Simon Collison Co-author, CSS Mastery

  • “I’m not a programmer and I hardly ever write code, but my success as a user experience designer hinges on the talent and knowledge of the programmers I collaborate with. It is our responsibility to deliver the best possible product to our users, regardless of their technical or physical constraints or preferences. Aaron Gustafson’s Adaptive Web Design has given me a much clearer understanding of the philosophy of progressive enhancement and how to use it. I’m now better equipped to design in layers and ensure my programmers make the necessary considerations to create the experience that all our users deserve.”

    Whitney Hess User Experience Expert

  • “If every web professional were to read and fully absorb the information in Aaron Gustafson’s excellent Adaptive Web Design, large parts of the Web would become be so much more, well, adaptive than they are today. We would see fewer cases of entire sites failing without warning when JavaScript is off. We would see less non-semantic markup. We would see fewer widgets that are meaningless and confusing without CSS or JavaScript. And so on. … The Web would simply be more robust.”

    Roger Johansson, Front-end web developer

  • “I read this book in a single day from cover to cover which is quite an achievement for me (I’m easily distracted!). I think that says something about the quality of the writing. It’s an easy read and very informative without leaving you wondering where to go for more information when those inevitable questions pop into your head. … I liked this book a lot, and I’ll be recommending it.”

    Darren (via zeldman.com)

  • “Aaron Gustafson’s Adaptive Web Design book provides a metric-shit-tonne of best practices, examples and techniques to progressively enhance websites.”

    Brad Frost, Mobile web developer

  • “I picked up Aaron Gustafson’s Adaptive Web Design: Crafting Rich Experiences with Progressive Enhancement on a whim, largely because Veerle Pieters showed the cover design as part of her talk at An Event Apart Boston. However, it’s quickly become my essential grab-bag guide to the state of the art in web design. Its focus on progressive enhancement through HTML markup, CSS, and JavaScript was exactly what I needed: an overview of today’s best practices. Even if the detail in this book isn’t as comprehensive as its scope (intentionally so), it has enough detail and practical examples to point me in the right direction to dig deeper. … I found Adaptive Web Design to be funny, informative, and—most importantly—useful. I was able to funnel what I learned directly into my current (and upcoming) projects. I can’t recommend it enough.”

    Mark Llobrera, Interactive developer

  • “Excellent. A great summary of the current work of art in front-end web development.”

    Michael Hessling, Web designer

  • “I'm just reading the final chapter in this book and I can't recommend it highly enough. … As an ASP.NET Web Forms developer, I can relate only too well to the need for diligence and common sense when designing websites that are being accessed on a plethora of devices, some not yet envisioned, by so many different people, many of whom have accessibility issues. I have been facing an uphill struggle in my own attempts to embrace solid best practices in my work and this book has restored my confidence in that quest. … The only other book out there in the same league is the one on Progressive Enhancement by the Filament Group; I just wish I had read this one first! There is no better introduction to the topic out there.”

    Anthony Grace “Bognit”, ASP.NET Web Forms developer

  • “The book covers a range of different concepts in a clear and easy manner, which makes it a great book for those just getting into thinking about the web (as well as those of us that have been around it for a while).”

    Corey Dutson, Web developer

  • “I recently finished reading Aaron Gustafson’s Adaptive Web Design and really loved it. The book details the process behind making compelling web experiences that are adaptable to whatever device or browser the viewer happens to be using. Gustafson is a proponent of progressive enhancement, which could really just be called web standards. The idea is that by setting up the basics of the site so that they will be accessible to any browser you are free to cater the quality and features of the site to more modern browsers.

    Adaptive Web Design covers some of the same ground as many of the popular A Book Apart titles, but has a more holistic goal. Gustafson explains new HTML5 elements but discusses how to leverage JavaScript to make sure that they work everywhere. He spends significant time explaining the importance and uses of ARIA roles and microformats. He explains the basics of using JavaScript to customize elements for different screen sizes. There are many more topics covered, and every one is explained well enough that I want to go back over projects and enhance them.

    I would not hesitate to recommend this book to anyone. For anyone who wants to know what web standards exist today I would recommend the A Book Apart books for an introduction and inspiration and Adaptive Web Design for nuts and bolts.”

    Noah Read, Graphic designer

  • “You hear the term ‘Progressive Enhancement’ bandied about as a good thing, and it absolutely is. However, few resources cover the breadth of the topic as well as this book does. Adaptive Web Design includes some of the best and broadest coverage in an easy-to-read and well-structured book.”

    Jonathan Snook Co-author, The Art and Science of CSS

  • “As cross-platform requirements continue to evolve at the speed of light, designing from the content out isn’t just a good idea. It’s an imperative. How then can we meet the challenges of delivering the right content, to the right people, at the right time, and in the right place? Adaptive Web Design shares the necessary insights, tools and techniques for web professionals of all stripes to embrace progressive enhancement as a powerful, shared solution.”

    Kristina Halvorson Author, Content Strategy for the Web

  • “HTML5 is the new hotness and a lot of tutorials and demos are there to show off what can be done with it. One thing that a lot of publications right now are missing is information how to use newest technology and keep your products maintainable and working for everybody – not only the cool kids with the newest toys. This book is a voice of reason and explains the very important nuts and bolts instead of blinding you with shiny examples. This is an important step towards building a sturdy web for the future and not another flash in the pan.”

    Christian Heilmann Author, Beginning JavaScript with DOM Scripting and Ajax

  • “[Adaptive Web Design] was a great read and for me what was so helpful was the easy manner in which he laid out using JavaScript to make sure it is an enhancement and not a necessity. The checklist at the back will be referenced again and again. Plus there were lots of little nuggets of CSS and JavaScript that I know will stay with me in my work as I continue to refine and change the way I write code. Now I just need to get this book in the hands of the folks I work with, it is a never ending source of frustration to me that so many tasks on our sites can only be completed with JavaScript enabled.”

    Susan Jean Robertson, Front-end web developer

  • “Aaron has succeeded in explaining the reason for using progressive enhancement, the basics of the various techniques, breaking it down chapter by chapter and also ending it with a checklist for all your progressive enhancement needs. All in a book that not only covers the theory (or philosophy if you so will) behind it but which also contains plenty of practical examples of how, and more importantly why, to implement the techniques. … I can only wish more, a lot more, web designers and developers get their hands on Adaptive Web Design because I consider it a must have tool in any serious designers/developers toolbox. The more people read it, the less sites breaking when the user has JavaScript turned off and the less non-semantic markup and more accessible content will we see. … In short, this book will help us make a better, more future proof and more accessible web.

    Ludvig Lindblom, Front-end developer

  • “Selvom min store passion ligger mest i webdesign, og ikke alene i webudvikling, så er webudvikling stadigvæk en del af det samlede resultat, der i bund og grund er webdesignet. … Derfor synes jeg, at man som webdesigner eller webudvikler (eller begge dele) kan have gavn af bogen. Ganske enkelt fordi, der trænger til at komme mere fokus på tankegangen. … Vi har et ansvar, men her er bogen ikke den endelige brik i puslespillet – det er os selv, der skal ændre vores holdning. Vi skal kræve og ønske et bedre resultat, hvor bogen fungerer som et hjælpemiddel.”

    Michael Østergaard, Web designer

  • Adaptive Web Design explains so elegantly what progressive enhancement is all about, convinces you to believe in the practice, and provides practical implementation techniques. The storytelling is superb and content top-notch. If you create on the web, even if you already know a thing or two about progressive enhancement, this is a must read; I loved it!”

    Sean Murphy

  • “I often feel I don’t have the time to read everything about web technologies that one must read these days in order to keep up their skills. … At 135 pages (including the index), Adaptive Web Design is a quick read, packed with solid information. … Not only does Aaron explain practical things for us to apply, he explains the concept of “fault tolerance” – something I had never really considered before, but think about now before I sit down to craft a site or a web app. Fault tolerance is an important concept that aids in understanding how HTML and CSS work to make the life of web authors a bit easier. … [Y]ou will walk away from it a stronger designer/developer. It’s worth it to find time to read Adaptive Web Design.”

    Bridget Stewart, Web designer

  • “The JavaScript section was the most useful part to me. This is basically a collection of all the current best practice techniques out there today. I liked how many of the JS examples used jQuery — no need to triple the amount of code in the examples when we’re all using jQuery anyway.”

    Rachel Lehman

  • “I had a fair grasp of the basics of progressive enhancement with CSS and unobtrusive JavaScript, but I took a lot away from this book, particularly the WAI-ARIA and microformats stuff which I’d not really looked into, and made me rethink a lot about how I structure my CSS. It’s also a great looking and well written book, up there with A Book Apart’s series.”

    Michael, Web designer

  • “This is a great book for anyone that is interested in the more technical, but not too technical niche of web design. Aaron does a great job of walking the reader through the technical implementations of an adaptive web design and progressive enhancement. It is short so worth taking a read through then using as a reference for future project work. Great job Aaron!”

    Lis Hubert, UX consultant

Tweets