Editor's Pick
Accessibility
The WebAIM Million - The 2024 report on the accessibility of the top 1,000,000 home pages
For the sixth consecutive year, WebAIM conducted an accessibility evaluation of the home pages for the top 1,000,000 web sites. The evaluation was conducted using the WAVE stand-alone API (with additional tools to collect site technology and sector data). The results provide an overview of and insight into the current state of web accessibility for individuals with disabilities as well as trends over time.
CSS
Kobold letters - Why HTML emails are a risk to your organization
The email your manager received and forwarded to you was something completely innocent, such as a potential customer asking a few questions. All that email was supposed to achieve was being forwarded to you. However, the moment the email appeared in your inbox, it changed. The innocent pretext disappeared and the real phishing email became visible. A phishing email you had to trust because you knew the sender and they even confirmed that they had forwarded it to you.
This attack is possible because most email clients allow CSS to be used to style HTML emails. When an email is forwarded, the position of the original email in the DOM usually changes, allowing for CSS rules to be selectively applied only when an email has been forwarded.
An attacker can use this to include elements in the email that appear or disappear depending on the context in which the email is viewed. Because they are usually invisible, only appear in certain circumstances, and can be used for all sorts of mischief, I’ll refer to these elements as kobold letters, after the elusive sprites of mythology.
This affects all types of email clients and webmailers that support HTML email. So pretty much all of them. For the moment, however, I’ll focus on selected clients to demonstrate the problem, and leave it to others (or future me) to extend the principle to other clients.
HTML
Maizzle - Quickly build HTML emails with Tailwind CSS
Maizzle is a framework that helps you quickly build HTML emails with Tailwind CSS and advanced, email-specific post-processing.
Email Coding Guidelines: Coding principles for HTML emails
This document aims to address several principles you can apply to code HTML emails. Each guideline is objectively vindicated to comply with modern email clients and with graceful degradation in mind for others.
This is a living document and new ideas are more than welcome. Feel free to contribute.
JavaScript
barba.js - Create badass, fluid and smooth transition between your website's pages
barba.js is a small (7kb minified and compressed) and easy-to-use library that helps you create fluid and smooth transitions between your website’s pages. It makes your website run like a SPA (Single Page Application) and help reduce the delay between your pages, minimize browser HTTP requests and enhance your user’s web experience.
JavaScript Visualized - Promise Execution
This guide covers some of the inner workings of Promises, exploring how they leverage concepts like the Microtask Queue and Event Loop to enable non-blocking async code. Follow along with easy-to-understand examples and visualizations.
All Javascript conference talks (+300) from 2023 ordered by the number of views
The talks were presented at conferences like JSConf, JSNation, React Summit, React Native EU, VueJS Amsterdam, TypeScript Congress and many more as well as non-JS related ones like NDC or CppCon to give you a complete overview of the landscape.
jSuites JavaScript Plugins
jSuites is a collection of responsive, cross-platform JavaScript plugins and web components designed for multipurpose use. This suite includes a variety of lightweight, fully responsive JavaScript plugins such as calendars, date pickers, date-time pickers, colour pickers, input masks, and more, catering to diverse web development needs.
tonal: A functional music theory library for Javascript
tonal is a music theory library. Contains functions to manipulate tonal elements of music (note, intervals, chords, scales, modes, keys). It deals with abstractions (not actual music or sound).
tonal is implemented in Typescript and published as a collection of Javascript npm packages.
It uses a functional programing style: all functions are pure, there is no data mutation, and entities are represented by data structures instead of objects.
Miscellaneous
Mental Health in Software Engineering
I want to talk about something we don't discuss enough in our field: the mental health of software engineers, especially those of us who've taken on the challenge of leadership. As a technical co-founder, I've had my struggles with anxiety. It's something that comes with the territory but isn't part of the job description.
Front-end development’s identity crisis
I’m not a “full-stack developer”, regardless of what my last job title says.
I’m not even a front-end developer, thanks to the JavaScript–industrial complex.
I’m a front-of-the-front-end developer, but that’s too long.
So, I’m a web designer. And I also specialise in accessibility, design systems, and design.