Latest Posts

Making Alix, a Chrome Extension for Linting HTML

Last week, I wrote about how you can use CSS selectors to help lint your HTML. The general idea behind this concept was that we can use some of the more advanced CSS selectors, such as :not(), to select certain types of elements in the document. For example, we can...

Linting HTML using CSS

When HTML is written incorrectly, nothing much happens. Because of this, it's easy to have invalid, unsemantic, or unaccessible bits in markup without it being obvious. There are many ways we can lint our HTML to discover and fix these issues, for example using the W3C Markup Validation Service. Another...

Asynchronous vs Deferred JavaScript

In my article on Understanding the Critical Rendering Path, I wrote about the effect JavaScript files have on the Critical Rendering Path. JavaScript is considered a "parser blocking resource". This means that the parsing of the HTML document itself is blocked by JavaScript. When the parser reaches a <script&...

Optimising GIFs for the Web

Like a lot of people, I like GIFs. I like to use them in my articles to illustrate functionality. For example, this GIF from my article on "Recreating the iTunes Library" - However, a problem with this is that GIFs are heavy, the one above is a whopping 11.4...