Search
Why isn’t it <style src=””>?
10.12.2018
The way JavaScript works is we can do scripts as an inline block:
<script>
let foo = "bar";
</script>
Or, if the script should be fetched from the network...
<script src="/js/global.js"></script>
With CSS, we can do an inline block of styles:
<style>
.foo...
An Introduction and Guide to the CSS Object Model (CSSOM)
10.12.2018
If you've been writing JavaScript for some time now, it's almost certain you've written some scripts dealing with the Document Object Model (DOM). DOM scripting takes advantage of the fact that a web page opens up a set of APIs (or interfaces) so you can manipulate and otherwise deal with elements...
Google Labs Web Components
10.12.2018
I think it's kinda cool to see Google dropping repos of interesting web components. It demonstrates the possibilities of cool new web features and allows them to ship them in a way that's compatible with entirely web standards.
Here's one: <two-up>
I wanted to give it a try, so I linked...
What do you name color variables?
7.12.2018
What naming scheme do you use for color variables? Have you succeeded at writing CSS that uses color variables in a manner agnostic to the colors they represent?I've tried all of the following, and I have yet to succeed at writing CSS that works well with any color scheme....
Accessible SVG Icons With Inline Sprites
7.12.2018
This is a great look at accessible SVG markup patterns by Marco Hengstenberg. Here's the ideal example:
<button type="button">
Menu
<svg class="svg-icon"
role="img"
height="10"
width="10"
viewBox="0 0 10 10"
aria-hidden="true"
focusable="false">
...
Compound Components in React Using the Context API
7.12.2018
Compound components in React allow you to create components with some form of connected state that’s managed amongst themselves. A good example is the Form component in Semantic UI React.
To see how we can implement compound components in a real-life React application, we’ll build a compound...
Edge’s Announcements
6.12.2018
The public-consumption blog post:
Ultimately, we want to make the web experience better for many different audiences. People using Microsoft Edge (and potentially other browsers) will experience improved compatibility with all web sites, while getting the best-possible battery life and hardware...
Browser Diversity Commentary, Regarding the Edge News
6.12.2018
Still no word from the horse's mouth about the reported EdgeHTML demise, but I hear that's coming later today. The blog posts are starting to roll in about the possible impact of this though.
Andre Garzia: While we Blink, we loose the Web:
Even though Opera, Beaker and Brave are all doing very good...
DRY State Switching With CSS Variables: Fallbacks and Invalid Values
6.12.2018
This is the second post in a two-part series that looks into the way CSS variables can be used to make the code for complex layouts and interactions less difficult to write and a lot easier to maintain. The first installment walks through various use cases where this technique applies. This post...
CSS Selectors are Conditional Statements
6.12.2018
foo {
}
Programmatically, is:
if (element has a class name of "foo") {
}
Descendent selectors are && logic and commas are ||. It just gets more complicated from there, with things like combinators and pseudo selectors. Just look at all the ways styles can cascade.
Jeremy Keith:
If...
The Software We Pay For
5.12.2018
We did a Web Developer Economics series a few years ago, where we looked at the various costs of being a web developer:
Web Developer Economics: One-Off Software Costs
Web Developer Economics: Hardware Costs
Web Developer Economics: Monthly Service Costs
Web Developer Economics: The Wrapup
I'm...
DRY Switching with CSS Variables: The Difference of One Declaration
5.12.2018
This is the first post of a two-part series that looks into the way CSS variables can be used to make the code for complex layouts and interactions less difficult to write and a lot easier to maintain. This first installment walks through various use cases where this technique applies. The second...
The All Powerful Front-End Developer
5.12.2018
I posted a video of this talk some months back, but it was nearly an hour and a half long. Here's an updated version that I gave at JAMstack_conf that's only 30 minutes:
The gist is that the front-end stack is wildly powerful these days. Our front-end skillset can be expanded to give us power...
It’s not about the device.
4.12.2018
Ever have that, "Ugighgk, another device to support?!" feeling? Like, perhaps when you heard that wrist devices have browsers? Ethan's latest post is about that.
Personally, the Apple Watch is interesting to me not because it’s a watch. Rather, it’s interesting to me because it’s...
Bridging the Gap Between CSS and JavaScript: CSS Modules, PostCSS and the Future of CSS
4.12.2018
In the previous post in this two-part series, we explored the CSS-in-JS landscape and, we realized not only that CSS-in-JS can produce critical styles, but also that some libraries don’t even have a runtime. We saw that user experience can significantly improve by adding clever optimizations, which...
Sayonara Edge
4.12.2018
Sounds like Edge is going to spin down EdgeHTML, the engine that powers edge, and go with Chromium. It's not entirely clear as I write whether the browser will still be called Edge or not. Opera did this same thing in 2013. We'll surely be seeing much more information about this directly from...
Too Much Accessibility
3.12.2018
I like to blog little veins of thought as I see them. We recently linked to an article by Facundo Corradini calling out a tweet of ours where we used an <em> where we probably should have used an <i>.
Bruce Lawson checks if screen readers are the victims of these semantic...
Bridging the Gap Between CSS and JavaScript: CSS-in-JS
3.12.2018
In this article, we’re going to dig into the concept of CSS-in-JS. If you’re already acquainted with this concept, you might still enjoy a stroll through the philosophy of that approach, and you might be even more interested in the next article.
Web development is very interdisciplinary. We’re used...
Blue Beanie Day 2018
30.11.2018
Another year!
You better not cry, you better not shout, I’m telling you why: @BlueBeanieDay is coming Nov. 30! Start sharing your #bbd photos, links, articles, and videos now: https://t.co/3US4vHBsDR#a11y #WebStandards #InclusiveDesign #ProgressiveEnhancement pic.twitter.com/AiV3ktRqka
—...
Nesting Components in Figma
30.11.2018
For the past couple of weeks, I’ve been building our UI Kit at Gusto, where I work, and this is a Figma document that contains all of our design patterns and components so that designers on our team can hop in, go shopping for a component that they need, and then get back to working on the problem...