Editor's Pick
The Road to Accessible Drag and Drop (Part 1)
Welcome to the first in a mini-series of articles where I’ll be exploring solutions for truly accessible drag and drop.
This implies a good deal more than simply, keyboard accessible.
It should also be fully accessible and understandable for screen reader users, with strong semantics and state information that fit the interaction model. It should work with voice control, or with any assistive technology that generates simulated pointer input, or virtual keystrokes. It may need to accommodate gesture navigation that’s used with mobile screen readers. And it must conform to 2.5.7 Dragging Movements.
There’s no established best-practice here, with a lot of stuff to consider.
Also see the following:
The Road to Accessible Drag and Drop (Part 2) discusses techniques and solutions, including production-ready (and CC licensed) demos.
The Road to Accessible Drag and Drop (Part 3) is reference documentation, with everything you need to configure and use the script.
Accessibility
Developing with Accessibility in Mind at Microsoft
Learn how you can support the Global Accessibility Awareness Day GAAD by using tools like Accessibility Insights & Visual Studio to find accessibility issues in development.
The Road to Accessible Drag and Drop (Part 1)
Welcome to the first in a mini-series of articles where I’ll be exploring solutions for truly accessible drag and drop.
This implies a good deal more than simply, keyboard accessible.
It should also be fully accessible and understandable for screen reader users, with strong semantics and state information that fit the interaction model. It should work with voice control, or with any assistive technology that generates simulated pointer input, or virtual keystrokes. It may need to accommodate gesture navigation that’s used with mobile screen readers. And it must conform to 2.5.7 Dragging Movements.
There’s no established best-practice here, with a lot of stuff to consider.
Also see the following:
The Road to Accessible Drag and Drop (Part 2) discusses techniques and solutions, including production-ready (and CC licensed) demos.
The Road to Accessible Drag and Drop (Part 3) is reference documentation, with everything you need to configure and use the script.
CSS
CSS Cap Unit
While I was working on a recent article on the gap property, I needed to place a box between two words and keep it aligned. I thought about a way to size the box to be equal to the capital letter height. After some research, I found the cap unit and it worked as expected. In this article, I will demonstrate the problem and how I solved it.
JavaScript
liquidui: LiquidUI Component makes it easy to create a shaking UI in React application.
With the LiquidUI Component, you can implement UI elements with Liquid-like shaking animation in a short time.
Sneaky React Memory Leaks II: Closures Vs. React Query
This is a follow-up to “Sneaky React Memory Leaks: How useCallback and closures can bite you”. See that post for a general introduction to closures and memory leaks in React.
In this post, I will show you how React Query can lead to memory leaks due to closures as well. I will explain why this happens and how to fix it.
Promises From The Ground Up
The “Promises” API is a surprisingly tricky part of modern JavaScript. Without the right context, it doesn’t make much sense at all! In this tutorial, you’ll build an intuition for how Promises work by getting a deeper understanding of JavaScript and its limitations.
Journey.js - JavaScript Guided Tour
A powerful, customizable, and accessible guided tour creator. With tons of settings, Journey.js can be tailored to suit your every need. Lightweight.
Vue Mess Detector
A static code analysis tool for detecting code smells and best practice violations in Vue.js and Nuxt.js projects.
mitosis: Write components once, run everywhere. Compiles to React, Vue, Qwik, Solid, Angular, Svelte, and more.
Mitosis provides a unified development experience across all frameworks, enabling you to build components in a single codebase and compile them to React, Vue, Angular, Svelte, Solid, Alpine, Qwik, and more.
Using Mitosis, you can:
- Maintain a consistent design system across multiple frameworks (example)
- Sync your design systems from Figma to code and publish them to npm across frameworks
- Avoid the pitfalls of web components by compiling to native framework code
UX
Government Design Principles
The UK government's design principles and examples of how they've been used.
Decision Trees For UI Components
Imagine finally resolving never-ending discussions about UI decisions for good. Here are some practical examples of decision trees for UI components and how to use them effectively. An upcoming part of Smart Interface Design Patterns.
Miscellaneous
Wired Elements
A set of common UI elements with a hand-drawn, sketchy look. These can be used for wireframes, mockups, or just the fun hand-drawn look.
The elements are drawn with enough randomness that no two renderings will be exactly the same — just like two separate hand-drawn shapes.
Remote ONLY specialty job board list
Curated directory of 50 active REMOTE ONLY job boards (tech and dev focused).
Frontend Interview HandBook
This guidebook is designed to assist busy engineers in navigating the complexities of preparing for and acing frontend interviews. It will provide you with all the tools you need to succeed and thrive. The primary goal is to help engineers land their dream jobs, but more importantly, to build a community of frontend developers who can share their own tips on succeeding in a fast-changing industry.
Interviews Live Copilot - Your AI wingman for nailing any job interview
Never miss a beat during your interview. AI-powered Copilot provides real-time suggestions and live transcription to help you stay on track during your interview and make a lasting impression.