Skip to content

Dan Q

    • Articles
    • Everything
    • Notes
    • Reposts (shares)
    • Checkins (geo*)
    • Videos
    • Reviews
    • Comics
    • Tags
    • Stats
    • Subscribe
    • Blogroll
  • About
    • Semi-standard "slash pages" you might like to explore:
    • /about
    • /blank
    • /blogroll
    • /colophon
    • /contact
    • /cv
    • /events
    • /license
    • /pfp
    • /postcards
    • /privacy
    • /salary
    • /shh
    • /slashes
    • /stats
    • /subscribe
    • /where
    • Hide posts of type:
    • Choose how Dan's dressed:
    • Hair
    • T-Shirt
  • Contact
  • Podcast

Tag: progressive enhancement

  • Screenshot showing cards with simple pictures of animals, filtered using radiobuttons and checkboxes to show those which are mammals AND herbivores. The list is comprised of an alpaca, camel, cow, elephant, elk, giraffe, hippo, kangaroo, manatee, panda, rabbit, rhino, sheep, and sloth.

    Dynamic Filters in Pure CSS

    CSS is powerful and performant. Let's implement client-side list filtering (with the user's choice of AND and OR modes) in CSS, without a line of JavaScript.

    Read more - about 3 minutes (618 words)

    • Article
    • 2 comments
    • posted 7 May, 2025
  • Lynx screenshot showing DanQ.me via the Finger protocol.

    Test your site in Lynx

    Testing your website in Lynx or another text-mode browser can help you find find where you've become dependent upon JS and CSS. Let's see how much of DanQ.me breaks when it's deprived of advanced Web functionality!

    Read more - about 6 minutes (1326 words)

    • Article
    • 1 comment
    • posted 1 May, 2024
  • Screenshot showing an expanded "theme switcher" menu on a Website.

    Shiftless Progressive Enhancement

    Today a 7-year-old helped remind me that progressive enhancement doesn't have to mean render-blocking DOM manipulation nor ugly layout shifts.

    Read more - about 3 minutes (557 words)

    • Article
    • 3 comments
    • posted 6 February, 2024
  • Close-up of a champagne-coloured French Bulldog wearing a teal jumper, lying in a basket and looking towards the camera.

    Lightboxes Without JavaScript

    An image lightbox overlay with no JavaScript whatsoever? Absolutely. Here's how I do it.

    Read more - about 4 minutes (921 words)

    • Article
    • 3 comments
    • posted 12 December, 2023
  • Image representing post: Higher/Lower Datepicker

    Higher/Lower Datepicker

    Can Dan make an even-worse "date of birth" field than those spinner ones?

    Read more - about 4 minutes (741 words)

    • Article
    • 3 comments
    • posted 6 July, 2021
  • Opera 5 showing no blinking nor marquee text.

    <blink> and <marquee>

    Dan explores the history of two (much-maligned) HTML tags of the yesterweb. With blinking marquees!

    Read more - about 5 minutes (1115 words)

    • Article
    • 12 comments
    • posted 11 November, 2020
  • The Web Pyramid. In the style of a "food pyramid", shows Text Worth Reading at the bottom, supporting Markup, supporting Images, supporting CSS, supporting (a small amount of) Scripts.

    Loading CSS Asynchronously Without JS Dependency

    Dan proposes a new technique for lazy-loading CSS which doesn't break style for non-JS users.

    Read more - about 3 minutes (665 words)

    • Article
    • 22 comments
    • posted 9 August, 2020
  • JavaScript and the mobile-only user

    Chris Ferdinandi provides further arguments about why Javascript must be considered a progressive enhancement.

    Read more (315 words)

    • Repost
    • 2 comments
    • posted 22 May, 2019
  • Hammer Logo

    Non Stop Hammer Ti.me

    Dan launches NonStopHammerTi.me, the latest pointless thing he's put on the Web.

    Read more (131 words)

    • Article
    • 3 comments
    • posted 3 April, 2019
  • Image representing post: How many people are missing out on JavaScript enhancement?

    How many people are missing out on JavaScript enhancement?

    few weeks back, we were chatting about the architecture of the Individual Electoral Registration web service.  We started discussing the pros and cons of an approach that would provide a significantly different interaction for any people not running JavaScript.

    "What proportion of people is that?” an inquisitive mind asked.

    Silence.

    We didn’t really have any idea how many …

    Read more (471 words)

    • Repost
    • 5 comments
    • posted 23 March, 2019
  • Image representing post: I Used The Web For A Day On Internet Explorer 8

    I Used The Web For A Day On Internet Explorer 8

    ...
    Who In The World Uses IE8?
    Before we start; a disclaimer: I am not about to tell you that you need to start supporting IE8.

    There’s every reason to not support IE8. Microsoft officially stopped supporting IE8, IE9 and IE10 over three years ago, and the Microsoft executives are even telling you to stop using Internet Explorer …

    Read more (161 words)

    • Repost
    • posted 22 March, 2019
  • We are actively destroying the web

    One of the central themes of my talk on The Lean Web is that we as developers repeatedly take all of the great things the web and browsers give us out-of-the-box, break them, and then re-implement them poorly with JavaScript.

    This point smacked me in the face hard a few weeks ago after WebAIM released their …

    Read more - about 3 minutes (511 words)

    • Repost
    • 2 comments
    • posted 18 March, 2019
  • Image representing post: Modern CSS on DanQ.me

    Modern CSS on DanQ.me

    Dan explains three of the cutting-edge CSS features implemented on his blog.

    Read more - about 6 minutes (1310 words)

    • Article
    • 2 comments
    • posted 5 March, 2019
  • AJAX

    What Does AJAX Even Stand For?

    ...Jesse James Garett of Adaptive Path finally gave this use of Javascript a name. He called it Asynchronous Javascript and XML (thankfully shortened to Ajax). Ajax wasn’t a single method or technology, but a group of principles based on the work being done at Google that described how to handle JavaScript in more demanding web …

    Read more (275 words)

    • Repost
    • posted 4 March, 2019
  • DanQ.me as displayed by the reimagined WorldWideWeb browser circa 1990

    WorldWideWeb, 30 years on

    To celebrate the Web's 30th birthday, some of Dan's favourite geeks reimplemented the very first browser.

    Read more - about 3 minutes (478 words)

    • Article
    • 26 comments
    • posted 20 February, 2019

Posts navigation

Older posts

Get in Touch

I'd love to hear from you! Why not...

  • email me on blog@danq.me?
    (my spam filter is aggressive, so use a good subject line, i.e. not just "hello"; encrypt your email if you like)
  • say hi on Mastodon, where I'm @dan@danq.me?
  • send a letter or postcard to
    Dan Q, Unit 159610, PO Box 7169, Poole, BH15 9EL, UK
  • reach out some other way?
  • Β© Dan Q 1998-2026
  • Creative CommonsAttributionNon-Commercial except where stated (how to use)
  • powered by BloqClassicPressHTML5CSS3
  • privacy
  • Read articles, checkins, notes, reposts, and more...
  • @dan@danq.me
  • contact
  • subscribe
  • Dan Q
  • Creative Commons Attribution Non-Commercial license
  • ClassicPress
  • CSS is awesome
  • Created by a human, not by AI
  • LGBTQ+ pride flag (2018 progress variant)
  • Polyamory flag
  • Say no to Web3
  • Mastodon (it's like email... no, come back!)
  • Tested on Firefox
  • Best viewed on the Internet
  • PHP
  • Ruby
  • Debian
  • Caddy (webserver)
  • Find me on Melonland
  • Check out my GitHub
  • Three Rings - by volunteers, for volunteers, since 2002
  • I'm a fucking webmaster
  • Looks best at: any resolution!