A List Apart


Topic: JavaScript

  • Progressive Enhancement with JavaScript

    by Aaron Gustafson · Issue 271 ·

    Our introductory series on progressive enhancement and the ways it can be implemented concludes with a look at the mindset needed to implement PE in JavaScript, and a survey of best practices for doing so.

  • Progressive Enhancement with CSS

    by Aaron Gustafson · Issue 270 ·

    Organize multiple style sheets to simplify the creation of environmentally appropriate visual experiences. Support older browsers while keeping your CSS hack-free. Use generated content to provide visual enhancements, and seize the power of advanced selectors to create wondrous (or amusing) effects. Part two of a series.

  • Understanding Progressive Enhancement

    by Aaron Gustafson · Issue 269 ·

    Steven Champeon turned web development upside down, and created an instant best practice of standards-based design, when he introduced the notion of designing for content and experience instead of browsers. In part one of a series, ALA’s Gustafson refreshes us on the principles of progressive enhancement. Upcoming installments will translate the philosophy into sophisticated, future-focused design and code.

  • Test-Driven Progressive Enhancement

    by Scott Jehl · Issue 268 ·

    Starting with semantic HTML, and layering enhancements using JavaScript and CSS, is supposed to create good experiences for all. Alas, enhancements still find their way to aging browsers and under-featured mobile devices that don't parse them properly. What's a developer to do? Scott Jehl makes the case for capabilities testing.

  • CSS Sprites2 - It’s JavaScript Time

    by Dave Shea · Issue 266 ·

    In 2004, Dave Shea took the CSS rollover where it had never gone before. Now he takes it further still—with a little help from jQuery. Say hello to hover animations that respond to a user's behavior in ways standards-based sites never could before.

  • Getting Out of Binding Situations in JavaScript

    by Christophe Porteneuve · Issue 262 ·

    Every wonder who you really are? Congratulations! You have a lot in common with JavaScript. Learn once and for all how to train your JavaScript to remember who it is and what it's doing.

  • Zebra Tables

    by David F. Miller · Issue 173 ·

    While misused tables are becoming increasingly rare, the table retains a legitimate role in data formatting. A little CSS and JavaScript magic can make tables better at what they do best: displaying tabular data.

  • Creating More Using Less Effort with Ruby on Rails

    by Michael Slater · Issue 257 ·

    The "why" of Ruby on Rails comes down to productivity, says Michael Slater. Web applications that share three characteristics, they're database-driven, they're new, and they have needs not well met by a typical CMS, can be built much more quickly with Ruby on Rails than with PHP, .NET, or Java, once the investment required to learn Rails has been made. Does your web app fall within the RoR "sweet spot?"

  • Getting Started with Ruby on Rails

    by Dan Benjamin · Issue 257 ·

    The "how" of Ruby on Rails: Hivelogic's Dan Benjamin prepares non-Rails developers, designers, and other creative professionals for their first foray into Rails. Learn what Ruby on Rails is (and isn't), and where it fits into the spectrum of web development and design. See through the myths surrounding this powerful young platform, and learn how to approach working with it.

  • Take Control of Your Maps

    by Paul Smith · Issue 256 ·

    It is now possible to replicate Google Maps’ functionality with open source software and produce high-quality mapping applications tailored to your design goals. Paul Smith shows how.

  • Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8

    by Aaron Gustafson · Issue 251 ·

    For seven years, the DOCTYPE switch has stood designers and developers in good stead as a toggle between standards mode and quirks mode. But when IE7, with its greatly improved support for standards, "broke the web," it revealed the flaw in our toggle. The quest was on to find a more reliable ensurer of forward compatibility. Is version targeting the answer?

  • If I Told You You Had a Beautiful Figure…

    by Aaron Gustafson · Issue 246 ·

    Laying out images consistently within a design is difficult, especially when you hand the keys over to someone else to fill in the content. ALA Staffer Aaron Gustafson demonstrates how a little clever JavaScript goes a long way toward resolving inconsistencies in image layout.

  • Graceful E-Mail Obfuscation

    by Roel Van Gils · Issue 248 ·

    Hide e-mail addresses from spam bots while revealing them to readers as real, clickable links. This transparent and fully automated solution guarantees that all addresses on your site will be safe—even the ones that show up in blog comments!

  • Text-Resize Detection

    by Lawrence Carvalho, Christian Heilmann · Issue 223 ·

    Chris Heilmann and Lawrence Carvalho serve up a way to detect your visitors' text size settings using JavaScript.

  • User-Proofing Ajax

    by Peter Quinsey · Issue 228 ·

    Ajax offers the ability to avoid both needless browser behavior like page reloads and useful browser behavior like error handling. When good web apps go bad, Peter Quinsey's guidelines and techniques can help you and your users stay informed and productive.

  • Print to Preview

    by Pete McVicar · Issue 226 ·

    Going from the browser to the printer has always been a bit of a guessing game. In this article, Pete McVicar shows us a method for providing users with a reliable print preview.

  • Cross-Browser Variable Opacity with PNG: A Real Solution

    by Michael Lovitt · Issue 156 ·

    Think you’re stuck with wimpy GIFs and their rigid binary transparency? Well, think again, Sunshine. Michael Lovitt shows how to overcome flaky browser support for PNG so you can take advantage of this graphic format’s lossless compression, alpha transparency, and variable opacity.

  • Cross-Browser Scripting with importNode()

    by Anthony Holdener · Issue 234 ·

    Anthony Holdener explores the world of XML DOM support for web browsers and presents a new technique for cross-browser scripting.

  • Ruining the User Experience

    by Aaron Gustafson · Issue 234 ·

    Anticipating your users' needs is the key to making a good impression; it's the little things that matter most. ALA technical editor Aaron Gustafson explains why progressive enhancement means good service.

  • Flash Embedding Cage Match

    by Bobby van der Sluis · Issue 232 ·

    Ever had to embed Flash into a web page and just been plain confounded about the best way to do it? Be confused no more! Bobby van der Sluis cuts through the arguments and opinions about the many techniques available.