Search
Custom Styling Form Inputs With Modern CSS Features
7.2.2020
It’s entirely possible to build custom checkboxes, radio buttons, and toggle switches these days, while staying semantic and accessible. We don’t even need a single line of JavaScript or extra HTML elements! It’s actually gotten easier lately than it has been in the past. Let’s take a look.
Here’s...
Getting Fancy with position: sticky;
7.2.2020
Mike Solomon worked on a fancy scrollytelling post for Esquire and blogged about it. It has GIFs of each step along the way of figuring out not just position: sticky; but also using negative margins, wrapper divs, backgrounds, and even a smidge of JavaScript measuring to get it all right.
What...
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...
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...
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...
Collective #586
3.2.2020
iHateRegex * Old CSS, new CSS * Vanilla Web Projects * coders.guide * Responsive, JavaScript-free charts
Collective #586 was written by Pedro Botelho and published on Codrops
Understanding Immutability in JavaScript
30.1.2020
If you haven’t worked with immutability in JavaScript before, you might find it easy to confuse it with assigning a variable to a new value, or reassignment. While it’s possible to reassign variables and values declared using let or var, you'll begin to run into issues when you try that with...
Practice GraphQL Queries With the State of JavaScript API
29.1.2020
Learning how to build GraphQL APIs can be quite challenging. But you can learn how to use GraphQL APIs in 10 minutes! And it so happens I've got the perfect API for that: the brand new, fresh-of-the-VS-Code State of JavaScript GraphQL API.
The State of JavaScript survey is an annual survey of...
Apollo GraphQL without JavaScript
29.1.2020
It's cool to see progressive enhancement being done even while using the fanciest of the fancy front-end technologies.
This is a button in a JSX React component that has a click handler applied directly to it that fires a data mutation Ajax request through Apollo GraphQL. That is about the least...
Bundling JavaScript for Performance: Best Practices
24.1.2020
Performance advice from David Calhoun on how many scripts to load on a page for best performance:
[...] some of your vendor dependencies probably change slower than others. react and react-dom probably change the slowest, and their versions are always paired together, so they...
Searching the Jamstack
22.1.2020
Here's Raymon Camden on adding site search functionality to a site that is statically hosted. A classic trick! Just shoot 'em to Google and scope the results to your site:
<form action="https://www.google.com/search" method="get"<input type="search" name="q"...
JAMstack vs. Jamstack
21.1.2020
It's just a word to evoke the idea that serving as much as you can statically while using client-side code and hitting serverless APIs for any needs after that.
The "official website" changed their language from JAMstack (evoking the JavaScript, APIs, and Markup acronym) to Jamstack. It's nothing...
Getting Started with Front End Testing
20.1.2020
Amy Kapernick covers four types of testing that front-end devs could and should be doing:
Linting (There's ESLint for JavaScript and Stylelint or Prettier for CSS.)
Accessibility Testing (Amy recommends pa11y, and we've covered Axe.)
Visual Regression Testing (Amy recommends Backstop, and we've...
Eleventy Love
17.1.2020
Been seeing a lot of Eleventy action lately. It's a smaller player in the world of static site generators, but I think it's got huge potential because of how simple it is, yet does about anything you'd need it to do. It's Just JavaScript™.
Jason Lengstorf and Zach Leatherman did a Learn...
Autumn (macOS window manager)
17.1.2020
I love how nerdy this is. Autumn allows you to write JavaScript to control your windows. Get this window, move it over here. Nudge this window over. There are all sorts of APIs, like keyboard command helpers and doing things on events, like waking up from sleep.
I love that it exists, but for...
A Trick That Makes Drawing SVG Lines Way Easier
14.1.2020
When drawing lines with SVG, you often have a <path> element with a stroke. You set a stroke-dasharray that is as long as the path itself, as well as a stroke-offset that extends so far that you that it's initially hidden. Then you animate the stroke-offset back to 0 so you can watch...
Netlify High-Fives
14.1.2020
We've got Netlify as a sponsor around here again this year, which is just fantastic. Big fan. Our own Sarah Drasner is Head of DX (Developer Experience) over there, if you hadn't heard. And if you haven't heard of Netlify, well, you're in for a treat. It's a web host, but for your jamstack sites...
Snowpack
14.1.2020
Snowpack. Love that name. This is the new thing from the Pika people, who are on to something. It's a bundler alternative, in a sense. It runs over packages you pull from npm to make sure that they are ES module-compatible (native imports).
This is how I digest it. When you write a line of code...
White House Market Wants to Become the Darknet’s Toughest DNM
13.1.2020
White House Market (WHM) is an ultra-secure darknet market (DNM). It disallows Javascript, enforces PGP throughout, admins key sign every 72 hours, and only accepts monero (XMR). It might be the darknet’s most private market. But do its vendors deliver? News.Bitcoin.com dusted down some...