Web Tools #487 - Autocomplete, CSS Tools, Build Tools, Uncats

Web Tools Weekly
WEB VERSION
Tools for Web Developers

Issue #487 • November 17, 2022

Advertisement
Turn Heads on Video with mmhmm
Put yourself on screen with your slides. Move around for emphasis. Works with Zoom, Meet, and other video tools. No learning curve, no fancy equipment needed.

Try mmhmm for Free
mmhmm

The autocomplete HTML attribute, commonly used on form elements to allow the user to autofill fields, is a bit of a quirky one that I'm not sure I fully understand.

First of all, the basic way to add autocomplete to any form field is as follows:

<input type="text" autocomplete="on" id="name">

This uses a value of "on" for the autocomplete attribute, indicating that the browser is permitted to offer suggestions for the user. You can also set it to a value of "off", which I believe is like leaving out the attribute altogether.

The autocomplete suggestions, however, are based on the value of the id attribute (or name attribute, depending on which is used). If you plug this into a live demo and change the id to other values like "address" or "phone", you'll see that the browser will offer suggestions in line with the type of field being used.

Oddly, autocomplete doesn't seem to care what the field's "type" is. For example, you could change the type to "number" and keep the id as "name" and it will still recommend names that have been previously typed, even though none of them can be used.

MDN says regarding autocomplete: "It is available on <input> elements that take a text or numeric value as input, <textarea> elements, <select> elements, and <form> elements."

I understand how autocomplete can function on a parent form element. In that case, it will offer suggestions for different fields in the form. But how does autocomplete work on <select> elements and <textarea> elements?

A <select> element is based on the different values inside the dropdown (i.e. the values stored in the <option> elements). How does autocomplete 'fill' such values for the user? I'm really not sure.

And I've never seen a <textarea> element provide me with any kind of longform text suggestions. Again, how does autocomplete work on this field? In my own testing, nothing seems to happen when using autocomplete on a <textarea> element. So again, I'm puzzled.

One final thing I'll mention that also isn't fully clear how it's supposed to be used is the many other values that autocomplete can accept. These include apparently useful values like:

  • name
  • email
  • one-time-code (for auth codes sent to the user)
  • country
  • cc-number (for credit cards)
  • language
  • sex
There's a whole list of possible values you can read about on MDN's reference. These are supposed to indicate to the user the format of the data that's expected, and therefore the browser is, in theory, supposed to 'recommend' values in line with the given attribute.

In all honesty, I haven't been able to see any difference in the autocomplete suggestions, regardless of which of these special values is used. As a related point, you might want to check out this Tweet from October 2020 by Tomek SuĊ‚kowski where he demonstrates how to use the one-time-code value. While he does provide a live demo to try out, I personally don't see any functional difference between the demo and just using autocomplete with a value of "on".

If anyone has any experience using any of these specialized values, feel free to hit reply and enlighten me. Would love to see some of these in real-world usage!
 

Now on to this week's tools!
 

CSS and HTML Tools

Turn Heads on Video with mmhmm
Put yourself on screen with your slides. Move around for emphasis. Works with Zoom, Meet, and other video tools. No learning curve, no fancy equipment needed.     SPONSORED  

Twix
A CSS-in-JS solution that allows you to style React components using Tailwind CSS classes.

MetaliCSS
A tiny, dependency-free JavaScript library that gives your elements a shiny, metallic look. You can try it out interactively on the page.

Tailwind CSS Variant Generator
An online generator that lets you produce 'variant' classes for Tailwind components. Similar to the idea of OOCSS where you have base styles, then the variations, to avoid repeating classes.

Devices.css
Modern electronic devices built with pure CSS. Includes smart phones, laptops, desktops, tablets, and smart watches.

html.to.design
Figma plugin to convert any website into a fully editable Figma design. Might be useful for inspiration from other sites or for tweaking the design of an older project.

Bolt.css
A class-less HTML framework that provides a set of opinionated but reasonable default styles for your HTML elements.

ColorKit
A set of 10+ tools and other color-related resources to help you build custom color palettes, explore gradients, generate shades, and lots more.

ColorKit

mux-elements
A set of custom elements for working with media in the browser. Includes a video player, audio player, along with React equivalents, and more.

SmartShape
A polygon that can be attached to any HTML node to create interactive vector shapes for the web.

Content Parser
An online tool to instantly extract markdown, HTML, or text from content-heavy websites.

wc-pie-chart
A web component that displays simple pie charts or donut charts, based on data you plug into the component's attributes.
 

Build Tools, Bundlers, etc.

The Invisible Mobile App Revenue Thief
Reverse engineers can easily modify, repackage, and distribute modded versions of your freemium app. To stop users from bypassing premium features and blocking ads, join our webinar to learn practical mobile app security tips.    SPONSORED  

Hadmean
Generate powerful, fully functional, ready-to-be-deployed admin apps in seconds with no JavaScript, no SQL, no components, no tutorials, and zero maintenance.

Reflame
Provides a powerful toolset to deploy previews and production for React apps in milliseconds.

eslint-plugin-vue
Official ESLint plugin for use in Vue.js projects.

Yarn Lock Changes
Creates a comment inside pull requests with a human-readable summary of the changes to your yarn.lock file. Works in public and private repos with some optional customizations.

Turbo
An incremental bundler (the successor to Webpack) and build system optimized for JavaScript and TypeScript, written in Rust.

Turbo

Release
A minimalistic, opinionated, and predictable release automation tool. Think Prettier but for automated releases.

eslint-plugin-validate-jsx-nesting
An ESLint plugin to validate JSX nestings so that the rendered HTML doesn't have a different structure.

Electron Packager
A popular tool to package your Electron app into OS-specific bundles (.app, .exe, etc.) via JavaScript or the command line.

Fast Node Manager
A fast, simple, and cross-platform Node.js version manager, built in Rust, that works with .node-version and .nvmrc files.

On the Release Radar:

The Uncategorizables

The Invisible Mobile App Revenue Thief
Reverse engineers can easily modify, repackage, and distribute modded versions of your freemium app. To stop users from bypassing premium features and blocking ads, join our webinar to learn practical mobile app security tips.    SPONSORED  

Nabla
An isometric color font Inspired by vintage computer games.

Robot Framework
A generic open-source automation framework that can be used for test automation and robotic process automation (RPA).

SelfGuard
Encryption APIs and tooling to allow web2/3 developers to build enhanced and secure UI/UX.

Hack Club Sprig
Learn to code by making games in a JavaScript web-based game editor.

Runme
Use dev-native markdown to craft interactive runbooks for VS Code.

Runme

Kill Bill
An open-source platform to automate your team's most complex billing problems.

Replit Mobile
Official iOS and Android apps for Replit, the popular code collaboration tool.

Dev Army Knife
A one-stop location for carrying out various dev-related tasks, including QR and barcode generators, cryptography tools, image compression, and more.

Konbert
An online data converter to convert files from Excel, CSV, TSV, JSON, and more to MySQL, PostgreSQL, SQLite, etc.

workerd
A JavaScript / WebAssembly server runtime based on the same code that powers Cloudflare Workers.

chatwoot
An open-source customer engagement suite built in Ruby, as an alternative to Intercom, Zendesk, Salesforce Service Cloud, etc.
 

Commercial Apps and Classifieds

These are commercial apps, affiliate links, PPC ads, and paid classifieds. Submit yours!
Sendfly – Add contact forms to your website with no back-end coding required.
Emailify – Design and export responsive HTML emails, directly from Figma.
Noom – A digital health platform that allows you to better understand yourself.    AD
.ART Domains – Stand out in the creative community with .ART, the art world's favorite domain.    AD
UX-App – No-code platform to create fully interactive prototypes with real HTML components.
Obsidian – A powerful knowledge base that works on top of your local folder of plain text files.
Loggify – A release note communication pipeline that integrates with many existing tools.

A Tweet for Thought

Suhail out here dropping truth bombs on Twitter.
 
A Tweet for Thought
 

Send Me Your Tools!

Made something? Send links via Direct Message on Twitter @WebToolsWeekly (details here). No tutorials or articles, please. If you have any suggestions for improvement or corrections, feel free to reply to this email.
 

Before I Go...

Someone finally built RunPee, a mobile app that tells you the best time to "run and pee" during a movie so you don’t miss the best scenes.

Thanks to everyone for subscribing and reading!

Keep tooling,
Louis
@WebToolsWeekly
PayPal.me/WebToolsWeekly

Older messages

Web Tools #486 - Future CSS, Frameworks, Media, React

Thursday, November 10, 2022

Web Tools Weekly WEB VERSION Issue #486 • November 10, 2022 Advertisement Get Early Access to TelemetryHub! TelemetryHub is an observability tool that collects all your complex telemetry data into a

Web Tools #485 - CSS Tools, Build Tools, React Native

Thursday, November 3, 2022

Web Tools Weekly WEB VERSION Issue #485 • November 3, 2022 Advertisement Stop Leaving Your // Todos for Dead 💀 Height's Code to Task feature automatically turns your // todo code comments into

Web Tools #484 - JS Libraries, Testing Tools, Uncats

Thursday, October 27, 2022

Web Tools Weekly WEB VERSION Issue #484 • October 27, 2022 Advertisement Get Early Access to TelemetryHub! TelemetryHub is an observability tool that collects all your complex telemetry data into a

Web Tools #483 - VSCode Updates, Frameworks, Git/CLI, JS Utils

Thursday, October 20, 2022

Web Tools Weekly WEB VERSION Issue #483 • October 20, 2022 Advertisement Meet the Tesla of Productivity Apps Sunsama helps you prioritize and focus on the work that matters, instead of dumping

Web Tools #482 - Code From Hell, CSS Tools, Media, React

Thursday, October 13, 2022

Web Tools Weekly WEB VERSION Issue #482 • October 13, 2022 Advertisement Powerful Application Monitoring! Easily analyze increased response time with intuitive dashboards that help you drill down into

You Might Also Like

📧 Building Async APIs in ASP.NET Core - The Right Way

Saturday, November 23, 2024

​ Building Async APIs in ASP .NET Core - The Right Way Read on: m​y website / Read time: 5 minutes The .NET Weekly is brought to you by: Even the smartest AI in the world won't save you from a

WebAIM November 2024 Newsletter

Friday, November 22, 2024

WebAIM November 2024 Newsletter Read this newsletter online at https://webaim.org/newsletter/2024/november Features Using Severity Ratings to Prioritize Web Accessibility Remediation When it comes to

➡️ Why Your Phone Doesn't Want You to Sideload Apps — Setting the Default Gateway in Linux

Friday, November 22, 2024

Also: Hey Apple, It's Time to Upgrade the Macs Storage, and More! How-To Geek Logo November 22, 2024 Did You Know Fantasy author JRR Tolkien is credited with inventing the main concept of orcs and

JSK Daily for Nov 22, 2024

Friday, November 22, 2024

JSK Daily for Nov 22, 2024 View this email in your browser A community curated daily e-mail of JavaScript news React E-Commerce App for Digital Products: Part 4 (Creating the Home Page) This component

Spyglass Dispatch: The Fate of Chrome • Amazon Tops Up Anthropic • Pros Quit Xitter • Brave Powers AI Search • Apple's Lazy AI River • RIP Enrique Allen

Friday, November 22, 2024

The Fate of Chrome • Amazon Tops Up Anthropic • Pros Quit Xitter • Brave Powers AI Search • Apple's Lazy AI River • RIP Enrique Allen The Spyglass Dispatch is a free newsletter sent out daily on

Charted | How the Global Distribution of Wealth Has Changed (2000-2023) 💰

Friday, November 22, 2024

This graphic illustrates the shifts in global wealth distribution between 2000 and 2023. View Online | Subscribe | Download Our App Presented by: MSCI >> Get the Free Investor Guide Now FEATURED

Daily Coding Problem: Problem #1616 [Easy]

Friday, November 22, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Alibaba. Given an even number (greater than 2), return two prime numbers whose sum will

The problem to solve

Friday, November 22, 2024

​ Use problem framing to define the problem to solve This week, Tom Parson and Krishna Raha share tools and frameworks to identify and address challenges effectively, while Voltage Control highlights

Issue #568: Random mazes, train clock, and ReKill

Friday, November 22, 2024

View this email in your browser Issue #568 - November 22nd 2024 Weekly newsletter about Web Game Development. If you have anything you want to share with our community please let me know by replying to

Whats Next for AI: Interpreting Anthropic CEOs Vision

Friday, November 22, 2024

Top Tech Content sent at Noon! How the world collects web data Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, November 22, 2024? The HackerNoon