Baldur Bjarnason @baldur@toot.cafe
“Adactio: Links—The beauty of progressive enhancement - Manuel Matuzović” adactio.com/links/16838
Progressive Enhancement allows us to use the latest and greatest features HTML, CSS and JavaScript offer us, by providing a basic, but robust foundation for all.
Some great practical examples of progressive enhancement on one website:
type="module" to enhance a form with JavaScript,picture element to provide webp images in HTML.All of those enhancements work great in modern browsers, but the underlying functionality is still available to a browser like Opera Mini on a feature phone.
“Adactio: Links—The beauty of progressive enhancement - Manuel Matuzović” adactio.com/links/16838
There’s quite a crossover between resilience and longevity:
- Understand the requirements
- Keep scope small and fixed
- Reduce dependencies
- Produce static output
- Increase Quality Assurance
There’s really good browser support for display-mode media queries and this article does a really good job of running through some of the use cases for your progressive web app.
- Basic functionality should work on any device that can access the web.
- Extras and flourishes are treated as progressive enhancements for modern devices.
- The UI can look different and even clunky on older devices and browsers, as long as it doesn’t break rule #1.
This is a great history of the idea of progressive enhancement:
It is an idea that has been lasting and enduring for two decades, and will continue.
I’m very glad to see that work has moved away from a separate selectmenu element to instead enhancing the existing select element—I could never see an upgrade path for selectmenu, but now there are plenty of opportunities for progressive enhancement.
Here’s Clearleft’s approach to browser support. You can use it too (it’s CC-licensed).
Here’s how I interpret the top-level guidance in the Web Content Accessibility Guidelines.
If a browser feature can be used as a progressive enhancement, you don’t have to wait for all browsers to support it.
The `details` element is like the TL;DR of markup.
I never would’ve known about the `display-mode` media feature if I hadn’t been writing about it.