Search
Getting Acquainted With Svelte, the New Framework on the Block
6.2.2020
For the last six years, Vue, Angular, and React have run the world of front-end component frameworks. Google and Facebook have their own sponsored frameworks, but they might leave a bitter taste for anyone who advocates for an open and unbiased web. Vue is another popular framework that...
Building an accessible autocomplete control
6.2.2020
Here’s a great in-depth post from Adam Silver about his journey to create an autocomplete field that’s as accessible as possible. There are so many edge cases to consider! There are old browsers and their peculiar quirks, there are accessibility best practices for screen readers, and not to mention...
Browser Version Release Spectrum
6.2.2020
Whenever a browser upgrades versions, it's a little marketing event, and rightly so. Looks like for Firefox it's about once a month, Chrome is ~6 weeks, and Safari is once a year.
Chrome 80 just dropped, as they say, and we get a video and blog post. What strikes me about releases like this these...
HTTPS is Easy!
5.2.2020
I've been guilty of publicly bemoaning the complexity of HTTPS. In the past, I've purchased SSL certificates from third-party vendors and had trouble installing them. I've had certificates expire and had to scramble to fix them. I've had to poke and prod hosting companies to help me ensure things...
Native Image Lazy Loading in Chrome Is Way Too Eager
5.2.2020
Interesting research from Aaron Peters on <img loading="lazy" ... >:
On my 13 inch macbook, with Dock positioned on the left, the viewport height in Chrome is 786 pixels so images with loading="lazy" that are more than 4x the viewport down the page are eagerly fetched by Chrome...
CSS4 is a Bad Idea
5.2.2020
Louis Lazaris, reacting to the idea of CSS4:
The reason “CSS3” worked is because it was real. It was the successor to “CSS2.1”. Everything after CSS2.1 was considered to be under the umbrella of “CSS3”.
The gist is that CSS4 isn't real, so won't work, and we don't need it anyway. Perhaps...
Creating an Editable Webpage With Google Spreadsheets and Tabletop.js
5.2.2020
Please raise your hand if you’ve ever faced never-ending content revision requests from your clients. It’s not that the changes themselves are difficult, but wouldn't it be less complicated if clients could just make the revisions themselves? That would save everyone valuable time, and  allow...
Select an Element with a Non-Empty Attribute
5.2.2020
Short answer:
[data-foo]:not([data-foo=""] {
Longer answer (same conclusion, just an explanation on why we might need this):
Say you have an element that you style with a special data-attribute:
<div data-highlight="product"</div
You want to target that element and do special things when...
CSS4
4.2.2020
Tab Atkins in 2012:
There has never been a CSS4. There will never be a CSS4. CSS4 is not a thing that exists.
Rachel Andrew in 2016:
While referring to all new CSS as CSS3 worked for a short time, it doesn’t reflect the reality of where CSS is today. If you read something...
How To Create A Headless WordPress Site On The JAMstack
4.2.2020
Just this morning, Chris shared a streamlined way to get a static site up and running with Netlify. As it happens, Sarah and I also wrote up a little something that expands that idea where a static site can pull content from WordPress using the REST API.
Using Vue, Nuxt, axios and Netlify, it's...
PHP is A-OK for Templating
4.2.2020
PHP templating often gets a bad rap for facilitating subpar code — but that doesn't have to be the case. Let’s look at how PHP projects can enforce a basic Model, View, Controller (MVC) structure without depending on a purpose-built templating engine.
But first, a very brief PHP history lesson
The...
Overcomplicatin’
4.2.2020
There's some famous quote that goes something like...
When we're young, we make simple things because that's all we know. Then we learn how to make complex things so we make complex things. When we grow old, we learn to make simple things again.
Brad recently wrote about this abstractly in regard...
Possibly The Easiest Way to Run an SSG
4.2.2020
"Static Site Generator," that is. We'll get to that in a second.
Netlify is a sponsor of this site (thank you very much), and I see Zach Leatherman has gone to work over there now. Very cool. Zach is the creator of Eleventy, an SSG for Node. One thing of the many notable things about Eleventy...
The Three Types of Code
3.2.2020
Every time I start a new project, I organize the code I’m looking at into three types, or categories if you like. And I think these types can be applied to any codebase, any language, any technology or open source project. Whether I’m writing HTML or CSS or building a React component, thinking...
Freezing User-Agent Strings
3.2.2020
There's been news about Chrome freezing their User-Agent string (and all other major browsers are on board). That means they'll still have a User-Agent (UA) string (that comes across in headers and is available in JavaScript as navigator.userAgent. By freezing it, it will be less useful over time...
How to Create an Animated Countdown Timer With HTML, CSS and JavaScript
3.2.2020
Have you ever needed a countdown timer on a project? For something like that, it might be natural to reach for a plugin, but it’s actually a lot more straightforward to make one than you might think and only requires the trifecta of HTML, CSS and JavaScript. Let’s make one together!
This is what...
Get Moving (or not) with CSS Motion Path
3.2.2020
We just linked up the idea that offset-path can be cleverly used to set type on a path. Don't miss Michelle Barker's experimentation either, with drawing paths or animating text along a path.
Dan Wilson has also been following this tech for quite a while and points out why the sudden surge...
Full Stack Panic
1.2.2020
A new podcast from Sean Fioritto inspired by Joel Califa's term "Full Stack Anxiety".
... the little voice in your head says ... “I should know all of this. Do I even know what I'm doing?” Why do web developers the world over feel like this?
There is an episode with Joel talking about it as well...
Innovation Can’t Keep the Web Fast
31.1.2020
Every so often, the fruits of innovation bear fruit in the form of improvements to the foundational layers of the web. In 2015, HTTP/2 became a published standard in an effort to update an aging protocol. This was was both necessary and overdue, as HTTP/1 rendered web performance as an arcane sort...
Smaller HTML Payloads with Service Workers
31.1.2020
Short story: Philip Walton has a clever idea for using service workers to cache the top and bottom of HTML files, reducing a lot of network weight.
Longer thoughts: When you're building a really simple website, you can get away with literally writing raw HTML. It doesn't take long to need a...